From f16a532e88f124422aea4c823e6c645382cab263 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 06923e3b..19f60899 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 6181ad92..9d65b800 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//'` -- 2.39.2