#!/bin/sh
-# Copyright (c) The Exim Maintainers 1995 - 2018
+# Copyright (c) The Exim Maintainers 1995 - 2021
set -e
LC_ALL=C
# 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
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
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
( 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
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"