bin/mdw-build: Hack the Debian version number when doing test builds.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 26 May 2015 13:51:35 +0000 (14:51 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 26 May 2015 13:51:35 +0000 (14:51 +0100)
This makes the packages actually installable without hopeless pain.

bin/mdw-build

index 1926ac0..1c51085 100755 (executable)
@@ -217,7 +217,7 @@ case "$checkout,$setup,$(yesno [ -d $srcpath/.git ])" in
     cd $srcpath
     [ "$(git ls-files -m)" = "" ] ||
       warn "working tree has uncommitted changes"
-    gitver=$(git describe)
+    gitver=$(git describe --abbrev=4)
 esac
 
 ## Is there Debian build equipment?
@@ -231,16 +231,21 @@ case "$debian,$(yesno [ -d $srcpath/debian ])" in
     ;;
   yes,yes)
     debver=$(dpkg-parsechangelog | sed -n 's/^Version: //p' | tr \~ -)
+    debsrc=$(dpkg-parsechangelog | sed -n 's/^Source: //p')
+    debname=$(git config user.name) debemail=$(git config user.email)
     ;;
 esac
 
 ## Check the version number.
+hack_dch_p=no
 case "$gitver,$debver" in
   none,* | *,none)
     ;;
   *)
-    [ "$gitver" = "$debver" ] ||
+    if [ "$gitver" != "$debver" ]; then
       warn "Git version $gitver doesn't match Debian version $debver"
+      hack_dch=yes
+    fi
     ;;
 esac
 
@@ -317,6 +322,21 @@ case "$debian" in
   yes)
     run tar xvfz $distdir.tar.gz
     cd $distdir
+    case $hack_dch in
+      yes)
+       dver=$(echo $gitver | sed 's/-/+/; s/-/./g')
+       now=$(date -R)
+       cat - debian/changelog >debian/changelog.new <<EOF
+$debsrc ($dver) experimental; urgency=low
+
+  * Hacking in process, not intended for release.
+
+ -- $debname <$debemail>  $now
+
+EOF
+       mv debian/changelog.new debian/changelog
+       ;;
+    esac
     run dpkg-buildpackage -k$(mdw-conf releasekey)
     ;;
 esac