bug-coreutils
[Top][All Lists]
Advanced

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

bug#25817: Why were Gnu coding standards violated in favor of posix for


From: L A Walsh
Subject: bug#25817: Why were Gnu coding standards violated in favor of posix for 'rm -fr .'?: request for reversion of behavior
Date: Mon, 20 Feb 2017 13:10:24 -0800
User-agent: Thunderbird



Eric Blake wrote:
tag 25817 needinfo
thanks

On 02/20/2017 01:41 PM, L A Walsh wrote:

So... why should 'rm' not be able to start it's deletion
from the inside of a directory? (@ "." )?

Please give more details as to what you think is broken.  Instead of
describing the problem in vague prose, please show a shell transcript
that creates a sample directory layout and cd's into the place that you
want, then attempts the removal that currently fails, as well as
explaining what you hoped to have happen instead of an error message.
-----
#!/bin/bash
cd /tmp || exit 1
mkdir tstdir || exit 1
mkdir tstdir/usr
mkdir tstdir/var
mount --bind /var /tmp/tstdir/var
mount --bind /usr /tmp/tstdir/usr
mkdir tstdir/{1,2,3}
cd /tmp/tstdir || exit
rm -fr . --one-file-system
---------
Output:
rm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘.’
----
Instead, it should have removed dirs 1,2,3 and not not 'var' or 'usr'.


----

rm originally did a depth first traversal and deletion
of files under it.

a few to several years ago a posix change was added to change the depth-first traversal and to
inspect local paths before doing the depth-first traversal
of directories like '.' -- and if it found '.' to disallow
any paths below '.' (prior to the depth-first traversal that
used to happen).









reply via email to

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