5e07567d5a
move running debootstrap from make_mirror.sh to a test case
2023-02-12 14:05:09 +01:00
b18849caac
Assume that we can always run unshare
...
With mount --rbind we can bind-mount /proc in a privileged docker
container as it is used by salsaci.
2023-02-12 14:05:08 +01:00
b474150f27
tests: fall back to diffoscope if cmp failed
2023-02-10 13:00:13 +01:00
4c64adf6ee
add tests/auto-mode-as-normal-user
2023-02-10 04:00:11 +01:00
b648db0afd
tests: tzdata dropped /etc/timezone
2023-02-10 04:00:10 +01:00
d9e6d62328
tests: redirect all id output to /dev/null
2023-02-09 10:53:09 +01:00
a2d5573749
tests: drop qemu requirements for tests that only use it to create a user by defaulting to SUDO_USER
2023-02-09 10:53:08 +01:00
98aef0d023
tests: do not run sysctl -w kernel.unprivileged_userns_clone=1 as its the default value since linux 5.10.1 (Dec 2020)
2023-02-01 18:39:27 +01:00
090ce862c7
tests: replace adduser with useradd
2023-02-01 18:03:38 +01:00
f737cce3f1
Support creating a fakechroot with merged-/usr on an unmerged-/usr system
...
Thanks: Helmut Grohne for finding this issue and help interating this
2023-01-24 09:58:42 +01:00
6d220e9a8d
run script with -e to catch exit code
2023-01-20 07:09:17 +01:00
c738e96752
allow empty sources.list entries
2023-01-16 15:19:50 +01:00
860a9048d5
make info message lowercase like the rest
2023-01-16 15:01:30 +01:00
f27ed490d6
Do not split --include values again in run_download and run_install
...
Closes : #1028977
2023-01-16 12:13:21 +01:00
cc5ea8c0c7
tests/chrootless: now that all of essential is supported, test everything
2023-01-16 12:06:22 +01:00
52d1531c0d
tests/multiple-include: tzdata stopped shipping /usr/sbin/tzconfig
2023-01-16 12:06:21 +01:00
4925587b34
tests/as-debootstrap-unshare-wrapper: run diff with -u
2023-01-16 12:06:21 +01:00
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
2023-01-16 12:06:20 +01:00
644ac62ecd
tests/as-debootstrap-unshare-wrapper: isc-dhcp-client postinst doesn't create /etc/apparmor.d/local/sbin.dhclient
2023-01-16 07:43:09 +01:00
60186650cd
tests: tzdata gained lintian overrides and preinst prerm scripts
2023-01-03 22:24:22 +01:00
59ac33cebe
make shellcheck 0.9.0-1 more happy
2022-12-25 08:00:15 +01:00
2b832e0128
add jessie-or-older extract hook
2022-12-23 10:06:28 +01:00
ccd8919e67
add tests/unshare-include-deb
2022-12-23 10:06:27 +01:00
67fbe118f3
tests/i386-which-can-be-executed-without-qemu: fixup spurious merged-/usr problem
2022-12-23 10:06:27 +01:00
5a263b5532
tests/file-mirror: wrap lines
2022-12-23 10:06:27 +01:00
1f15194a6e
tests/pivot_root: use the mmdebstrap binary we copied into the chroot
2022-11-18 09:49:52 +01:00
5bd3da0aef
tests/create-tarball-dry-run: fix MODE->VARIANT
2022-11-16 14:02:58 +01:00
d442f436de
shellcheck everything
2022-11-16 13:59:38 +01:00
4ccd799b50
tests/include-deb-file: create a dummy binary package to make sure apt doesn't download the package from the mirror
2022-11-15 14:47:42 +01:00
be156e7a14
tests/chrootless: skip if libpam-runtime (<= 1.5.2-5)
2022-11-14 14:35:12 +01:00
ea146ad108
add undocumented --chrooted-*-hook calling pivot_root in unshare mode
2022-11-14 14:35:12 +01:00
d15be6abbf
tests/check-against-debootstrap-dist: add more restrictions for remaining hacks
2022-11-14 14:31:05 +01:00
67902e06e9
tests/dev-ptmx: needs adduser inside the chroot
2022-11-07 16:11:47 +01:00
c2cd4a2a77
tests/check-against-debootstrap-dist: sort /etc/group for variant important
2022-10-27 14:53:04 +02:00
5ec6256461
tests/create-arm64-tarball: use regex instead of hardcoding the perl version
2022-10-27 14:52:21 +02:00
822f8eafec
tests: test chrootless essential and systemd-sysv with fakeroot and foreign
2022-10-27 14:22:53 +02:00
43ba07e790
tests/check-against-debootstrap-dist: avoid code duplication by using a loop
2022-10-18 10:51:22 +02:00
eb7cf54155
base-passwd now creates the _apt user
2022-10-18 10:42:09 +02:00
80ade97458
tests: put temporary files in /tmp and not into CWD
2022-10-18 10:35:23 +02:00
e887a329ab
more changes for merged-/usr which is now default in testing and unstable
2022-10-18 10:32:03 +02:00
fce852770b
tests/check-for-bit-by-bit-identical-format-output: add comment explaining why we cannot test chrootless mode here
2022-10-18 10:22:19 +02:00
07e3673161
tests/as-debootstrap-unshare-wrapper: systemd-sysusers before systemd 252 doesn't respect SOURCE_DATE_EPOCH when adding users to /etc/shadow
2022-10-18 10:20:02 +02:00
10c3d3e5f4
tests: output to stderr to prevent interleaving with set -x output
2022-10-16 22:32:46 +02:00
0903b3f6a7
tests/create-tarball-with-tmp-mounted-nodev: increase tmpfs size
2022-10-16 21:58:41 +02:00
aac7157820
remove workarounds for #1010957
2022-10-16 18:07:42 +02:00
fc5b60e038
adjust tests as /var/lib/dpkg/arch is now created unconditionally
2022-10-16 15:20:02 +02:00
a207ac020b
remove test merged-usr-via-setup-hook as merged-/usr is now the default
2022-10-16 14:45:29 +02:00
7123808b6c
do not clean up /run/lock as /var/lock is a symlink to it according to Debian policy §9.1.4
2022-09-06 21:30:48 +02:00
410c5fcb24
fix --include option for files and add test case
2022-09-06 13:06:40 +02:00
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.
2022-09-05 06:21:17 +02:00
0ff2bef84c
tests/as-debootstrap-unshare-wrapper: redirect output of cmp and diff to stderr to preserve output order
2022-09-02 23:36:44 +02:00
0af22912f7
also delete everything in /run and add --skip=cleanup/run
2022-09-02 23:29:52 +02:00
add9412a47
add --skip=chroot/mount and --skip=chroot/mount/dev, --skip=chroot/mount/proc, --skip=chroot/mount/sys
2022-09-02 23:27:27 +02:00
e61e352f67
add --skip=chroot/start-stop-daemon and --skip=chroot/policy-rc.d
2022-09-02 23:25:48 +02:00
902bc55c4d
tarfilter --idshift now provides taridshift
2022-08-31 05:35:40 +02:00
226f86fea9
fix mmdebstrap hanging if apt in download step failed ( closes : #1017795 )
2022-08-30 21:55:57 +02:00
df2226fb25
tests/check-against-debootstrap-dist: cmp outputs errors to stdout -- redirect to stderr to presereve output order with set +x
2022-08-28 08:22:00 +02:00
3fb97753ea
tests/check-against-debootstrap-dist: systemd started using systemd-sysusers instead of adduser
2022-08-28 08:18:47 +02:00
89a7e4c6ee
tests/custom-tmpdir: chown /home/user to 711 so that this test still works with adduser DIR_MODE=700
2022-08-28 08:16:28 +02:00
f1d847e4ae
tests/dev-ptmx: we expect the grep calls to fail -- make sure they don't fail because /tmp/log doesn't exist
2022-08-28 08:15:08 +02:00
5533b25255
tests/chrootless-essential: enable again now that glibc is fixed
2022-08-11 12:45:00 +02:00
d82afec5de
error out if stdout is a tty
2022-07-28 17:20:57 +02:00
432170c68e
tests/check-against-debootstrap-dist: account for ordering differences in /var/lib/dpkg/triggers/File
2022-07-26 22:29:09 +02:00
15c7de4a3b
tests/check-against-debootstrap-dist: static group ids for crontab, systemd-journal, systemd-network and systemd-resolve
2022-07-26 22:29:09 +02:00
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
2022-07-26 22:29:08 +02:00
7cec147b9e
tests/arm64-without-qemu-support: removing qemu-user disables binfmt support again since src:systemd 251.2-4
...
Closes : #1012163
2022-07-13 11:01:44 +02:00
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
2022-06-14 08:26:48 +02:00
793d8bb561
add forgotten test create-directory-dry-run
2022-06-13 14:00:44 +02:00
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
2022-06-04 08:43:38 +02:00
c4962f9ab0
print value of SOURCE_DATE_EPOCH when creating and comparing debootstrap chroot to find bug only occurring when running autopkgtest around midnight
2022-06-04 08:42:23 +02:00
c37e5e6059
tests/custom-tmpdir: try running mmdebstrap in a TMPDIR with special shell characters in its path
2022-06-04 08:30:53 +02:00
d96e85fddd
file-mirror-automount hook now supports modes that cannot mount (like fakechroot) by copying the repo into the chroot
2022-05-29 09:31:12 +02:00
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
2022-05-29 08:11:43 +02:00
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
2022-05-28 17:49:05 +02:00