]>
git.ipfire.org Git - thirdparty/pdns.git/blob - build-aux/gen-version
5 git status |
grep -q clean || DIRTY
='.dirty'
7 # Special environment variable to signal that we are building a release, as this
8 # has condequenses for the version number.
9 if [ "${IS_RELEASE}" = "YES" ]; then
10 TAG
="$(git describe --tags --exact-match 2> /dev/null | cut -d- -f 2-)"
11 if [ -n "${TAG}" ]; then
13 echo "${TAG}${DIRTY}" > .version
14 printf "${TAG}${DIRTY}"
17 echo 'This is not a tag, either tag this commit or do not set $IS_RELEASE' >&2
22 # Generate the version number based on the branch
24 if [ ! -z "$(git rev-parse --abbrev-ref HEAD 2> /dev/null)" ]; then
25 if $
(git rev-parse
--abbrev-ref HEAD |
grep -q 'rel/'); then
26 REL_TYPE
="$(git rev-parse --abbrev-ref HEAD | cut -d/ -f 2 | cut -d- -f 1)"
27 VERSION
="$(git describe --match=${REL_TYPE}-* --dirty=.dirty | cut -d- -f 2-)"
29 GIT_VERSION
=$
(git show
--no-patch --format=format
:%h HEAD
)
30 BRANCH
=".$(git rev-parse --abbrev-ref HEAD | perl -p -e 's/[^[:alnum:]]//g;')"
31 [ "${BRANCH}" = ".master" ] && BRANCH
=''
32 VERSION
="0.0${BRANCH}.${PDNS_BUILD_NUMBER}g${GIT_VERSION}${DIRTY}"
34 echo "$VERSION" > .version
35 elif [ -f .version
]; then
36 VERSION
="$(cat .version)"