Package: fakeroot Version: 1.30.1-1.1 Severity: grave Control: affects -1 + mmdebstrap
Hi, since glibc 2.34 and coreutils 9.1, fakeroot fails to preserve ownership information when running "cp -a" on a file owned by a user other than root. On armel, armhf and i386 (our 32 bit arches), you can reproduce this problem by running inside fakeroot: $ touch foo $ chown 0:42 foo $ ls -lha foo $ cp -a foo bar $ ls -lha bar" which will print this: -rw-r--r-- 1 root shadow 0 Feb 5 23:00 foo -rw-r--r-- 1 root root 0 Feb 5 23:00 bar I submitted an improvement to the `cp-a` test which adds a check for the ownership information in addition to the mode checks as a merge request for that test here: https://salsa.debian.org/clint/fakeroot/-/merge_requests/19 Observe how the salsaci pipeline succeds for amd64 but fails on i386. The reason is that on i386, fakeroot will not retain the ownership information. A quick comparison of the strace output on arm64 (which does not have this problem) and armhf (which does have this problem) shows that arm64 calls fchown() while armhf calls fchown32() which is not wrapped by fakeroot. Maybe that is the problem? This breaks my package mmdebstrap in a similar way as #1023286 did. Since I think that `cp -a` functionality is quite essential, I'm making this bug RC. Feel free to adjust accordingly. Thanks! cheers, josch