bug-autoconf
[Top][All Lists]
Advanced

[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



reply via email to

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