Package: mmdebstrap Version: 0.7.5-2.2 Severity: minor mmdebstrap's approx_disk_usage calls File::Find find(), which for some reason cares about the permissions of $PWD. This is the case even when writing the .ext2 somewhere else.
bash5$ mkdir /tmp/a bash5$ cd /tmp/a bash5$ mmdebstrap sid /tmp/b.ext2 --quiet copying from tar archive - copying from tar archive - bash5$ ls -lh /tmp/b.ext2 -rw-r--r-- 1 twb twb 306M 2022-02-16 16:11 /tmp/b.ext2 bash5$ chmod 0700 . bash5$ pwd /tmp/a bash5$ mmdebstrap sid /tmp/b.ext2 --quiet copying from tar archive - Can't cd to /tmp/a: Permission denied Use of uninitialized value $numblocks in chomp at /usr/bin/mmdebstrap line 5607. Use of uninitialized value $numblocks in numeric le (<=) at /usr/bin/mmdebstrap line 5636. Use of uninitialized value $numblocks in concatenation (.) or string at /usr/bin/mmdebstrap line 5637. bash5$ ls -lh /tmp/b.ext2 -rw-r--r-- 1 twb twb 0 2022-02-16 16:12 /tmp/b.ext2 It looks like File::Find has a "no_chdir" argument. Maybe you just need to pass that? https://sources.debian.org/src/perl/5.34.0-3/ext/File-Find/lib/File/Find.pm/#L282 https://sources.debian.org/src/perl/5.34.0-3/ext/File-Find/lib/File/Find.pm/#L273 I guess this is happening because approx_disk_usage runs inside an unshare(2)'d context. So the other option might be to shuffle things around so it runs with full privileged. But that is probably deeply painful and messy. I would be happy with just having an earlier error message (i.e. before apt), like if (!$options->{dryrun} && $format eq 'ext2') if( <$PWD is not at least 0555> ) die "ext2 output needs world-read/execute permissions on $PWD"; -- System Information: Debian Release: 11.2 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'proposed-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 5.14.0-0.bpo.2-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages mmdebstrap depends on: ii apt 2.2.4 ii perl 5.32.1-4+deb11u2 ii python3 3.9.2-3 Versions of packages mmdebstrap recommends: ii arch-test 0.17-1 ii fakechroot 2.19-3.3 ii fakeroot 1.25.3-1.1 ii gpg 2.2.27-2 ii libdistro-info-perl 1.0 ii mount 2.36.1-8+deb11u1 ii uidmap 1:4.8.1-1 Versions of packages mmdebstrap suggests: ii apt [apt-transport-https] 2.2.4 pn apt-transport-tor <none> pn apt-utils <none> ii binfmt-support 2.2.1-1 ii ca-certificates 20210119 ii debootstrap 1.0.123 ii distro-info-data 0.51+deb11u1 ii dpkg-dev 1.20.9 ii perl-doc 5.32.1-4+deb11u2 pn proot <none> ii qemu-user 1:5.2+dfsg-11+deb11u1 ii qemu-user-static 1:5.2+dfsg-11+deb11u1 ii squashfs-tools-ng 1.0.4-1 -- no debconf information