Skip to content

Commit

Permalink
Merge pull request #2371 from jamescowens/fix_clientversion
Browse files Browse the repository at this point in the history
build: Make changes to use Gridcoin x.y.z.w client versions
  • Loading branch information
jamescowens authored Oct 31, 2021
2 parents 2b667f9 + 86cd885 commit 252c732
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 24 deletions.
43 changes: 23 additions & 20 deletions share/genbuild.sh
Original file line number Diff line number Diff line change
@@ -1,46 +1,49 @@
#!/bin/sh
# Copyright (c) 2012-2020 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C

if [ $# -gt 1 ]; then
cd "$2" || exit 1
fi
if [ $# -gt 0 ]; then
FILE="$1"
shift
if [ -f "$FILE" ]; then
INFO="$(head -n 2 "$FILE")"
INFO="$(head -n 1 "$FILE")"
fi
else
echo "Usage: $0 <filename>"
echo "Usage: $0 <filename> <srcroot>"
exit 1
fi

if [ -e "$(which git)" ]; then
GIT_TAG=""
GIT_COMMIT=""
if [ "${BITCOIN_GENBUILD_NO_GIT}" != "1" ] && [ -e "$(command -v git)" ] && [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
# 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 only commit hash, but format like describe
DESCHASH="$(git rev-parse --short=9 HEAD 2>/dev/null)"

# append dirty indicator
if [ -n "$DESCHASH" ]; then
if ! git diff-index --quiet HEAD -- 2>/dev/null
then DESCHASH="${DESCHASH}-dirty" ; fi
# 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 2>/dev/null)" ]; then
git diff-index --quiet HEAD -- && GIT_TAG=$RAWDESC
fi

# get a string like "2012-04-10 16:27:19 +0200"
TIME="$(git log -n 1 --format="%ci")"
# otherwise generate suffix from git, i.e. string like "59887e8-dirty"
GIT_COMMIT=$(git rev-parse --short=12 HEAD)
git diff-index --quiet HEAD -- || GIT_COMMIT="$GIT_COMMIT-dirty"
fi

if [ -n "$DESCHASH" ]; then
NEWINFO="#define BUILD_DESCHASH \"$DESCHASH\""
if [ -n "$GIT_TAG" ]; then
NEWINFO="#define BUILD_GIT_TAG \"$GIT_TAG\""
elif [ -n "$GIT_COMMIT" ]; then
NEWINFO="#define BUILD_GIT_COMMIT \"$GIT_COMMIT\""
else
NEWINFO="// No build information available"
fi

NEWINFO="$NEWINFO
//placeholder"

# only update build.h if necessary
if [ "$INFO" != "$NEWINFO" ]; then
echo "$NEWINFO" >"$FILE"
echo "#define BUILD_DATE \"$TIME\"" >>"$FILE"
fi
5 changes: 3 additions & 2 deletions src/clientversion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const std::string CLIENT_NAME("Halford");


#ifdef HAVE_BUILD_INFO
#include "build.h"
#include "obj/build.h"
// The <obj/build.h>, which is generated by the build environment (share/genbuild.sh),
// could contain only one line of the following:
// - "#define BUILD_GIT_TAG ...", if the top commit is tagged
Expand All @@ -31,7 +31,8 @@ const std::string CLIENT_NAME("Halford");
#define BUILD_DESC BUILD_GIT_TAG
#define BUILD_SUFFIX ""
#else
#define BUILD_DESC "v" PACKAGE_VERSION
#define BUILD_DESC_FROM_PACKAGE(package, build) "v" package "." DO_STRINGIZE(build)
#define BUILD_DESC BUILD_DESC_FROM_PACKAGE(PACKAGE_VERSION, CLIENT_VERSION_BUILD)
#if CLIENT_VERSION_IS_RELEASE
#define BUILD_SUFFIX ""
#elif defined(BUILD_GIT_COMMIT)
Expand Down
5 changes: 3 additions & 2 deletions src/clientversion.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@
#include <vector>

static const int CLIENT_VERSION =
10000 * CLIENT_VERSION_MAJOR
+ 100 * CLIENT_VERSION_MINOR
1000000 * CLIENT_VERSION_MAJOR
+ 10000 * CLIENT_VERSION_MINOR
+ 100 * CLIENT_VERSION_REVISION
+ 1 * CLIENT_VERSION_BUILD;

extern const std::string CLIENT_NAME;
Expand Down

0 comments on commit 252c732

Please sign in to comment.