Introduced by commit fac97c65c distributing cfg.mk, which
previously could blindly assume it was in a git checkout.
* cfg.mk (_update_required): Also check for .git.
* autogen.sh: Don't run bootstrap from a tarball.
Reported by Daniel Veillard.
---
This should fix the issues of mistakenly running git on a tarball,
as reported here:
https://www.redhat.com/archives/libvir-list/2011-February/msg00371.html
autogen.sh | 27 +++++++++++++++------------
cfg.mk | 1 +
2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/autogen.sh b/autogen.sh
index ff13fd1..b64521e 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -8,8 +8,8 @@ THEDIR=`pwd`
cd "$srcdir"
test -f src/libvirt.c || {
- echo "You must run this script in the top-level libvirt directory"
- exit 1
+ echo "You must run this script in the top-level libvirt directory"
+ exit 1
}
@@ -52,16 +52,19 @@ bootstrap_hash()
# Also, running 'make rpm' tends to litter the po/ directory, and some people
# like to run 'git clean -x -f po' to fix it; but only ./bootstrap regenerates
# the required file po/Makevars.
-curr_status=.git-module-status
-t=$(bootstrap_hash; git diff .gnulib)
-if test "$t" = "$(cat $curr_status 2>/dev/null)" \
- && test -f "po/Makevars"; then
- # good, it's up to date, all we need is autoreconf
- autoreconf -if
-else
- echo running bootstrap$no_git...
- ./bootstrap$no_git --bootstrap-sync && bootstrap_hash > $curr_status \
- || { echo "Failed to bootstrap, please investigate."; exit 1; }
+# Only run bootstrap from a git checkout, never from a tarball.
+if test -d .git; then
+ curr_status=.git-module-status
+ t=$(bootstrap_hash; git diff .gnulib)
+ if test "$t" = "$(cat $curr_status 2>/dev/null)" \
+ && test -f "po/Makevars"; then
+ # good, it's up to date, all we need is autoreconf
+ autoreconf -if
+ else
+ echo running bootstrap$no_git...
+ ./bootstrap$no_git --bootstrap-sync && bootstrap_hash > $curr_status
\
+ || { echo "Failed to bootstrap, please investigate."; exit 1; }
+ fi
fi
cd "$THEDIR"
diff --git a/cfg.mk b/cfg.mk
index 120f452..4bbeb96 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -507,6 +507,7 @@ ifeq (0,$(MAKELEVEL))
_submodule_hash = sed 's/^[ +-]//;s/ .*//'
_update_required := $(shell \
cd '$(srcdir)'; \
+ test -d .git || { echo 0; exit; }; \
test -f po/Makevars || { echo 1; exit; }; \
actual=$$(git submodule status | $(_submodule_hash); \
git hash-object bootstrap.conf; \
--
1.7.4