chiark / gitweb /
bin/mdw-build: Support interim Debian package versions.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 30 Sep 2019 01:51:14 +0000 (02:51 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 30 Sep 2019 01:51:14 +0000 (02:51 +0100)
If the Debian version in the changelog ends with `~' then append the Git
version to this to form the synthetic version.  This will make a Debian
version number which is correctly slightly short of the target release
version.

bin/mdw-build

index 2bb7bb1c1fbd6f2a93a02e254d6e87c4a54f3ded..2af71e34087f55e7ace8a13eb0347a125e2188b5 100755 (executable)
@@ -289,7 +289,7 @@ case "$debian,$(yesno [ -d $srcpath/debian ])" in
     debver=none
     ;;
   yes,yes)
-    debver=$(dpkg-parsechangelog | sed -n 's/^Version: //p' | tr \~ -)
+    debver=$(dpkg-parsechangelog | sed -n 's/^Version: //p')
     debsrc=$(dpkg-parsechangelog | sed -n 's/^Source: //p')
     debname=$(git config user.name) debemail=$(git config user.email)
     ;;
@@ -303,19 +303,26 @@ case "$checkout" in
     assign srcpath $releasepath/_source
     cd $srcpath
     run git checkout -b mdw-build $checkoutrev
-    gitver=$(git describe --abbrev=4)
+    assign gitversion "$(git describe --abbrev=4)"
     ;;
 esac
 
 ## Check the version number.
 hack_dch_p=no
-case "$gitver,$debver" in
+case "$gitversion,$debver" in
   none,* | *,none)
     ;;
   *)
-    if [ "$gitver" != "$debver" ]; then
-      warn "Git version $gitver doesn't match Debian version $debver"
+    dvref=$(echo "$debver" | tr '~' '_')
+    if [ "$gitversion" = "$dvref" ]; then
+      assign debversion "$debver"
+    else
+      warn "Git version $gitversion doesn't match Debian version $debver"
       hack_dch=yes
+      dver=$(echo $gitversion | sed 's/-/+/; s/-/./g')
+      case $debver in *~) dver=$debver$dver ;; esac
+      assign debversion "$dver"
+      now=$(date -R)
     fi
     ;;
 esac
@@ -393,10 +400,8 @@ case "$debian" in
     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
+$debsrc ($debversion) experimental; urgency=low
 
   * Hacking in process, not intended for release.