[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: recent gnulib changes require coreutils adaptations

From: Paul Eggert
Subject: Re: recent gnulib changes require coreutils adaptations
Date: Fri, 20 Jul 2007 16:39:27 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Jim Meyering <address@hidden> 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
-    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 
+      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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]