From efa83fdf6e16f235efdd8d5c1aaa6edb307ff6a1 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 17 Feb 2008 22:58:57 +0000 Subject: [PATCH] When installing SVN snapshots, include the branch and revision in the version number. In case some random snapshot is installed and used for production, then this will ease rewinding. --- Makefile.in | 8 ++++---- configure | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/Makefile.in b/Makefile.in index f96546a9..77da86a4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -101,10 +101,10 @@ install-lib-main: install-local-test $(LIBDIR) tar cf - --exclude=.svn $${src_dir} |(cd $(LIBDIR); tar xf -); \ done @rm -f $(LIBDIR)/tools/addToolVersion.sh - @for src_file in steps.mk .version; do \ - echo " INST $${src_file}"; \ - install -m 644 $${src_file} $(LIBDIR)/$${src_file}; \ - done + @echo " INST steps.mk" + @install -m 644 steps.mk $(LIBDIR)/steps.mk + @echo " INST .version" + @echo "$(VERSION)" >$(LIBDIR)/.version # Samples need a little love: # - change every occurrence of CT_TOP_DIR to CT_LIB_DIR diff --git a/configure b/configure index d72c50d9..195334cf 100755 --- a/configure +++ b/configure @@ -121,6 +121,21 @@ fi #--------------------------------------------------------------------- # Some sanity checks, now +# If this version is a svn snapshot, try to get the revision number +# If we can't get the revision number, use date +case "${VERSION}" in + *+svn) + REVISION=$(LANG=C svn info 2>/dev/null |egrep 'Revision: ' |cut -d ' ' -f 2-) + if [ -n "${REVISION}" ]; then + URL=$(LANG=C svn info 2>/dev/null |egrep 'URL: ' |cut -d ' ' -f 2-) + ROOT=$(LANG=C svn info 2>/dev/null |egrep 'Repository Root: ' |cut -d ' ' -f 3-) + VERSION="${VERSION}:${URL#${ROOT}}@${REVISION}" + else + VERSION="${VERSION}:unknown@$(date +%Y%m%d.%H%M%S)" + fi + ;; +esac + # Check bash is present, and at least version 3.0 [ -x /bin/bash ] || do_error "bash 3.0 or above was not found in /bin/bash" bash_version=$(/bin/bash -c 'echo ${BASH_VERSION}')