diff --git a/packaging_scripts/build_debian_locally_on_ubuntu.sh b/packaging_scripts/build_debian_locally_on_ubuntu.sh
new file mode 100755
index 0000000000000000000000000000000000000000..4cebfaa8b70bfe916688580efe08bf50f5b9d025
--- /dev/null
+++ b/packaging_scripts/build_debian_locally_on_ubuntu.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+(
+    cd ..
+    debuild -uc -us | tee $0.log
+)
diff --git a/packaging_scripts/build_debian_using_bzr.sh b/packaging_scripts/build_debian_using_bzr.sh
new file mode 100755
index 0000000000000000000000000000000000000000..fecfe77292219d9d17c2da00ccfb9918774adc8b
--- /dev/null
+++ b/packaging_scripts/build_debian_using_bzr.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+# This script is for launchpad.
+(
+set -e
+set -o xtrace
+cd ..
+cat > moose.recipe <<EOF
+# bzr-builder format 0.3 deb-version {debupstream}+{revno}
+lp:moose
+EOF
+# one can do nesting here.
+if [ $# -gt 0 ]; then
+    if [[ "$1" == "update" ]]; then
+        echo "Fetching repo and creating tar-ball"
+        bzr dailydeb --allow-fallback-to-native moose.recipe .. | tee $0.log
+    elif [[ "$1" == "pbuilder" ]]; then
+        bzr dailydeb --allow-fallback-to-native moose.recipe .. | tee $0.log
+        sudo -E pbuilder build ../*.dsc | tee $0.log
+        exit
+    fi
+fi
+
+tarFile=`find .. -type f -maxdepth 1 -name "moose_3.0*.tar.gz"`
+echo "Found tarfiles are $tarFile"
+if [[ ! $tarFile ]]; then
+    echo "I could not file a tar.gz file. Can't continue"
+    echo "++ Cleaning previous mess"
+    rm -rf ../moose_3.0* ../moose-{*
+    echo "++ Let me download a fresh one"
+    bzr dailydeb --allow-fallback-to-native moose.recipe .. | tee $0.log
+fi
+
+rm -f moose.recipe
+echo "Building debian package"
+bzr builddeb -- -uc -us | tee $0.log
+)
diff --git a/packaging_scripts/build_pypi.sh b/packaging_scripts/build_pypi.sh
new file mode 100755
index 0000000000000000000000000000000000000000..9071bfefe14835f165cfe5d9eb6b6e9ea21782cb
--- /dev/null
+++ b/packaging_scripts/build_pypi.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+set -e
+# This creates a package for pip. For testing purpose
+moose_dir=moose-3.0
+( 
+    cd ..  
+    svn export --force . scripts/$moose_dir 
+)
+(
+    cp setup.py $moose_dir/
+    cd $moose_dir
+    echo "Creating new archive"
+    if [ -f dist/$moose_dir.tar.gz ]; then
+        rm -f dist/*.tar.gz
+    fi
+    python setup.py sdist -vv | tee $0.log
+    echo "Created new archive"
+    sudo pip install dist/*.tar.gz --no-clean | tee $0.log
+    echo "Do the rest in $moose_dir"
+)
diff --git a/packaging_scripts/cmake_sanity_check.py b/packaging_scripts/cmake_sanity_check.py
new file mode 100755
index 0000000000000000000000000000000000000000..e39e6d8ae18c19932b043fa02a78175ce7a80f70
--- /dev/null
+++ b/packaging_scripts/cmake_sanity_check.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+"""cmake_sanity_check.py: Check if Cmake files are ok.
+
+Last modified: Sat Jan 18, 2014  05:01PM
+
+"""
+    
+__author__           = "Dilawar Singh"
+__copyright__        = "Copyright 2013, Dilawar Singh and NCBS Bangalore"
+__credits__          = ["NCBS Bangalore"]
+__license__          = "GNU GPL"
+__version__          = "1.0.0"
+__maintainer__       = "Dilawar Singh"
+__email__            = "dilawars@ncbs.res.in"
+__status__           = "Development"
+
+import sys
+import os
+import re
+from collections import defaultdict
+
+makefiles = {}
+cmakefiles = {}
+makedirs = set()
+cmakedirs = set()
+
+def check(d):
+    searchMakefiles(d)
+    checkMissingCMake()
+    checkSrcs()
+
+def checkMissingCMake():
+    if (makedirs - cmakedirs):
+        print("[Failed] Test 1")
+        print("Following directories have Makefile but not a CMakeFiles.txt file.")
+        print("%s" % "\t\n".join(makedirs - cmakedirs))
+
+def searchMakefiles(d):
+    for d, subd, fs in os.walk(d):
+        if "CMakeLists.txt" in fs:
+            cmakedirs.add(d)
+            cmakefiles[d] = fs
+        if "Makefile" in fs:
+            makedirs.add(d)
+            makefiles[d] = fs
+        else: pass
+
+def checkSrcs():
+    objPat = re.compile(r"\w+\.o")
+    srcPat = re.compile(r"\w+\.cpp")
+    srcs = []
+    csrcs = []
+    for d in makefiles:
+        with open(os.path.join(d, "Makefile"), "r") as f:
+            txt = f.read()
+            srcs = objPat.findall(txt)
+        try:
+            with open(os.path.join(d, "CMakeLists.txt"), "r") as f:
+                txt = f.read()
+                csrcs = srcPat.findall(txt)
+        except:
+            print("Dir {} does not have CMakeLists.txt".format(d))
+            csrcs = []
+        #print("[TEST 2] Checking if CMake is creating extra objects")
+        for csr in csrcs:
+            objName = csr.replace(".cpp", ".o")
+            if objName in srcs:
+                pass
+            else:
+                #print(" Failed: In dir {}, CMake is creating extra object {}".format(d, objName))
+
+                pass
+        print("[TEST 3] Checking if CMake is missing some objects")
+        for obj in srcs:
+            srcName = obj.replace(".o", ".cpp")
+            if srcName in csrcs: pass
+            else:
+                print(" Failed: In dir {}, CMake is missing object {}".format(d,
+                    srcName))
+    
+def main():
+    dir = sys.argv[1]
+    check(dir)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/packaging_scripts/moosegui b/packaging_scripts/moosegui
new file mode 100755
index 0000000000000000000000000000000000000000..4d8e95bd443965601c588a356f8a6d688db3ca07
--- /dev/null
+++ b/packaging_scripts/moosegui
@@ -0,0 +1,2 @@
+#!/bin/bash
+( cd /usr/share/moose/gui && python mgui.py )
diff --git a/packaging_scripts/packages_local_using_cmake.sh b/packaging_scripts/packages_local_using_cmake.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3504983ad78ee515eaf2a0e1158d0c7fd84c795a
--- /dev/null
+++ b/packaging_scripts/packages_local_using_cmake.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+set -e
+set -x
+(
+cd ..
+mkdir -p _build
+cd _build
+cmake ..
+make | tee $0.log
+cpack -G DEB
+sudo dpkg -i moose*.deb
+moosegui
+)
diff --git a/packaging_scripts/pbuilder_debian.sh b/packaging_scripts/pbuilder_debian.sh
new file mode 100755
index 0000000000000000000000000000000000000000..fecfe77292219d9d17c2da00ccfb9918774adc8b
--- /dev/null
+++ b/packaging_scripts/pbuilder_debian.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+# This script is for launchpad.
+(
+set -e
+set -o xtrace
+cd ..
+cat > moose.recipe <<EOF
+# bzr-builder format 0.3 deb-version {debupstream}+{revno}
+lp:moose
+EOF
+# one can do nesting here.
+if [ $# -gt 0 ]; then
+    if [[ "$1" == "update" ]]; then
+        echo "Fetching repo and creating tar-ball"
+        bzr dailydeb --allow-fallback-to-native moose.recipe .. | tee $0.log
+    elif [[ "$1" == "pbuilder" ]]; then
+        bzr dailydeb --allow-fallback-to-native moose.recipe .. | tee $0.log
+        sudo -E pbuilder build ../*.dsc | tee $0.log
+        exit
+    fi
+fi
+
+tarFile=`find .. -type f -maxdepth 1 -name "moose_3.0*.tar.gz"`
+echo "Found tarfiles are $tarFile"
+if [[ ! $tarFile ]]; then
+    echo "I could not file a tar.gz file. Can't continue"
+    echo "++ Cleaning previous mess"
+    rm -rf ../moose_3.0* ../moose-{*
+    echo "++ Let me download a fresh one"
+    bzr dailydeb --allow-fallback-to-native moose.recipe .. | tee $0.log
+fi
+
+rm -f moose.recipe
+echo "Building debian package"
+bzr builddeb -- -uc -us | tee $0.log
+)