[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug#10819: [BUG][RM]
From: |
Eric Blake |
Subject: |
Re: bug#10819: [BUG][RM] |
Date: |
Thu, 16 Feb 2012 14:08:28 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20120131 Thunderbird/10.0 |
[dropping coreutils, as we are now moving on to what autoconf should
document]
On 02/16/2012 11:58 AM, Eric Blake wrote:
> As would I. My tests were pretty extensive, hitting some rather old
> machines:
>
> FreeBSD 6.4
> AIX 5.1
> HP-UX 10.20
> IRIX 6.5
> Solaris 2.6 (both /bin/rm and /usr/xpg4/bin/rm)
> Tru64 UNIX 5.1
>
> In all cases, 'rm' gave a usage message and non-zero status, 'rm -f' was
> silent with status 0.
What I did not test was NetBSD. After reading what is currently in the
autoconf manual, I did a source search, and
http://cvsweb.netbsd.org/bsdweb.cgi/src/bin/rm/rm.c.diff?r1=1.46&r2=1.47&only_with_tag=MAIN&f=h
shows it was fixed only in May 2008 (arguably as a fix to comply with
POSIX, even though POSIX at that time did not require it :) Four years
is a relatively long time, do we suspect that NetBSD from that long ago
is still in active use?
>> so that we could simplify a bunch of automake recipes); but a more extensive
>> probing is needed in this matter I guess. And if you are right (as I hope),
>> then this 'rm' feature could be documented in the Autoconf manual.
>
> Yep, I think that's appropriate, as it is unlikely that we will come up
> with any counterexamples any time soon.
Does this look reasonable, then?
docs: tweak 'rm -f' limitations
* doc/autoconf.texi (Limitations of Usual Tools) <rm>: More
details on 'rm -f' without files.
diff --git i/doc/autoconf.texi w/doc/autoconf.texi
index 82837a2..eee3234 100644
--- i/doc/autoconf.texi
+++ w/doc/autoconf.texi
@@ -19225,10 +19225,12 @@ Limitations of Usual Tools
@prindex @command{rm}
The @option{-f} and @option{-r} options are portable.
-It is not portable to invoke @command{rm} without operands. For
-example, on many systems @samp{rm -f -r} (with no other arguments)
-silently succeeds without doing anything, but it fails with a diagnostic
-on NetBSD 2.0.2.
+It is not portable to invoke @command{rm} without options or operands.
+These days, Posix requires @command{rm -f} (but not @command{rm} in
+isolation) to silently succeed when there are no operands (useful for
+constructs like @command{rm -rf $filelist} without first checking if
address@hidden was empty), but this was not always portable; at least
+NetBSD @command{rm} built before 2008 would fail with a diagnostic.
A file might not be removed even if its parent directory is writable
and searchable. Many Posix hosts cannot remove a mount point, a named
--
Eric Blake address@hidden +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- Re: bug#10819: [BUG][RM],
Eric Blake <=