changeset 40069:ccf429467866

bootstrap: die when some submodules are not initialized * build-aux/bootstrap: Make sure all submodules are initialized.
author Akim Demaille <akim.demaille@gmail.com>
date Mon, 31 Dec 2018 19:20:46 +0100
parents 27d44407d426
children 952ba063418e
files ChangeLog build-aux/bootstrap
diffstat 2 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jan 04 08:09:17 2019 -0800
+++ b/ChangeLog	Mon Dec 31 19:20:46 2018 +0100
@@ -1,3 +1,8 @@
+2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
+
+	bootstrap: die when some submodules are not initialized
+	* build-aux/bootstrap: Make sure all submodules are initialized.
+
 2019-01-04  Bruno Haible  <bruno@clisp.org>
 
 	bitsetv: Fix module dependencies.
--- a/build-aux/bootstrap	Fri Jan 04 08:09:17 2019 -0800
+++ b/build-aux/bootstrap	Mon Dec 31 19:20:46 2018 +0100
@@ -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 @@
 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