From ce6b5cfac8dc60297d433bc868d32469dc06c36d Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 31 Dec 2018 19:20:46 +0100 Subject: bootstrap: die when some submodules are not initialized * build-aux/bootstrap: Make sure all submodules are initialized. --- build-aux/bootstrap | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'build-aux/bootstrap') diff --git a/build-aux/bootstrap b/build-aux/bootstrap index c13b486c57..5b08e7e2d4 100755 --- a/build-aux/bootstrap +++ b/build-aux/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2018-10-13.05; # UTC +scriptversion=2019-01-04.17; # UTC # Bootstrap this package from checked-out sources. @@ -963,6 +963,16 @@ fi bootstrap_post_import_hook \ || die "bootstrap_post_import_hook failed" +# Don't proceed if there are uninitialized submodules. In particular, +# the next step will remove dangling links, which might be links into +# uninitialized submodules. +# +# Uninitialized submodules are listed with an initial dash. +if $use_git && git submodule | grep '^-' >/dev/null; then + die "some git submodules are not initialized. " \ + "Run 'git submodule init' and bootstrap again." +fi + # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some # gnulib-populated directories. Such .m4 files would cause aclocal to fail. # The following requires GNU find 4.2.3 or newer. Considering the usual -- cgit v1.2.1