From 6c4afefc2add5eeb0f220c7b6d0ac766bea272f5 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Mon, 15 Feb 2021 01:11:40 -0500 Subject: [PATCH] Bundle scripts to help re-bootstrap the package. We can include the main bootstrapping scripts easily enough in the package. If the user has a (possibly updated) Gnulib available, it is now possible to regenerate the build system just by running the included bootstrap script. --- Makefile.am | 3 ++- NEWS | 1 + bootstrap | 16 ++++++++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 9515723..3d9b938 100644 --- a/Makefile.am +++ b/Makefile.am @@ -11,7 +11,8 @@ DISTCLEANFILES = MOSTLYCLEANFILES = MAINTAINERCLEANFILES = EXTRA_LIBRARIES = -EXTRA_DIST = INSTALL README.md +EXTRA_DIST = bootstrap common/scripts/fix-gnulib.pl m4/gnulib-cache.m4 \ + INSTALL README.md AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib \ -DLOCALEDIR=\"$(localedir)\" diff --git a/NEWS b/NEWS index c7783c5..b7da861 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,5 @@ Release 1a: + * Include build system regeneration helper scripts. * Fix NLS-related build problems. Release 1: diff --git a/bootstrap b/bootstrap index ea1324f..5023d83 100755 --- a/bootstrap +++ b/bootstrap @@ -11,7 +11,7 @@ scriptname=$0 err() { - printf '%s: %s\n' "$scriptname" "$@" 1>&2 + printf '%s: %s\n' "$scriptname" "$*" 1>&2 } die() { @@ -30,7 +30,19 @@ $GIT submodule update --init || err "Failed to update submodules from git." if test -x $GNULIB/gnulib-tool; then $GNULIB/gnulib-tool --update -S || die "Failed to update Gnulib." else - die "Gnulib sources are not properly installed in gnulib/." + err "Gnulib sources are not properly installed in $GNULIB/" + cat >&2 <<'EOF' + +To bootstrap this package using an external Gnulib, you can set the GNULIB +environment variable to indicate the location of the Gnulib sources. +EOF + + test ! -f configure || cat >&2 <<'EOF' + +However, it seems this package is already bootstrapped. It should not +normally be necessary to run this script from a release tarball. +EOF + exit 1 fi $PERL common/scripts/fix-gnulib.pl -o lib/gnulib.mk -i lib/gnulib.mk.in \ -- 2.43.2