From: Damjan Marion Date: Tue, 3 Jan 2017 18:56:43 +0000 (+0100) Subject: fix version.h generation for out-of-tree builds X-Git-Tag: v17.04-rc1~424 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=99c201964ab7514e55d66ad2ca5bbe68440bd75b;p=vpp.git fix version.h generation for out-of-tree builds Change-Id: Ic882f5aec74858a36533ed8cd61a7726947dceef Signed-off-by: Damjan Marion --- diff --git a/build-root/scripts/version b/build-root/scripts/version deleted file mode 100755 index af447286912..00000000000 --- a/build-root/scripts/version +++ /dev/null @@ -1,54 +0,0 @@ -#!/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/build-root/scripts/version b/build-root/scripts/version new file mode 120000 index 00000000000..8392c68b96d --- /dev/null +++ b/build-root/scripts/version @@ -0,0 +1 @@ +../../src/scripts/version \ No newline at end of file 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.