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.txthttps://salsa.debian.org/debian/schroot/-/merge_requests/2https://bugs.debian.org/856877https://bugs.debian.org/817236
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
- 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