Commit Graph

111 Commits (main)

Author SHA1 Message Date
Johannes Schauer Marin Rodrigues f27ed490d6
Do not split --include values again in run_download and run_install
Closes: #1028977
1 year ago
Johannes Schauer Marin Rodrigues cc5ea8c0c7
tests/chrootless: now that all of essential is supported, test everything 1 year ago
Johannes Schauer Marin Rodrigues 52d1531c0d
tests/multiple-include: tzdata stopped shipping /usr/sbin/tzconfig 1 year ago
Johannes Schauer Marin Rodrigues 4925587b34
tests/as-debootstrap-unshare-wrapper: run diff with -u 1 year ago
Johannes Schauer Marin Rodrigues b0a5c30fb1
to find signed-by value, run gpg on the individual keys to print better error messages in case it fails (gpg doesn't give an indication which file it was unable to read) and print progress bar 1 year ago
Johannes Schauer Marin Rodrigues 644ac62ecd
tests/as-debootstrap-unshare-wrapper: isc-dhcp-client postinst doesn't create /etc/apparmor.d/local/sbin.dhclient 1 year ago
Johannes Schauer Marin Rodrigues 60186650cd
tests: tzdata gained lintian overrides and preinst prerm scripts 1 year ago
Johannes Schauer Marin Rodrigues 59ac33cebe
make shellcheck 0.9.0-1 more happy 1 year ago
Johannes Schauer Marin Rodrigues 2b832e0128
add jessie-or-older extract hook 1 year ago
Johannes Schauer Marin Rodrigues ccd8919e67
add tests/unshare-include-deb 1 year ago
Johannes Schauer Marin Rodrigues 67fbe118f3
tests/i386-which-can-be-executed-without-qemu: fixup spurious merged-/usr problem 1 year ago
Johannes Schauer Marin Rodrigues 5a263b5532
tests/file-mirror: wrap lines 1 year ago
Johannes Schauer Marin Rodrigues 1f15194a6e
tests/pivot_root: use the mmdebstrap binary we copied into the chroot 1 year ago
Johannes Schauer Marin Rodrigues 5bd3da0aef
tests/create-tarball-dry-run: fix MODE->VARIANT 1 year ago
Johannes Schauer Marin Rodrigues d442f436de
shellcheck everything 1 year ago
Johannes Schauer Marin Rodrigues 4ccd799b50
tests/include-deb-file: create a dummy binary package to make sure apt doesn't download the package from the mirror 1 year ago
Johannes Schauer Marin Rodrigues be156e7a14
tests/chrootless: skip if libpam-runtime (<= 1.5.2-5) 1 year ago
Johannes Schauer Marin Rodrigues ea146ad108
add undocumented --chrooted-*-hook calling pivot_root in unshare mode 1 year ago
Johannes Schauer Marin Rodrigues d15be6abbf
tests/check-against-debootstrap-dist: add more restrictions for remaining hacks 1 year ago
Johannes Schauer Marin Rodrigues 67902e06e9
tests/dev-ptmx: needs adduser inside the chroot 1 year ago
Johannes Schauer Marin Rodrigues c2cd4a2a77
tests/check-against-debootstrap-dist: sort /etc/group for variant important 2 years ago
Johannes Schauer Marin Rodrigues 5ec6256461
tests/create-arm64-tarball: use regex instead of hardcoding the perl version 2 years ago
Johannes Schauer Marin Rodrigues 822f8eafec
tests: test chrootless essential and systemd-sysv with fakeroot and foreign 2 years ago
Johannes Schauer Marin Rodrigues 43ba07e790
tests/check-against-debootstrap-dist: avoid code duplication by using a loop 2 years ago
Johannes Schauer Marin Rodrigues eb7cf54155
base-passwd now creates the _apt user 2 years ago
Johannes Schauer Marin Rodrigues 80ade97458
tests: put temporary files in /tmp and not into CWD 2 years ago
Johannes Schauer Marin Rodrigues e887a329ab
more changes for merged-/usr which is now default in testing and unstable 2 years ago
Johannes Schauer Marin Rodrigues fce852770b
tests/check-for-bit-by-bit-identical-format-output: add comment explaining why we cannot test chrootless mode here 2 years ago
Johannes Schauer Marin Rodrigues 07e3673161
tests/as-debootstrap-unshare-wrapper: systemd-sysusers before systemd 252 doesn't respect SOURCE_DATE_EPOCH when adding users to /etc/shadow 2 years ago
Johannes Schauer Marin Rodrigues 10c3d3e5f4
tests: output to stderr to prevent interleaving with set -x output 2 years ago
Johannes Schauer Marin Rodrigues 0903b3f6a7
tests/create-tarball-with-tmp-mounted-nodev: increase tmpfs size 2 years ago
Johannes Schauer Marin Rodrigues aac7157820
remove workarounds for #1010957 2 years ago
Johannes Schauer Marin Rodrigues fc5b60e038
adjust tests as /var/lib/dpkg/arch is now created unconditionally 2 years ago
Johannes Schauer Marin Rodrigues a207ac020b
remove test merged-usr-via-setup-hook as merged-/usr is now the default 2 years ago
Johannes Schauer Marin Rodrigues 7123808b6c
do not clean up /run/lock as /var/lock is a symlink to it according to Debian policy §9.1.4 2 years ago
Johannes Schauer Marin Rodrigues 410c5fcb24
fix --include option for files and add test case 2 years ago
Johannes Schauer Marin Rodrigues f4a3865c00
Remove support for proot.
The proot mode was broken from the start because in contrast to
fakechroot, no ownership information can be retained across multiple
invocations of proot. Since mmdebstrap started using apt from the
outside by setting DPkg::Chroot-Directory in mmdebstrap 0.8.0 proot mode
was finally completely broken because proot cannot wrap the chroot call
done by apt. Users of proot are recommended to run mmdebstrap in
fakechroot mode and then use proot with the resulting directory.
2 years ago
Johannes Schauer Marin Rodrigues 0ff2bef84c
tests/as-debootstrap-unshare-wrapper: redirect output of cmp and diff to stderr to preserve output order 2 years ago
Johannes Schauer Marin Rodrigues 0af22912f7
also delete everything in /run and add --skip=cleanup/run 2 years ago
Johannes Schauer Marin Rodrigues add9412a47
add --skip=chroot/mount and --skip=chroot/mount/dev, --skip=chroot/mount/proc, --skip=chroot/mount/sys 2 years ago
Johannes Schauer Marin Rodrigues e61e352f67
add --skip=chroot/start-stop-daemon and --skip=chroot/policy-rc.d 2 years ago
Johannes Schauer Marin Rodrigues 902bc55c4d
tarfilter --idshift now provides taridshift 2 years ago
Johannes Schauer Marin Rodrigues 226f86fea9
fix mmdebstrap hanging if apt in download step failed (closes: #1017795) 2 years ago
Johannes Schauer Marin Rodrigues df2226fb25
tests/check-against-debootstrap-dist: cmp outputs errors to stdout -- redirect to stderr to presereve output order with set +x 2 years ago
Johannes Schauer Marin Rodrigues 3fb97753ea
tests/check-against-debootstrap-dist: systemd started using systemd-sysusers instead of adduser 2 years ago
Johannes Schauer Marin Rodrigues 89a7e4c6ee
tests/custom-tmpdir: chown /home/user to 711 so that this test still works with adduser DIR_MODE=700 2 years ago
Johannes Schauer Marin Rodrigues f1d847e4ae
tests/dev-ptmx: we expect the grep calls to fail -- make sure they don't fail because /tmp/log doesn't exist 2 years ago
Johannes Schauer Marin Rodrigues 5533b25255
tests/chrootless-essential: enable again now that glibc is fixed 2 years ago
Johannes Schauer Marin Rodrigues d82afec5de
error out if stdout is a tty 2 years ago
Johannes Schauer Marin Rodrigues 432170c68e
tests/check-against-debootstrap-dist: account for ordering differences in /var/lib/dpkg/triggers/File 2 years ago
Johannes Schauer Marin Rodrigues 15c7de4a3b
tests/check-against-debootstrap-dist: static group ids for crontab, systemd-journal, systemd-network and systemd-resolve 2 years ago
Johannes Schauer Marin Rodrigues d91a18a350
Adjust merged-/usr as it's done by debootstrap
- implements the same as debootstrap in
   https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/71
 - builds a temporary usr-is-merged package and upgrades to the real one
 - create merged-/usr chroots for unstable and testing (which will
   become Debian 12 Bookworm)
 - add a dedicated merged-/usr section to the manual page
2 years ago
Johannes Schauer Marin Rodrigues 7cec147b9e
tests/arm64-without-qemu-support: removing qemu-user disables binfmt support again since src:systemd 251.2-4
Closes: #1012163
2 years ago
Johannes Schauer Marin Rodrigues 009089ee8a
Mount a new instance of /dev/pts in the chroot
Before, we bind-mounted /dev/ptmx and /dev/pts from the host into the
chroot. This will make posix_openpt() fail with 'No such file or
directory'.  The ability to create pseudo terminals is important for apt
(which will throw a warning otherwise) or running script(1) or source
package testsuites like for src:util-linux. This functionality is
restored by mounting a new devpts instance to /dev/pts and making
/dev/ptmx a symlink to /dev/pts/ptmx. Mounting with ptmxmode=666 is
required such that also non-root users in unshare mode are able to
create pseudo terminals. See also:

https://www.kernel.org/doc/Documentation/filesystems/devpts.txt
https://salsa.debian.org/debian/schroot/-/merge_requests/2
https://bugs.debian.org/856877
https://bugs.debian.org/817236
2 years ago
Johannes Schauer Marin Rodrigues 793d8bb561
add forgotten test create-directory-dry-run 2 years ago
Johannes Schauer Marin Rodrigues 153d1fa969
tests/arm64-without-qemu-support: disable binfmt not by uninstalling but by writing to /proc/sys/fs/binfmt_misc/qemu-aarch64
Since 1:7.0+dfsg-3, binfmt.d from systemd is used as preferred
alternative to binfmt-support. And systemd does not provide an official
way to trigger binfmt (de)registration besides a reboot.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012163

Since we also have binfmt-support installed, systemd and binfmt-support
work in parallel so this test becomes flaky and sometimes removing the
qemu packages would have the desired effect and sometimes not.

To make the test deterministic again, we explicitly disable emulation by
writing a 0 to /proc/sys/fs/binfmt_misc/qemu-aarch64
2 years ago
Johannes Schauer Marin Rodrigues c4962f9ab0
print value of SOURCE_DATE_EPOCH when creating and comparing debootstrap chroot to find bug only occurring when running autopkgtest around midnight 2 years ago
Johannes Schauer Marin Rodrigues c37e5e6059
tests/custom-tmpdir: try running mmdebstrap in a TMPDIR with special shell characters in its path 2 years ago
Johannes Schauer Marin Rodrigues d96e85fddd
file-mirror-automount hook now supports modes that cannot mount (like fakechroot) by copying the repo into the chroot 2 years ago
Johannes Schauer Marin Rodrigues e4ef326b59
Only set up FAKECHROOT_CMD_SUBST for paths in PATH containing the original binary
If FAKECHROOT_CMD_SUBST sets up wrong substitutions, then binaries
cannot be found. For example if /usr/bin/chroot is listed in
FAKECHROOT_CMD_SUBST but /usr/sbin (the actual location of the chroot
binary) is not in PATH, the command fails
2 years ago
Johannes Schauer Marin Rodrigues 4c3fddcd54
rewrite coverage.sh
- multiple individual shell scripts instead of one 3.5k line monster
 - tests driven by Python script allowing:
    * declarative test description in coverage.txt
    * collecting errors instead of aborting on first error
    * skipping tests
    * running specific tests
2 years ago