[exim-cvs] build: Allow environment EXIM_RELEASE_VERSION

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] build: Allow environment EXIM_RELEASE_VERSION
Gitweb: https://git.exim.org/exim.git/commitdiff/47e7b0467bf1af70378ed5fd4accfb4da60e38bb
Commit:     47e7b0467bf1af70378ed5fd4accfb4da60e38bb
Parent:     f779a7442b3269dd65f5cebe5fe3815a1d61771b
Author:     Heiko Schlittermann (HS12-RIPE) <hs@???>
AuthorDate: Fri Apr 2 12:37:15 2021 +0200
Committer:  Heiko Schlittermann (HS12-RIPE) <hs@???>
CommitDate: Fri Apr 2 23:58:38 2021 +0200


    build: Allow environment EXIM_RELEASE_VERSION


    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 | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)


diff --git a/src/scripts/reversion b/src/scripts/reversion
index 6854112..cec1db2 100755
--- a/src/scripts/reversion
+++ b/src/scripts/reversion
@@ -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