From 0f88dade23aeb05db9814c21fa30ef08cc13b39c Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 24 Feb 2010 12:01:09 +0100 Subject: [PATCH] build: make git submodule checking more reliable * cfg.mk (_curr_status): Accommodate leading "+" or "-" in the output of git submodule status. * autogen.sh: Likewise. --- autogen.sh | 2 +- cfg.mk | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/autogen.sh b/autogen.sh index 833b1d18d0..9ae8d679d7 100755 --- a/autogen.sh +++ b/autogen.sh @@ -65,7 +65,7 @@ fi # 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) +t=$(git submodule status|sed 's/^[ +-]//;s/ .*//') if test "$t" = "$(cat $curr_status 2>/dev/null)"; then : # good, it's up to date, all we need is autoreconf autoreconf -if diff --git a/cfg.mk b/cfg.mk index 17bb3419fb..8317ae2b16 100644 --- a/cfg.mk +++ b/cfg.mk @@ -262,7 +262,9 @@ ifeq (0,$(MAKELEVEL)) # submodule name. Contrast these: # -b653eda3ac4864de205419d9f41eec267cb89eeb .gnulib # b653eda3ac4864de205419d9f41eec267cb89eeb .gnulib (v0.0-2286-gb653eda) - _submodule_hash = sed 's/.//;s/ .*//' + # $ cat .git-module-status + # b653eda3ac4864de205419d9f41eec267cb89eeb + _submodule_hash = sed 's/^[ +-]//;s/ .*//' _update_required := $(shell \ actual=$$(git submodule status | $(_submodule_hash)); \ stamp="$$($(_submodule_hash) $(_curr_status) 2>/dev/null)"; \