[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bootstrap: clean only gnulib's stray links
From: |
Akim Demaille |
Subject: |
bootstrap: clean only gnulib's stray links |
Date: |
Tue, 1 Jan 2019 08:24:44 +0100 |
Hi!
In Bison we have another submodule, and symlinks pointing
into. Occasionally, some users launch ./bootstrap before having
initialized the submodules, in which case the symlink is removed
by bootstrap. When this happens, it takes quite a few interaction
with the user to understand what went wrong (see for instance
https://lists.gnu.org/archive/html/help-bison/2018-12/msg00034.html
and
https://lists.gnu.org/archive/html/bug-bison/2011-05/msg00012.html
This commit restricts this dandling symlink cleaning to those
going into gnulib.
Cheers, and happy new year!
commit bf316bfa3de7cfe7af948ba2ff84f44c252c4c01
Author: Akim Demaille <address@hidden>
Date: Mon Dec 31 19:20:46 2018 +0100
bootstrap: clean only gnulib's stray links
* build-aux/bootstrap: Remove only dangling links pointing into
gnulib.
diff --git a/ChangeLog b/ChangeLog
index 406e08327..5a1971983 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-01-01 Akim Demaille <address@hidden>
+
+ bootstrap: clean only gnulib's stray links
+ * build-aux/bootstrap: Remove only dangling links pointing into
+ gnulib.
+
2018-12-27 Paul Eggert <address@hidden>
mkfifo: bring back HAVE_MKFIFO macro
diff --git a/build-aux/bootstrap b/build-aux/bootstrap
index 5264d9f1e..45061733b 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-01.06; # UTC
# Bootstrap this package from checked-out sources.
@@ -963,7 +963,7 @@ fi
bootstrap_post_import_hook \
|| die "bootstrap_post_import_hook failed"
-# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
+# Remove any dangling symlink into gnulib/ 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
# portability constraints of this script, that may seem a very demanding
@@ -973,7 +973,15 @@ bootstrap_post_import_hook \
# between successive runs of this script.
find "$m4_base" "$source_base" \
-depth \( -name '*.m4' -o -name '*.[ch]' \) \
- -type l -xtype l -delete > /dev/null 2>&1
+ -type l -xtype l 2>/dev/null |
+ while read l
+ do
+ case `readlink "$l"` in
+ "`pwd`/$gnulib_path"/*)
+ echo "$me: rm -f $l"
+ rm -f "$l";;
+ esac
+ done
# Invoke autoreconf with --force --install to ensure upgrades of tools
# such as ylwrap.
- bootstrap: clean only gnulib's stray links,
Akim Demaille <=