[arch-dev-public] critical: fakeroot broken again, breaks makepkg

Andrew Fyfe andrew at neptune-one.net
Thu Jul 12 14:51:06 EDT 2007


Andrew Fyfe wrote:
> 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=84c595ab24d1a4215ee39472652a7111aadfe81f;hb=HEAD#l123
> 
> _______________________________________________
> arch-dev-public mailing list
> arch-dev-public at archlinux.org
> http://archlinux.org/mailman/listinfo/arch-dev-public

The relevant code from cp...
[1]http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/copy.c;h=b7bf73b83cee406316e90af4b4bf8a4590fb6eb6;hb=HEAD#l1638
[2]http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/copy.c;h=b7bf73b83cee406316e90af4b4bf8a4590fb6eb6;hb=HEAD#l1714
[3]http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/copy.c;h=b7bf73b83cee406316e90af4b4bf8a4590fb6eb6;hb=HEAD#l2010


Andrew




More information about the arch-dev-public mailing list