diff --git a/autogen.sh b/autogen.sh index 2f5b42d638..c0a1c4ae0d 100755 --- a/autogen.sh +++ b/autogen.sh @@ -74,10 +74,14 @@ bootstrap_hash() # 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. +# 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)"; then - : # good, it's up to date, all we need is autoreconf +if test "$t" = "$(cat $curr_status 2>/dev/null)" \ + && test -f "$THEDIR/po/Makevars"; then + # good, it's up to date, all we need is autoreconf autoreconf -if else echo running bootstrap... diff --git a/cfg.mk b/cfg.mk index e12265e2e4..7226828a58 100644 --- a/cfg.mk +++ b/cfg.mk @@ -459,6 +459,7 @@ ifeq (0,$(MAKELEVEL)) # b653eda3ac4864de205419d9f41eec267cb89eeb _submodule_hash = sed 's/^[ +-]//;s/ .*//' _update_required := $(shell \ + test -f po/Makevars || { echo 1; exit; }; \ cd '$(srcdir)'; \ actual=$$(git submodule status | $(_submodule_hash); \ git hash-object bootstrap.conf; \