summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2011-11-08 17:06:27 -0700
committerEric Blake <eblake@redhat.com>2011-11-09 09:03:33 -0700
commit676fdf8cb5d7a4d13d5bfc009e3c7958aa783072 (patch)
treed78f9eb92612b33f9ac2b2a5107f73e9c62acefc /autogen.sh
parentlxc: free error object to avoid memory leak (diff)
downloadlibvirt-676fdf8cb5d7a4d13d5bfc009e3c7958aa783072.tar.gz
libvirt-676fdf8cb5d7a4d13d5bfc009e3c7958aa783072.tar.bz2
libvirt-676fdf8cb5d7a4d13d5bfc009e3c7958aa783072.zip
build: allow for local gnulib diffs
Commit f7bd00c12 pulled in a gnulib module that fails to compile on mingw. While it would be nice to pull in a newer version of .gnulib that fixes this, it is difficult to backport any .gnulib update to older releases. So, it makes sense to take advantage of gnulib-tool's ability to support local diffs, where we can apply specific diffs in our use of gnulib without waiting for upstream gnulib to pick up those changes, as well as avoiding a wholesale .gnulib update. The existence of local diffs will also make it easier to backport fixes against a tarball (as long as a tarball and libvirt.git share the same .gnulib commit, then the tarball can be patched by applying the same local diffs as a post-release libvirt.git commit, without having to rerun an entire gnulib-tool bootstrap). This patch introduces the framework for supporting local diffs, without actually introducing any. * bootstrap.conf (local_gl_dir): New variable. * autogen.sh (bootstrap_hash): Hash any local diffs, to force a re-bootstrap if just diffs change. * cfg.mk (_update_required): Likewise.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh3
1 files changed, 3 insertions, 0 deletions
diff --git a/autogen.sh b/autogen.sh
index b64521e5e..f1591d8e1 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -41,10 +41,13 @@ fi
# is required. The first is just the SHA1 that selects a gnulib snapshot.
# The second ensures that whenever we change the set of gnulib modules used
# by this package, we rerun bootstrap to pull in the matching set of files.
+# The third ensures that whenever we change the set of local gnulib diffs,
+# we rerun bootstrap to pull in those diffs.
bootstrap_hash()
{
git submodule status | sed 's/^[ +-]//;s/ .*//'
git hash-object bootstrap.conf
+ git ls-tree -d HEAD gnulib/local | awk '{print $3}'
}
# Ensure that whenever we pull in a gnulib update or otherwise change to a