On Tue, Jun 02, 2020 at 04:47:45PM +0100, Ian Jackson wrote: > Prior to 2621d48f005a "gnulib: delete all gnulib integration", > one could pass ./autogen.sh --no-git to prevent the libvirt build > system from running git submodule update. > > This feature is needed by systems like the Xen Project CI which want > to explicitly control the revisions of every tree. These will > typically arrange to initialise the submodules check out the right > version of everything, and then expect the build system not to mess > with it any more. > > Despite to the old documentation comments referring only to gnulib, > the --no-git feature is required not only because of gnulib but also > because of the other submodule, src/keycodemapdb. > > (And in any case, even if it were no longer required because all the > submodules were removed, it ought ideally to have been retained as a > no-op for compaibility reasons.) > > So restore the --no-git feature. > > Because of the way the argument parsing of autogen.sh works, it is > easiest to recognise this option only if it comes first. This works > for the Xen Project CI, which has always passed this option first. > > If something else is using this option (and hasn't introduced a > different workaround in the meantime), not in the first position, > then perhaps a more sophisticated approach will be needed. But I > think this will do for now. > > Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > --- > autogen.sh | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/autogen.sh b/autogen.sh > index 4e1bbceb0a..1c98273452 100755 > --- a/autogen.sh > +++ b/autogen.sh > @@ -1,5 +1,10 @@ > #!/bin/sh > # Run this to generate all the initial makefiles, etc. > +# > +# THe following options must come first. All other or subsequent > +# arguments are passed to configure: > +# --no-git skip `git submodule update --init` > + > test -n "$srcdir" || srcdir=$(dirname "$0") > test -n "$srcdir" || srcdir=. > > @@ -13,7 +18,11 @@ cd "$srcdir" > exit 1 > } > > -git submodule update --init || exit 1 > +if [ "x$1" = x--no-git ]; then > + shift > +else > + git submodule update --init || exit 1 I changed the TAB into spaces. > +fi > > autoreconf --verbose --force --install || exit 1 Reviewed-by: Pavel Hrdina <phrdina@xxxxxxxxxx> and pushed.
Attachment:
signature.asc
Description: PGP signature