Browse Source

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
pull/1/head
Warren Togami 8 years ago
parent
commit
3d20cd5f61
  1. 2
      doc/README.md
  2. 2
      doc/README_windows.txt
  3. 2
      doc/release-process.md
  4. 14
      share/genbuild.sh
  5. 4
      src/clientversion.h
  6. 7
      src/version.cpp

2
doc/README.md

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

2
doc/README_windows.txt

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

2
doc/release-process.md

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

14
share/genbuild.sh

@ -14,13 +14,21 @@ else @@ -14,13 +14,21 @@ else
fi
DESC=""
SUFFIX=""
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
# get a string like "v0.6.0-66-g59887e8-dirty"
DESC="$(git describe --dirty 2>/dev/null)"
# if latest commit is tagged and not dirty, then override using the tag name
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"
LAST_COMMIT_DATE="$(git log -n 1 --format="%ci")"
@ -28,6 +36,8 @@ fi @@ -28,6 +36,8 @@ fi
if [ -n "$DESC" ]; then
NEWINFO="#define BUILD_DESC \"$DESC\""
elif [ -n "$SUFFIX" ]; then
NEWINFO="#define BUILD_SUFFIX $SUFFIX"
else
NEWINFO="// No build information available"
fi

4
src/clientversion.h

@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
// 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_MINOR 9
#define CLIENT_VERSION_REVISION 0
#define CLIENT_VERSION_BUILD 99
#define CLIENT_VERSION_REVISION 99
#define CLIENT_VERSION_BUILD 0
// Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE false

7
src/version.cpp

@ -40,6 +40,9 @@ const std::string CLIENT_NAME("Satoshi"); @@ -40,6 +40,9 @@ const std::string CLIENT_NAME("Satoshi");
# define GIT_COMMIT_DATE "$Format:%cD$"
#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) \
"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"); @@ -47,7 +50,9 @@ const std::string CLIENT_NAME("Satoshi");
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk"
#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)
# else
# define BUILD_DESC BUILD_DESC_FROM_UNKNOWN(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD)

Loading…
Cancel
Save