From 2df5e3427c127f69a958be4201ce543aaaf8bcc3 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 30 Jan 2014 11:43:18 +0100 Subject: [PATCH] Fix build time when building from tarball (now really) Don't define BUILD_DATE at all when no git version information is available. `version.cpp` will then define it for us correctly to the last commit date. This has been fixed and broken many times over 0.9 history (21cc8bd, ef1e984), please don't touch this code unless you plan on testing all possible scenarios including gitian builds. Fixes #3570. --- share/genbuild.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/share/genbuild.sh b/share/genbuild.sh index edb847a24..afa4b4ccb 100755 --- a/share/genbuild.sh +++ b/share/genbuild.sh @@ -13,8 +13,8 @@ else exit 1 fi -TIME=$(date '+%F %T %z') - +DESC="" +LAST_COMMIT_DATE="" if [ -e "$(which git)" -a -d ".git" ]; then # clean 'dirty' status of touched files that haven't been modified git diff >/dev/null 2>/dev/null @@ -23,7 +23,7 @@ if [ -e "$(which git)" -a -d ".git" ]; then DESC="$(git describe --dirty 2>/dev/null)" # get a string like "2012-04-10 16:27:19 +0200" - TIME="$(git log -n 1 --format="%ci")" + LAST_COMMIT_DATE="$(git log -n 1 --format="%ci")" fi if [ -n "$DESC" ]; then @@ -35,5 +35,7 @@ fi # only update build.h if necessary if [ "$INFO" != "$NEWINFO" ]; then echo "$NEWINFO" >"$FILE" - echo "#define BUILD_DATE \"$TIME\"" >>"$FILE" + if [ -n "$LAST_COMMIT_DATE" ]; then + echo "#define BUILD_DATE \"$LAST_COMMIT_DATE\"" >> "$FILE" + fi fi