diff options
Diffstat (limited to 'src/mkreleasehdr.sh')
-rwxr-xr-x | src/mkreleasehdr.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mkreleasehdr.sh b/src/mkreleasehdr.sh new file mode 100755 index 0000000..117b9e8 --- /dev/null +++ b/src/mkreleasehdr.sh @@ -0,0 +1,16 @@ +#!/bin/sh +GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1` +GIT_DIRTY=`git diff --no-ext-diff 2> /dev/null | wc -l` +BUILD_ID=`uname -n`"-"`date +%s` +if [ -n "$SOURCE_DATE_EPOCH" ]; then + BUILD_ID=$(date -u -d "@$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u +%s) +fi +test -f release.h || touch release.h +(cat release.h | grep SHA1 | grep $GIT_SHA1) && \ +(cat release.h | grep DIRTY | grep $GIT_DIRTY) && exit 0 # Already up-to-date +echo "#define REDIS_GIT_SHA1 \"$GIT_SHA1\"" > release.h +echo "#define REDIS_GIT_DIRTY \"$GIT_DIRTY\"" >> release.h +echo "#define REDIS_BUILD_ID \"$BUILD_ID\"" >> release.h +echo "#include \"version.h\"" >> release.h +echo "#define REDIS_BUILD_ID_RAW REDIS_VERSION REDIS_BUILD_ID REDIS_GIT_DIRTY REDIS_GIT_SHA1" >> release.h +touch release.c # Force recompile of release.c |