contrib/packaging/packagelib.sh
changeset 38005 ea70512b1ad6
parent 34903 16d9f0b3e134
child 41613 8f0e8b179842
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/packaging/packagelib.sh	Sat May 12 10:28:00 2018 -0700
@@ -0,0 +1,38 @@
+# Extract version number into 4 parts, some of which may be empty:
+#
+# version: the numeric part of the most recent tag. Will always look like 1.3.
+#
+# type: if an rc build, "rc", otherwise empty
+#
+# distance: the distance from the nearest tag, or empty if built from a tag
+#
+# node: the node|short hg was built from, or empty if built from a tag
+gethgversion() {
+    export HGRCPATH=
+    export HGPLAIN=
+
+    make cleanbutpackages
+    make local PURE=--pure
+    HG="$PWD/hg"
+
+    "$HG" version > /dev/null || { echo 'abort: hg version failed!'; exit 1 ; }
+
+    hgversion=`LANGUAGE=C "$HG" version | sed -ne 's/.*(version \(.*\))$/\1/p'`
+
+    if echo $hgversion | grep + > /dev/null 2>&1 ; then
+        tmp=`echo $hgversion | cut -d+ -f 2`
+        hgversion=`echo $hgversion | cut -d+ -f 1`
+        distance=`echo $tmp | cut -d- -f 1`
+        node=`echo $tmp | cut -d- -f 2`
+    else
+        distance=''
+        node=''
+    fi
+    if echo $hgversion | grep -- '-' > /dev/null 2>&1; then
+        version=`echo $hgversion | cut -d- -f1`
+        type=`echo $hgversion | cut -d- -f2`
+    else
+        version=$hgversion
+        type=''
+    fi
+}