GNU bug report logs -
#15926
RFE: unlink command already uses 'unlink' call; make 'rm' use 'remove' call
Previous Next
Reported by: Linda Walsh <coreutils <at> tlinx.org>
Date: Tue, 19 Nov 2013 11:58:02 UTC
Severity: normal
Tags: notabug, patch
Merged with 15943
Done: Assaf Gordon <assafgordon <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On 11/19/2013 11:45 PM, Bernhard Voelker wrote:
> On 11/20/2013 03:19 AM, Eric Blake wrote:
>> Yes, the 'rm -rf .' case appears to be a regression in coreutils that is
>> contrary to the behavior required by POSIX. That is:
>>
>> $ mkdir /tmp/foo /tmp/foo/sub
>> $ cd /tmp/foo
>> $ rm -r .
>> rm: cannot remove directory: ‘.’
>> $ ls
>> sub
>>
>> appears to be a bug in current coreutils, because it should have
>> successfully called rmdir("sub") prior to failing on the attempt to
>> rmdir(".").
>
> I disagree: see at the top of:
>
> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html
>
> If either of the files dot or dot-dot are specified as the basename
> portion of an operand (that is, the final pathname component) or if
> an operand resolves to the root directory, rm shall write a diagnostic
> message to standard error and do nothing more with such operands.
Ah, that's where it is. I was looking in the numbered steps, not the
paragraph before the numbered steps. So it appears that coreutils is
compliant after all.
>
> Maybe "cannot remove directory" is a bit weak - it's more like
> "refusing to remove dot|dot-dot|root directory".
Indeed, a clearer error message would be possible.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 6 years and 225 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.