diff contrib/builddeb @ 26833:6474b64045fb stable

packaging: rework version detection and declaration (issue4912) Previously the -rc in our rc tags got dropped, meaning that those packages looked newer to the packaging system than the later release build. This rectifies the issue, though some damage may already have been done on 3.6-rc builds. I'm mostly cargo-culting the RPM version format - there don't appear to be rules for RPM about how to handle this. Hopefully an RPM enthusiast can fix up what I've done as a followup.
author Augie Fackler <augie@google.com>
date Mon, 26 Oct 2015 14:19:37 -0400
parents 7f49efcaa9b4
children 7fbab10f812f
line wrap: on
line diff
--- a/contrib/builddeb	Tue Oct 27 12:34:05 2015 +0800
+++ b/contrib/builddeb	Mon Oct 26 14:19:37 2015 -0400
@@ -46,6 +46,13 @@
 fi
 
 gethgversion
+debver="$version"
+if [ -n "$type" ] ; then
+    debver="$debver~$type"
+fi
+if [ -n "$distance" ] ; then
+    debver="$debver+$distance-$node"
+fi
 
 control=debian/control
 changelog=debian/changelog
@@ -61,7 +68,7 @@
 
     # This looks like sed -i, but sed -i behaves just differently enough
     # between BSD and GNU sed that I gave up and did the dumb thing.
-    sed "s/__VERSION__/$version/" < $changelog > $changelog.tmp
+    sed "s/__VERSION__/$debver/" < $changelog > $changelog.tmp
     date=$(date --rfc-2822)
     sed "s/__DATE__/$date/" < $changelog.tmp > $changelog
     rm $changelog.tmp
@@ -79,6 +86,6 @@
     find ../mercurial*.deb ../mercurial_*.build ../mercurial_*.changes \
           -type f -newer $control -print0 | \
       xargs -Inarf -0 mv narf "$OUTPUTDIR"
-    echo "Built packages for $version-$release:"
+    echo "Built packages for $debver:"
     find "$OUTPUTDIR" -type f -newer $control -name '*.deb'
 fi