Andrew Fyfe wrote:
Thomas Bächler wrote:
Andrew Fyfe schrieb:
Looking at your example I'm assuming you ran it in /dev/shm?
I did. But I was able to reproduce it on a "normal" ext3, which is however mounted with "acl,user_xattr". On an ext3 mounted without those options, it works.
I've just tried the same test on my ubuntu box (glibc-2.6, coreutils-5.97, fakeroot-1.7.1) and all is OK, so my guess at the moment is this is a coreutils issue.
It is a fakeroot issue. Coreutils seems to have introduced yet another change that isn't caught by fakeroot properly.
This problem only happens on tmpfs or a filesystem mounted with the acl option, and it only effects directories.
When running on a working fs it copies the directory and chmods it 0700, then it chmods it with it's correct permissions. When running on a tmpfs or an fs with acl it doesn't do the second chmod.
Not sure where to go from here, I'm a noob when it comes to C :)
Andrew
A little more digging... It looks like coreutils uses acl to set the permissions on a directory when using 'cp -a' [1] and as fakeroot doesn't wrap acl functions the permissions aren't being carried across. Andrew [1] http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/acl.c;h=84c595ab24d1...