2009-06-05 17:54:48 +00:00
|
|
|
#!/bin/sh
|
2009-07-11 23:45:51 +00:00
|
|
|
|
2009-07-07 00:32:40 +00:00
|
|
|
# Generate files to be included: only overwrite them if changed so make
|
|
|
|
# won't rebuild everything unless necessary
|
2019-01-15 19:22:29 +00:00
|
|
|
replace_if_differs() {
|
|
|
|
if cmp "$1" "$2" > /dev/null 2>&1; then
|
|
|
|
rm -f "$1"
|
|
|
|
else
|
|
|
|
mv -f "$1" "$2"
|
|
|
|
fi
|
2009-07-07 00:32:40 +00:00
|
|
|
}
|
|
|
|
|
2009-06-01 00:43:01 +00:00
|
|
|
echo "creating libtransmission/version.h"
|
|
|
|
|
2020-12-17 13:04:29 +00:00
|
|
|
user_agent_prefix=$(grep 'set[(]TR_USER_AGENT_PREFIX' CMakeLists.txt | cut -d \" -f 2)
|
2009-05-31 20:22:47 +00:00
|
|
|
|
2020-12-17 13:04:29 +00:00
|
|
|
peer_id_prefix=$(grep 'set[(]TR_PEER_ID_PREFIX' CMakeLists.txt | cut -d \" -f 2)
|
2009-05-31 20:22:47 +00:00
|
|
|
|
2019-01-15 19:22:29 +00:00
|
|
|
major_version=$(echo "${user_agent_prefix}" | awk -F . '{print $1}')
|
|
|
|
minor_version=$(echo "${user_agent_prefix}" | awk -F . '{print $2 + 0}')
|
2010-10-13 17:09:05 +00:00
|
|
|
|
2016-09-02 19:45:03 +00:00
|
|
|
vcs_revision=
|
2016-09-02 19:02:51 +00:00
|
|
|
vcs_revision_file=REVISION
|
2015-04-24 19:14:56 +00:00
|
|
|
|
2019-01-15 19:22:29 +00:00
|
|
|
if [ -n "$JENKINS_URL" ] && [ -n "$GIT_COMMIT" ]; then
|
|
|
|
vcs_revision=$GIT_COMMIT
|
|
|
|
elif [ -n "$TEAMCITY_PROJECT_NAME" ] && [ -n "$BUILD_VCS_NUMBER" ]; then
|
|
|
|
vcs_revision=$BUILD_VCS_NUMBER
|
2020-10-13 00:15:19 +00:00
|
|
|
elif [ -e ".git" ] && type git > /dev/null 2>&1; then
|
2019-01-15 19:22:29 +00:00
|
|
|
vcs_revision=$(git rev-list --max-count=1 HEAD)
|
2016-09-02 19:02:51 +00:00
|
|
|
elif [ -f "$vcs_revision_file" ]; then
|
2019-01-15 19:22:29 +00:00
|
|
|
vcs_revision=$(cat "$vcs_revision_file")
|
2015-04-24 19:14:56 +00:00
|
|
|
fi
|
|
|
|
|
2016-09-02 19:45:03 +00:00
|
|
|
if [ -n "$vcs_revision" ]; then
|
2019-01-15 19:22:29 +00:00
|
|
|
[ -f "$vcs_revision_file" ] && [ "$(cat "$vcs_revision_file")" = "$vcs_revision" ] || echo "$vcs_revision" > "$vcs_revision_file"
|
2015-04-24 19:14:56 +00:00
|
|
|
else
|
2019-01-15 19:22:29 +00:00
|
|
|
vcs_revision=0
|
|
|
|
rm -f "$vcs_revision_file"
|
2009-05-31 20:22:47 +00:00
|
|
|
fi
|
|
|
|
|
2019-01-15 19:22:29 +00:00
|
|
|
vcs_revision=$(echo $vcs_revision | head -c10)
|
2017-01-14 21:54:56 +00:00
|
|
|
|
2009-07-07 00:32:40 +00:00
|
|
|
cat > libtransmission/version.h.new << EOF
|
2017-01-14 21:54:56 +00:00
|
|
|
#pragma once
|
|
|
|
|
2009-07-11 23:45:51 +00:00
|
|
|
#define PEERID_PREFIX "${peer_id_prefix}"
|
|
|
|
#define USERAGENT_PREFIX "${user_agent_prefix}"
|
2016-09-02 19:02:51 +00:00
|
|
|
#define VCS_REVISION "${vcs_revision}"
|
|
|
|
#define VCS_REVISION_NUM ${vcs_revision}
|
2009-07-11 23:45:51 +00:00
|
|
|
#define SHORT_VERSION_STRING "${user_agent_prefix}"
|
2016-09-02 19:02:51 +00:00
|
|
|
#define LONG_VERSION_STRING "${user_agent_prefix} (${vcs_revision})"
|
2009-07-07 00:32:40 +00:00
|
|
|
#define VERSION_STRING_INFOPLIST ${user_agent_prefix}
|
2018-04-17 09:16:18 +00:00
|
|
|
#define BUILD_STRING_INFOPLIST 14714.${major_version}.${minor_version}
|
2010-10-13 17:09:05 +00:00
|
|
|
#define MAJOR_VERSION ${major_version}
|
|
|
|
#define MINOR_VERSION ${minor_version}
|
2009-05-31 20:22:47 +00:00
|
|
|
EOF
|
2009-07-07 00:32:40 +00:00
|
|
|
|
|
|
|
# Add a release definition
|
|
|
|
case "${peer_id_prefix}" in
|
2019-01-15 19:22:29 +00:00
|
|
|
*X-) echo '#define TR_BETA_RELEASE 1' ;;
|
|
|
|
*Z-) echo '#define TR_NIGHTLY_RELEASE 1' ;;
|
|
|
|
*) echo '#define TR_STABLE_RELEASE 1' ;;
|
2009-07-07 00:32:40 +00:00
|
|
|
esac >> "libtransmission/version.h.new"
|
|
|
|
|
|
|
|
replace_if_differs libtransmission/version.h.new libtransmission/version.h
|