X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d50a8be23a0e941161b1abeee78ebb5d2304d15b..62ccb00d5ca29f962c3691201e143667ff80bc6c:/src/scripts/reversion diff --git a/src/scripts/reversion b/src/scripts/reversion index 63b4adbfe..6fd0782a4 100755 --- a/src/scripts/reversion +++ b/src/scripts/reversion @@ -1,5 +1,6 @@ #!/bin/sh -# Copyright (c) The Exim Maintainers 1995 - 2018 +# Copyright (c) The Exim Maintainers 1995 - 2021 +# SPDX-License-Identifier: GPL-2.0-or-later set -e LC_ALL=C @@ -29,8 +30,11 @@ fi # Read version information that was generated by a previous run of # this script, or during the release process. - set $(echo "$description" | sed 's|-| |;s|_|.|;s|[-_]| _|;s|-g|-|') -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 @@ -44,6 +48,7 @@ elif [ -d ../../.git ] || [ -f ../../.git ] || [ "$1" = release ]; then else description=$(git describe --dirty=-XX --match 'exim-4*') fi + set $(echo "$description" | sed 's/-/ /; s/-g/-/') # Only update if we need to if [ "$2 $3" != "$EXIM_RELEASE_VERSION $EXIM_VARIANT_VERSION" ] then @@ -51,9 +56,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 @@ -99,6 +107,7 @@ fi ( echo '# automatically generated file - see ../scripts/reversion' echo EXIM_RELEASE_VERSION='"'"$EXIM_RELEASE_VERSION"'"' + test -n "$EXIM_VARIANT_VERSION" && \ echo EXIM_VARIANT_VERSION='"'"$EXIM_VARIANT_VERSION"'"' echo EXIM_COMPILE_NUMBER='"'"$EXIM_COMPILE_NUMBER"'"' if [ ".${exim_build_date_override:-}" != "." ]; then @@ -110,13 +119,17 @@ if [ ! -f version.h ] then ( echo '/* automatically generated file - see ../scripts/reversion */' echo '#define EXIM_RELEASE_VERSION "'"$EXIM_RELEASE_VERSION"'"' + test -n "$EXIM_VARIANT_VERSION" && \ echo '#define EXIM_VARIANT_VERSION "'"$EXIM_VARIANT_VERSION"'"' - echo '#define EXIM_VERSION_STR EXIM_RELEASE_VERSION EXIM_VARIANT_VERSION' + echo '#ifdef EXIM_VARIANT_VERSION' + echo '#define EXIM_VERSION_STR EXIM_RELEASE_VERSION "-" EXIM_VARIANT_VERSION' + echo '#else' + echo '#define EXIM_VERSION_STR EXIM_RELEASE_VERSION' + echo '#endif' if [ ".${exim_build_date_override:-}" != "." ]; then echo '#define EXIM_BUILD_DATE_OVERRIDE "'"${exim_build_date_override}"'"' fi ) >version.h fi -echo ">>> version $EXIM_RELEASE_VERSION $EXIM_VARIANT_VERSION #$EXIM_COMPILE_NUMBER" -echo +#test -t 1 && echo ">>> version $EXIM_RELEASE_VERSION $EXIM_VARIANT_VERSION #$EXIM_COMPILE_NUMBER"