VERSION obtained from source instead of the previous git tag.

Drawback: The version string is no longer a valid git identifier.
          For this reason the 'g' short hash prefix has been removed.

Exception: When building directly from a tag this behaves exactly like the previous behavior.
           This allows formatting release versions with precision     i.e. v0.9.2
           This also allows arbitrary topicbranch names               i.e. v0.9.1-glibc-compat
This commit is contained in:
Warren Togami 2014-04-12 14:06:07 -10:00
parent 74dd52a9fc
commit 3d20cd5f61
6 changed files with 22 additions and 9 deletions

View File

@ -1,4 +1,4 @@
Bitcoin 0.9.0 BETA Bitcoin 0.9.99 BETA
===================== =====================
Copyright (c) 2009-2014 Bitcoin Developers Copyright (c) 2009-2014 Bitcoin Developers

View File

@ -1,4 +1,4 @@
Bitcoin 0.9.0rc1 BETA Bitcoin 0.9.99 BETA
Copyright (c) 2009-2014 Bitcoin Core Developers Copyright (c) 2009-2014 Bitcoin Core Developers

View File

@ -8,8 +8,6 @@ Release Process
###update (commit) version in sources ###update (commit) version in sources
bitcoin-qt.pro
contrib/verifysfbinaries/verify.sh contrib/verifysfbinaries/verify.sh
doc/README* doc/README*
share/setup.nsi share/setup.nsi

View File

@ -14,13 +14,21 @@ else
fi fi
DESC="" DESC=""
SUFFIX=""
LAST_COMMIT_DATE="" LAST_COMMIT_DATE=""
if [ -e "$(which git)" -a -d ".git" ]; then if [ -e "$(which git)" -a -d ".git" ]; then
# clean 'dirty' status of touched files that haven't been modified # clean 'dirty' status of touched files that haven't been modified
git diff >/dev/null 2>/dev/null git diff >/dev/null 2>/dev/null
# get a string like "v0.6.0-66-g59887e8-dirty" # if latest commit is tagged and not dirty, then override using the tag name
DESC="$(git describe --dirty 2>/dev/null)" RAWDESC=$(git describe --abbrev=0 2>/dev/null)
if [ "$(git rev-parse HEAD)" = "$(git rev-list -1 $RAWDESC)" ]; then
git diff-index --quiet HEAD -- && DESC=$RAWDESC
fi
# otherwise generate suffix from git, i.e. string like "59887e8-dirty"
SUFFIX=$(git rev-parse --short HEAD)
git diff-index --quiet HEAD -- || SUFFIX="$SUFFIX-dirty"
# get a string like "2012-04-10 16:27:19 +0200" # get a string like "2012-04-10 16:27:19 +0200"
LAST_COMMIT_DATE="$(git log -n 1 --format="%ci")" LAST_COMMIT_DATE="$(git log -n 1 --format="%ci")"
@ -28,6 +36,8 @@ fi
if [ -n "$DESC" ]; then if [ -n "$DESC" ]; then
NEWINFO="#define BUILD_DESC \"$DESC\"" NEWINFO="#define BUILD_DESC \"$DESC\""
elif [ -n "$SUFFIX" ]; then
NEWINFO="#define BUILD_SUFFIX $SUFFIX"
else else
NEWINFO="// No build information available" NEWINFO="// No build information available"
fi fi

View File

@ -11,8 +11,8 @@
// These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it // These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MAJOR 0
#define CLIENT_VERSION_MINOR 9 #define CLIENT_VERSION_MINOR 9
#define CLIENT_VERSION_REVISION 0 #define CLIENT_VERSION_REVISION 99
#define CLIENT_VERSION_BUILD 99 #define CLIENT_VERSION_BUILD 0
// Set to true for release, false for prerelease or test build // Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE false #define CLIENT_VERSION_IS_RELEASE false

View File

@ -40,6 +40,9 @@ const std::string CLIENT_NAME("Satoshi");
# define GIT_COMMIT_DATE "$Format:%cD$" # define GIT_COMMIT_DATE "$Format:%cD$"
#endif #endif
#define BUILD_DESC_WITH_SUFFIX(maj,min,rev,build,suffix) \
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-" DO_STRINGIZE(suffix)
#define BUILD_DESC_FROM_COMMIT(maj,min,rev,build,commit) \ #define BUILD_DESC_FROM_COMMIT(maj,min,rev,build,commit) \
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit
@ -47,7 +50,9 @@ const std::string CLIENT_NAME("Satoshi");
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk" "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk"
#ifndef BUILD_DESC #ifndef BUILD_DESC
# ifdef GIT_COMMIT_ID # ifdef BUILD_SUFFIX
# define BUILD_DESC BUILD_DESC_WITH_SUFFIX(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, BUILD_SUFFIX)
# elif defined(GIT_COMMIT_ID)
# define BUILD_DESC BUILD_DESC_FROM_COMMIT(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, GIT_COMMIT_ID) # define BUILD_DESC BUILD_DESC_FROM_COMMIT(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, GIT_COMMIT_ID)
# else # else
# define BUILD_DESC BUILD_DESC_FROM_UNKNOWN(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD) # define BUILD_DESC BUILD_DESC_FROM_UNKNOWN(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD)