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 +)