Jim Meyering <[EMAIL PROTECTED]> writes:
> Comparing the differences in the sh -x output should
> help us get to the bottom of this.
Yes, thanks, that did the trick.
It turns out that my personal "ls" defaults to "ls -A" (this is an old
security-related habit of mine), but the coreutils bootstrap procedure
(accidentally or deliberately? I can't easily tell which) relies on
the fact that "ls" does not output file names beginning with ".". The
following patch ports to my personal environment (which I hope you
don't mind supporting).
The more worrisome aspect here is that the current bootstrap
environment seems to assume that gnulib file names won't start with
".". Is that a safe assumption in the future? Anyway, the following
patch puts in a FIXME about this.
* bootstrap (slurp): Work even in environments where "ls" defaults
to "ls -A". Put in a FIXME, though, since the current code does
not slurp files whose names start with ".", and this looks like
it might be a troublesome area.
diff --git a/bootstrap b/bootstrap
index 442309c..bad0cbe 100755
--- a/bootstrap
+++ b/bootstrap
@@ -391,7 +391,11 @@ slurp() {
for dir in . `(cd $1 && find * -type d -print)`; do
copied=
sep=
- for file in `ls $1/$dir`; do
+ for file in `ls -a $1/$dir`; do
+ case $file in
+ .|..) continue;;
+ .*) continue;; # FIXME: should all file names starting with "." be
ignored?
+ esac
test -d $1/$dir/$file && continue
for excluded_file in $excluded_files; do
test "$dir/$file" = "$excluded_file" && continue 2
M ChangeLog
M bootstrap
Committed as 4f0036f65ba7a84b99d1b2d16820a14719ff08af
_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils