build: Allow environment EXIM_RELEASE_VERSION
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Fri, 2 Apr 2021 10:37:15 +0000 (12:37 +0200)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Fri, 2 Apr 2021 21:58:38 +0000 (23:58 +0200)
This should easy automated testing where no .git directory
is available (as is happens with git worktrees)

Setting this environment variable makes the reversion script
using it instead of searching for version.sh or using `git describe`.

src/scripts/reversion

index 6854112d7d97b2e0666ad737931db3962722c289..cec1db2fbde8d7ffa1dd14d3a17f523abc7925b6 100755 (executable)
@@ -29,7 +29,11 @@ fi
 # Read version information that was generated by a previous run of
 # this script, or during the release process.
 
-if   [ -f ./version.sh ]; then
+# Override, used for automated testing w/o access to the
+# .git directory (w.g. inside a git worktree)
+if   [ -n "$EXIM_RELEASE_VERSION" ]; then
+    :
+elif   [ -f ./version.sh ]; then
     .    ./version.sh
 elif [ -f ../src/version.sh ]; then
     .    ../src/version.sh
@@ -51,9 +55,12 @@ elif [ -d ../../.git ] || [ -f ../../.git ] || [ "$1" = release ]; then
             EXIM_VARIANT_VERSION="$3"
             rm -f version.h
     fi
-else
+fi
+
+if [ -z "$EXIM_RELEASE_VERSION" ]; then
     echo "Cannot determine the release number" >&2
-    exit
+    echo "You may want to override it with EXIM_RELEASE_VERSION" >&2
+    exit 1
 fi
 
 # If you are maintaining a patched version of Exim, you can either