On Jan 4, 2008 11:12 AM, Thomas Bächler <thomas@archlinux.org> wrote:
This version fixes the fakeroot/acl/makepkg bug when using cp -a on directories. For details, see http://bugs.archlinux.org/task/8214#comment22826
Wow, the fix doesn't include sweeping code changes and yet this bug has been around for a while. Where did this patch come from? Does upstream have it?
I took the time and wrote the patch, thus upstream does not have it. Actually, this patch is only a workaround: It makes it look like the underlying filesystem never supports ACLs when writing them (you can still read ACLs though). coreutils falls back to a function called chmod_or_fchmod in this case, which apparently uses either chmod or fchmod to set the mode, both of which are wrapped by fakeroot. It may not fix other broken tools, but I don't know about any other breakage.
For us this is fine, as pacman packages (tarballs) should only contain normal Unix permissions (I doubt that tar has support for ACLs anyway) and most of our users don't even use ACLs. However, this does not extend the fakeroot environment to support ACLs, thus it is not a good thing for an upstream package: The patch would probably be rejected.
Well, wow, thanks a lot. This is great work. Do you happen to have a test case for me to test? Or should I just mount something with ACLs and compare to a package build without ACLs?