[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug#10819: [BUG][RM]
From: |
Stefano Lattarini |
Subject: |
Re: bug#10819: [BUG][RM] |
Date: |
Thu, 16 Feb 2012 22:19:13 +0100 |
On 02/16/2012 10:08 PM, Eric Blake wrote:
> [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
>
In fact, with NetBSD 5.1:
$ rm -f && rm -rf && echo YIPPIE
YIPPIE
:-)
> (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,
>
Adding an "OTOH" here would make the text clearer for me:
"On the other hand, these days ..."
At which point ...
> +Posix requires @command{rm -f} (but not @command{rm} in
> +isolation)
>
... the aside in parentheses become redundant.
> +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.
>
The rest looks good to me.
Thanks,
Stefano