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

Reply via email to