function echo_usage {
echo "usage: mconfigure <package> [options]"
echo " -a <arch>"
+ echo " -p : prepare build, but not do it"
}
function set_build {
if [ -e .svn ]
then
+ version="0.0"
build=$(svnversion)
elif [ -e .git ]
then
- build=$(git describe --tags 2>/dev/null) || true
- if test -z "$build"
+ tag=$(git describe --tags 2>/dev/null) || true
+ if test -z "$tag"
then
- build="0.0-TOP"
+ tag="0.0-TOP"
fi
changes=$(git status -s |grep "^ *M") || true
- if test -z "$changes"
+ if test -n "$changes"
then
- build="${build}M"
+ tag="${tag}M"
fi
+ version=${tag%-*}
+ build=${tag#*-}
fi
}
+function check_version {
+ if [ $version = "0.0" ]
+ then
+ return
+ fi
+ vline=$(head -1 debian/$paket.changelog)
+ vline=${vline%-*}
+ clversion=${vline#*(}
+ if [ "$clversion" != $version ]
+ then
+ echo "version mismatch: git: $version, changelog: $clversion"
+ exit 1
+ fi
+}
# to build a package you need ...
# <package>.cp (optional): copy step for package production
# <package>.cpp.sh (optional): commands to setup the C++ compile environment
exit 2
fi
-export paket=$1
+echo "export paket=$1" > debian/setenv.sh
shift
ARCH=""
cpp_build=0
set_build
-export build
+check_version
+echo "export version=$version" >> debian/setenv.sh
+echo "export build=$build" >> debian/setenv.sh
# get repository name
tmp=$(pwd)
-export pwd=${tmp##*/}
-
-echo "building $paket with build $build"
-
-#while getopts ":a" opt; do
-# case $opt in
-# a) ARCH=$OPTARG
-# ;;
-# \?) echo "Invalid option: -$OPTARG"
-# echo_usage
-# exit 1
-# ;;
-# :) echo "Option -$OPTARG requires an argument."
-# echo_usage
-# exit 1
-# ;;
-# esac
-#done
+pwd=${tmp##*/}
+echo "export pwd=$pwd" >> debian/setenv.sh
+
+echo "building $paket with build $version-$build"
+
+prepare=0
+while getopts ":ap" opt; do
+ case $opt in
+ a) ARCH=$OPTARG
+ ;;
+ p) prepare=1
+ ;;
+ \?) echo "Invalid option: -$OPTARG"
+ echo_usage
+ exit 1
+ ;;
+ :) echo "Option -$OPTARG requires an argument."
+ echo_usage
+ exit 1
+ ;;
+ esac
+done
#
## clean dirs and check out
#if [ -d build -a $delete_src -eq 1 ]
popd >/dev/null
+if [ $prepare = 1 ]
+then
+ exit 0
+fi
+
# build package
+. debian/setenv.sh
debian/rules binary
## check for copy file