From 99c201964ab7514e55d66ad2ca5bbe68440bd75b Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Tue, 3 Jan 2017 19:56:43 +0100 Subject: fix version.h generation for out-of-tree builds Change-Id: Ic882f5aec74858a36533ed8cd61a7726947dceef Signed-off-by: Damjan Marion --- src/scripts/version | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/vpp.am | 4 ++-- 2 files changed, 56 insertions(+), 2 deletions(-) create mode 100755 src/scripts/version (limited to 'src') diff --git a/src/scripts/version b/src/scripts/version new file mode 100755 index 00000000000..af447286912 --- /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 diff --git a/src/vpp.am b/src/vpp.am index 1d07b90a89e..5128e8ac302 100644 --- a/src/vpp.am +++ b/src/vpp.am @@ -55,8 +55,8 @@ vpp/app/version.h: @echo "#define VPP_BUILD_DATE \"$$(date)\"" > $@ @echo "#define VPP_BUILD_USER \"$$(whoami)\"" >> $@ @echo "#define VPP_BUILD_HOST \"$$(hostname)\"" >> $@ - @echo "#define VPP_BUILD_TOPDIR \"$$(git rev-parse --show-toplevel)\"" >> $@ - @echo "#define VPP_BUILD_VER \"$$(../../scripts/version)\"" >> $@ + @echo "#define VPP_BUILD_TOPDIR \"$$(cd $(srcdir) && git rev-parse --show-toplevel)\"" >> $@ + @echo "#define VPP_BUILD_VER \"$$($(srcdir)/scripts/version)\"" >> $@ # Generate a plugin configuration script. Misconfiguring a # plugin can cause very subtle problems. -- cgit 1.2.3-korg