Package: fakeroot
Version: 2.1.1-1
Severity: normal
Hi,
I have a very strange issue. Here is a reproducer but beware:
* it is flaky
* it works on amd64 but *not* on arm64
I have not yet found a more minimal way to produce this bug:
mmdebstrap --architectures=amd64,arm64 --variant=apt unstable /dev/null \
--include=fakeroot,mmdebstrap,arch-test,dpkg-dev,libfakeroot:arm64,passwd,openssh-server
\
--chrooted-customize-hook='echo deb http://deb.debian.org/debian unstable
main > /etc/apt/sources.list && apt update && apt install
openssh-server=1:10.4p1-1 openssh-common=1:10.4p1-1
openssh-sftp-server=1:10.4p1-1' \
--chrooted-customize-hook='dpkg -l | cat' \
--chrooted-customize-hook='fakeroot mmdebstrap --architecture=arm64
--variant=apt --include=openssh-server --mode=chrootless unstable /dev/null' \
http://snapshot.debian.org/archive/debian/$TIMESTAMP
When $TIMESTAMP is 20260706T142243Z the above reliably works (tested by running
it 20 times). When $TIMESTAMP is 20260706T202848Z it fails like this:
cp: preserving permissions for
‘/tmp/mmdebstrap.dwiysSniaX/var/lib/ucf/hashfile.0’: Unknown error 32624
or like this:
cp: preserving permissions for
‘/tmp/mmdebstrap.5CWorYgX2q/etc/ssh/sshd_config’: Unknown error 32636
Or it doesn't fail at all.
The command manually installs openssh-server=1:10.4p1-1 because that's the only
package other than fakeroot which differs between timestamps 20260706T142243Z
and 20260706T202848Z. Once we equalized the openssh version, the only
difference between the two timestamps is:
2.0-1 works
2.1.1-1 fails
I observed that the command which fails (for both ucf as well as openssh
postinst) is a cp carrying the -Z argument.
If you happen to have a hunch which commit between 2.0-1 and 2.1.1-1 could've
broken cp with SELinux I could try reverting that commit and see if that fixes
it.
Thanks!
cheers, josch