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