From 1d4254bb8936e19b9833f9b3040aebfe7312cc15 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 25 Sep 2012 19:26:18 -0400 Subject: [PATCH] git-version-gen: Honor GIT_DESCRIBE_FOR_BUILD environment variable The GNOME-OSTree build system currently creates chroots and bind mounts to the source tree outside the root; this means that we can't necessarily run git inside the root, because in the case of git submodules, the .git repository will point to outside root. Also, error out fatally if we fail to determine the version; it makes no sense to put UNKNOWN in e.g. the pkg-config files since this will just cause errors later on. --- configure.ac | 4 ++++ git-version-gen | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index a78098c..ca5925f 100644 --- a/configure.ac +++ b/configure.ac @@ -28,6 +28,10 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules color-tests dist-xz tar-ustar]) +AS_IF([! test -n "$VERSION"], [ + AC_MSG_ERROR([git-version-gen failed]) +]) + m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`) m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`) diff --git a/git-version-gen b/git-version-gen index 6181ad9..9d65b80 100755 --- a/git-version-gen +++ b/git-version-gen @@ -1,6 +1,6 @@ #!/bin/sh # Print a version string. -scriptversion=2008-04-08.07.01 +scriptversion=2012-09-25.20 # Copyright (C) 2007-2008 Free Software Foundation # @@ -93,6 +93,15 @@ then && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 fi +# This is presently used by the GNOME-OSTree build system; it +# helps support the case where the meta-build system has already +# determined the git revision, but we may not be able to run "git describe" +# because we're inside a chroot. +if test -n "$GIT_DESCRIBE_FOR_BUILD"; +then + v=$GIT_DESCRIBE_FOR_BUILD +fi + if test -n "$v" then : # use $v @@ -133,7 +142,8 @@ then # v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; : else - v=UNKNOWN + echo 1>&2 "$0: Failed to determine git revision" + exit 1 fi v=`echo "$v" |sed 's/^v//'` -- 1.7.11.4