This makes the version depend on git describe so there will be new deb packages names.
Signed-off-by: Anders Roxell <[email protected]> --- configure.ac | 2 +- platform/Makefile.inc | 2 +- scripts/Makefile.am | 2 +- scripts/builddeb | 9 ++++++++- scripts/get_impl_str.sh | 11 +++++++++++ scripts/git_hash.sh | 14 +++++++++++--- scripts/odp_version.sh | 12 ------------ 7 files changed, 33 insertions(+), 19 deletions(-) create mode 100755 scripts/get_impl_str.sh delete mode 100755 scripts/odp_version.sh diff --git a/configure.ac b/configure.ac index b4fae43..abbcf6e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.5]) -AC_INIT([OpenDataPlane], m4_esyscmd(./scripts/odp_version.sh), [[email protected]]) +AC_INIT([OpenDataPlane], m4_esyscmd(./scripts/git_hash.sh .), [[email protected]]) AM_INIT_AUTOMAKE([1.9 tar-pax subdir-objects]) AC_CONFIG_SRCDIR([helper/config.h.in]) AM_CONFIG_HEADER([helper/config.h]) diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 8e8e97b..db241f9 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -12,6 +12,6 @@ lib_LTLIBRARIES = $(LIB)/libodp.la AM_LDFLAGS += -version-number '$(ODP_LIBSO_VERSION)' -GIT_DESC = `$(top_srcdir)/scripts/git_hash.sh $(top_srcdir)` +GIT_DESC = `$(top_srcdir)/scripts/get_impl_str.sh $(top_srcdir)` AM_CFLAGS += "-DGIT_HASH=$(GIT_DESC)" AM_CFLAGS += -DPLATFORM=${with_platform} diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 617eadc..189b3ef 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1 +1 @@ -EXTRA_DIST = git_hash.sh odp_version.sh +EXTRA_DIST = get_impl_str.sh git_hash.sh diff --git a/scripts/builddeb b/scripts/builddeb index ddca129..8a52044 100755 --- a/scripts/builddeb +++ b/scripts/builddeb @@ -3,13 +3,14 @@ set -e ROOT_DIR=$(readlink -e $(dirname $0) | sed 's|/scripts||') -version=$(${ROOT_DIR}/scripts/odp_version.sh) pushd ${ROOT_DIR} ./bootstrap ./configure make dist +version=$(cat ${ROOT_DIR}/.scmversion) + cp opendataplane-${version}.tar.gz opendataplane_${version}.orig.tar.gz tar xzf opendataplane_${version}.orig.tar.gz @@ -22,6 +23,12 @@ rename 's,([^-\.]*)(.*),${1}'"${current}"'${2},' debian/*odp* sed -i "s:\(.*odp\)\([^\.]\|$\):\1${current}\2:g" debian/control sed -i "s:\(.*odp\)\(.*\):\1${current}\2:g" debian/rules +if [ $(egrep "\.([a-z0-9]{8}\>|dirty)" .scmversion |wc -l) -gt 0 ]; then + export DEBFULLNAME="Donald Duck" + export DEBEMAIL="[email protected]" + dch --newversion ${version}-1 --urgency low "not a official release!" +fi + debuild -us -uc popd popd diff --git a/scripts/get_impl_str.sh b/scripts/get_impl_str.sh new file mode 100755 index 0000000..d765a53 --- /dev/null +++ b/scripts/get_impl_str.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ -z ${1} ]; then + echo "should be called with a path" + exit +fi +ROOTDIR=${1} + +CUSTOM_STR=${CUSTOM_STR:-https://git.linaro.org/lng/odp.git} + +echo -n "'${CUSTOM_STR}' ($(cat ${ROOTDIR}/.scmversion))" diff --git a/scripts/git_hash.sh b/scripts/git_hash.sh index fc0b057..ccd62ab 100755 --- a/scripts/git_hash.sh +++ b/scripts/git_hash.sh @@ -6,15 +6,23 @@ if [ -z ${1} ]; then fi ROOTDIR=${1} -CUSTOM_STR=${CUSTOM_STR:-https://git.linaro.org/lng/odp.git} if [ -d ${ROOTDIR}/.git ]; then hash=$(git --git-dir=${ROOTDIR}/.git describe | tr -d "\n") if [[ $(git --git-dir=${ROOTDIR}/.git diff --shortstat 2> /dev/null \ | tail -n1) != "" ]]; then - dirty=-dirty + dirty=.dirty fi - echo -n "'${CUSTOM_STR}' (${hash}${dirty})">${ROOTDIR}/.scmversion + echo -n "${hash}${dirty}">${ROOTDIR}/.scmversion + + sed -i "s|-|.git|" ${ROOTDIR}/.scmversion + sed -i "s|-|.|g" ${ROOTDIR}/.scmversion + sed -i "s|^v||g" ${ROOTDIR}/.scmversion +elif [ ! -d ${ROOTDIR}/.git -a ! -f ${ROOTDIR}/.scmversion ]; then + echo -n "File ROOTDIR/.scmversion not found, " + echo "and not inside a git repository" + echo "Bailing out! Not recoverable!" + exit 1 fi cat ${ROOTDIR}/.scmversion diff --git a/scripts/odp_version.sh b/scripts/odp_version.sh deleted file mode 100755 index 2487b7f..0000000 --- a/scripts/odp_version.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -VFILE="include/odp/api/version.h" - -GEN=`grep "define ODP_VERSION_API_GENERATION" ${VFILE} | cut -d ' ' -f 3` -MAJ=`grep "define ODP_VERSION_API_MAJOR" ${VFILE} | cut -d ' ' -f 3` -MIN=`grep "define ODP_VERSION_API_MINOR" ${VFILE} | cut -d ' ' -f 3` - -IMPL_FILE="platform/linux-generic/odp_impl.c" -IMPL=`grep "define ODP_VERSION_IMPL " ${IMPL_FILE} | cut -d ' ' -f 3` - -echo -n $GEN.$MAJ.$MIN.$IMPL -- 2.1.4 _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
