[libvirt] [PATCH] build: fix incremental autogen.sh when no AUTHORS is present
Laine Stump
laine at laine.org
Mon Dec 3 20:23:39 UTC 2012
On 12/03/2012 03:14 PM, Eric Blake wrote:
> Commit 71d1256 tried to fix a problem where rebasing an old
> branch on top of newer libvirt.git resulted in automake failing
> because of a missing AUTHORS file. However, while the fix
> worked for an incremental 'make', it did not work for someone
> that directly reran './autogen.sh'. Reported by Laine Stump.
>
> * autogen.sh (autoreconf): Check for same conditions as cfg.mk.
> * cfg.mk (_update_required): Add comments.
> ---
> autogen.sh | 3 ++-
> cfg.mk | 2 ++
> 2 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/autogen.sh b/autogen.sh
> index 126b272..d4957f1 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -69,14 +69,15 @@ if test -d .git; then
> *:set) ;;
> *-dirty*)
> echo "error: gnulib submodule is dirty, please investigate" 2>&1
> echo "set env-var CLEAN_SUBMODULE to discard gnulib changes" 2>&1
> exit 1 ;;
> esac
> + # Keep this test in sync with cfg.mk:_update_required
> if test "$t" = "$(cat $curr_status 2>/dev/null)" \
> - && test -f "po/Makevars"; then
> + && test -f "po/Makevars" && test -f AUTHORS; then
> # good, it's up to date, all we need is autoreconf
> autoreconf -if
> else
> if test ${CLEAN_SUBMODULE+set}; then
> echo cleaning up submodules...
> git submodule foreach 'git clean -dfqx && git reset --hard'
> diff --git a/cfg.mk b/cfg.mk
> index ec4ab1c..c4ae195 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -688,12 +688,14 @@ ifeq (0,$(MAKELEVEL))
> # in column 1 and does not print a "git describe"-style string after the
> # submodule name. Contrast these:
> # -b653eda3ac4864de205419d9f41eec267cb89eeb .gnulib
> # b653eda3ac4864de205419d9f41eec267cb89eeb .gnulib (v0.0-2286-gb653eda)
> # $ cat .git-module-status
> # b653eda3ac4864de205419d9f41eec267cb89eeb
> + #
> + # Keep this logic in sync with autogen.sh.
> _submodule_hash = sed 's/^[ +-]//;s/ .*//'
> _update_required := $(shell \
> cd '$(srcdir)'; \
> test -d .git || { echo 0; exit; }; \
> test -f po/Makevars || { echo 1; exit; }; \
> test -f AUTHORS || { echo 1; exit; }; \
My local tree isn't in a state that I can conveniently test it right
now, but it looks correct to me. ACK.
More information about the libvir-list
mailing list