diff options
author | Jim Meyering <meyering@redhat.com> | 2010-03-16 21:08:31 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2010-03-16 21:42:56 +0100 |
commit | be7780b035c19c53127e01ac1902bfd48a1a9f35 (patch) | |
tree | 03e228c2ec3175b5c731380c41984577c653739d /autogen.sh | |
parent | fe2f1ba1dbf692bc59236a498e0e96fbd56ba595 (diff) | |
download | libvirt-be7780b035c19c53127e01ac1902bfd48a1a9f35.tar.gz |
do not require two ./autogen.sh runs to permit "make"
* autogen.sh (bootstrap_hash): New function.
Running bootstrap may update the gnulib SHA1, yet we were computing
t=$(git submodule status ...) *prior* to running bootstrap, and
then recording that sometimes-stale value in the stamp file upon
a successful bootstrap run. That would require two (lengthy!)
bootstrap runs to update the stamp file.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-x | autogen.sh | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/autogen.sh b/autogen.sh index ff946787af..b93cdbae65 100755 --- a/autogen.sh +++ b/autogen.sh @@ -62,20 +62,27 @@ else fi fi +# Compute the hash we'll use to determine whether rerunning bootstrap +# 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. +bootstrap_hash() +{ + git submodule status | sed 's/^[ +-]//;s/ .*//' + git hash-object bootstrap.conf +} + # Ensure that whenever we pull in a gnulib update or otherwise change to a # different version (i.e., when switching branches), we also rerun ./bootstrap. curr_status=.git-module-status -t=$(git submodule status|sed 's/^[ +-]//;s/ .*//'; \ - git hash-object bootstrap.conf) +t=$(bootstrap_hash) if test "$t" = "$(cat $curr_status 2>/dev/null)"; then : # good, it's up to date, all we need is autoreconf autoreconf -if else - echo running bootstrap... - ./bootstrap && echo "$t" > $curr_status || { - echo "Failed to bootstrap gnulib, please investigate." - exit 1; - } + echo running bootstrap... + ./bootstrap && bootstrap_hash > $curr_status \ + || { echo "Failed to bootstrap gnulib, please investigate."; exit 1; } fi cd "$THEDIR" |