diff options
author | Damjan Marion <damarion@cisco.com> | 2017-01-03 19:56:43 +0100 |
---|---|---|
committer | John Lo <loj@cisco.com> | 2017-01-03 20:32:06 +0000 |
commit | 99c201964ab7514e55d66ad2ca5bbe68440bd75b (patch) | |
tree | ba2296192f3966a454f76b494ea1f4e8598968ed /src/scripts | |
parent | 5ac9bf53b3360f7987ee31ab7377d801e6c713db (diff) |
fix version.h generation for out-of-tree builds
Change-Id: Ic882f5aec74858a36533ed8cd61a7726947dceef
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/scripts')
-rwxr-xr-x | src/scripts/version | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/scripts/version b/src/scripts/version new file mode 100755 index 00000000..af447286 --- /dev/null +++ b/src/scripts/version @@ -0,0 +1,54 @@ +#!/bin/bash + +path=$( cd "$(dirname "${BASH_SOURCE}")" ; pwd -P ) + +cd "$path" + +git rev-parse 2> /dev/null +if [ $? == 0 ]; then + vstring=$(git describe) +elif [ -f .version ]; then + vstring=$(cat .version) +else + if [ -f ../rpm/*.gz ]; then + vstring=$(ls ../rpm/*.gz) + else + exit 1 + fi +fi + +TAG=$(echo ${vstring} | cut -d- -f1 | sed -e 's/^v//') +ADD=$(echo ${vstring} | cut -s -d- -f2) + +git rev-parse 2> /dev/null +if [ $? == 0 ]; then + CMT=$(git describe --dirty --match 'v*'| cut -s -d- -f3,4) +else + CMT=$(echo ${vstring} | cut -s -d- -f3,4) +fi +CMTR=$(echo $CMT | sed 's/-/_/') + +if [ -n "${BUILD_NUMBER}" ]; then + BLD="~b${BUILD_NUMBER}" +fi + +if [ "$1" = "rpm-version" ]; then + echo ${TAG} + exit +fi + +if [ "$1" = "rpm-release" ]; then + [ -z "${ADD}" ] && echo release && exit + echo ${ADD}${CMTR:+~${CMTR}}${BLD} + exit +fi + + if [ -n "${ADD}" ]; then + if [ "$1" = "rpm-string" ]; then + echo ${TAG}-${ADD}${CMTR:+~${CMTR}}${BLD} + else + echo ${TAG}-${ADD}${CMT:+~${CMT}}${BLD} + fi + else + echo ${TAG} +fi |