]> wagnertech.de Git - projects.git/blobdiff - tools/make/mconfigure
posaune
[projects.git] / tools / make / mconfigure
index a8c7f6e9f54ff097cb92de4e79b60e5445865d2c..244d19b17c6dde26ef218fb1d63516b91064ed56 100755 (executable)
@@ -9,6 +9,7 @@ function echo_usage {
        echo "  -d : compile"
        echo "  -p : pack default: do all"
        echo "  -v : set version"
+       echo "  -V : version set by project"
        echo "  -o : support old Debian 7 format"
 }
 
@@ -80,6 +81,11 @@ function set_build {
        then
                tag=$(git describe --tags --match "${paket}_*" 2>/dev/null) || true
                if test -z "$tag"
+               then
+                       # try generic "v_" tag
+                       tag=$(git describe --tags --match "v_*" 2>/dev/null) || true
+               fi
+               if test -z "$tag"
                then
                        tag="0.0-0TOP"
                fi
@@ -119,6 +125,10 @@ function check_version {
        fi
 }
 
+##############################################################################
+# Main program
+##############################################################################
+
 if [ ! -d debian ]
 then
        echo "run mconfigure in the project base directory with a debian directory in it!"
@@ -128,42 +138,48 @@ fi
 configure=0
 compile=0
 pack=0
-while getopts "a:cC:dpov:" opt; do
-       case $opt in
-               a) ARCH=$OPTARG
-                       ;;
-               c) configure=1
-                       ;;
-               d)      compile=1
-                       ;;
-               C) cross=$OPTARG
-                       ;;
-               p)      pack=1
-                       ;;
-               o)      oldpack="-Zgzip"
-                       ;;
-               v)      optversion=$OPTARG
-                       ;;
-               \?) echo "Invalid option: -$OPTARG"
-                       echo_usage
-                       exit 1
-                       ;;
-               :) echo "Option -$OPTARG requires an argument."
-                       echo_usage
-                       exit 1
-                       ;;
-       esac
+while [ $OPTIND -le "$#" ]
+do
+       if getopts "a:cC:dpov:V" opt
+       then
+               case $opt in
+                       a) ARCH=$OPTARG
+                               ;;
+                       c) configure=1
+                               ;;
+                       d)      compile=1
+                               ;;
+                       C) cross=$OPTARG
+                               ;;
+                       p)      pack=1
+                               ;;
+                       o)      oldpack="-Zgzip"
+                               ;;
+                       v)      optversion=$OPTARG
+                               ;;
+                       V)      optversion="0.0"
+                               ;;
+                       \?) echo "Invalid option: -$OPTARG"
+                               echo_usage
+                               exit 1
+                               ;;
+                       :) echo "Option -$OPTARG requires an argument."
+                               echo_usage
+                               exit 1
+                               ;;
+               esac
+       else
+               paket="${!OPTIND}"
+               eval OPTIND=OPTIND+1
+       fi
 done
-shift $((OPTIND -1))
 
-if [ $# -lt 1 ]
+if [ -z "$paket" ]
 then
        echo_usage
        exit 1
 fi
 
-paket=$1
-
 if [ -n "$ARCH" -a -n "$cross" ]
 then
        echo "invalid options: supply -a for multiarch or -C for explicit cross compile environment"
@@ -233,7 +249,7 @@ then
 #      pwd=${pwd,,*}
 #      echo "pwd=$pwd" >> debian/rules.pre
 
-       echo "building $paket with build $version-$build"
+       echo "building $paket with version/build=$version-$build"
 
        pushd debian >/dev/null
        # ./debian -------------------------------------
@@ -246,7 +262,6 @@ then
        fi
 
        # check for pre/post installation scripts
-       echo "TODO: check for conffiles"
        if [ -f $paket.preinst ]
        then
                echo "add_inst_tgt += debian/tmp/DEBIAN/preinst" >> rules.pre
@@ -340,7 +355,7 @@ then
                        echo 'arch = ${DEB_HOST_ARCH}' >> debian/rules.pre
                        echo "BINARY_ARCH = copy ../${paket}_$version-${build}_"'$(arch).deb' >> debian/rules.pre
                fi
-               if ! [ -f $paket.changelog ]
+               if ! [ -f debian/$paket.changelog ]
                then
                        echo "changelog_source = debian/default.changelog" >> debian/rules.pre
                        if [ -f debian/default.changelog ]