#!/bin/sh set -eu export LC_ALL=C.UTF-8 if [ "$(id -u)" -eq 0 ] && ! id -u user > /dev/null 2>&1; then if [ ! -e /mmdebstrap-testenv ]; then echo "this test modifies the system and should only be run inside a container" >&2 exit 1 fi adduser --gecos user --disabled-password user fi if [ "{{ MODE }}" = unshare ]; then if [ ! -e /mmdebstrap-testenv ]; then echo "this test modifies the system and should only be run inside a container" >&2 exit 1 fi sysctl -w kernel.unprivileged_userns_clone=1 fi prefix= [ "$(id -u)" -eq 0 ] && [ "{{ MODE }}" != "root" ] && prefix="runuser -u user --" [ "{{ MODE }}" = "fakechroot" ] && prefix="$prefix fakechroot fakeroot" $prefix {{ CMD }} --mode={{ MODE }} --variant=extract --include=doc-debian {{ DIST }} /tmp/debian-chroot {{ MIRROR }} # delete contents of doc-debian rm /tmp/debian-chroot/usr/share/doc-base/debian-* rm -r /tmp/debian-chroot/usr/share/doc/debian rm -r /tmp/debian-chroot/usr/share/doc/doc-debian # delete real files rm /tmp/debian-chroot/etc/apt/sources.list rm /tmp/debian-chroot/etc/fstab rm /tmp/debian-chroot/etc/hostname rm /tmp/debian-chroot/etc/resolv.conf rm /tmp/debian-chroot/var/lib/dpkg/status rm /tmp/debian-chroot/var/lib/dpkg/arch rm /tmp/debian-chroot/var/cache/apt/archives/lock rm /tmp/debian-chroot/var/lib/apt/lists/lock ## delete merged usr symlinks #rm /tmp/debian-chroot/libx32 #rm /tmp/debian-chroot/lib64 #rm /tmp/debian-chroot/lib32 #rm /tmp/debian-chroot/sbin #rm /tmp/debian-chroot/bin #rm /tmp/debian-chroot/lib # delete ./dev (files might exist or not depending on the mode) rm -f /tmp/debian-chroot/dev/console rm -f /tmp/debian-chroot/dev/fd rm -f /tmp/debian-chroot/dev/full rm -f /tmp/debian-chroot/dev/null rm -f /tmp/debian-chroot/dev/ptmx rm -f /tmp/debian-chroot/dev/random rm -f /tmp/debian-chroot/dev/stderr rm -f /tmp/debian-chroot/dev/stdin rm -f /tmp/debian-chroot/dev/stdout rm -f /tmp/debian-chroot/dev/tty rm -f /tmp/debian-chroot/dev/urandom rm -f /tmp/debian-chroot/dev/zero # the rest should be empty directories that we can rmdir recursively find /tmp/debian-chroot -depth -print0 | xargs -0 rmdir