#!/bin/sh set -eu export LC_ALL=C.UTF-8 if [ ! -e /mmdebstrap-testenv ]; then echo "this test modifies the system and should only be run inside a container" >&2 exit 1 fi for f in /etc/resolv.conf /etc/hostname; do # preserve original content cat "$f" > "$f.bak" # in case $f is a symlink, we replace it by a real file if [ -L "$f" ]; then rm "$f" cp "$f.bak" "$f" fi chmod 644 "$f" [ "$(stat --format=%A "$f")" = "-rw-r--r--" ] done {{ CMD }} --variant=custom --mode={{ MODE }} {{ DIST }} /tmp/debian-chroot {{ MIRROR }} for f in /etc/resolv.conf /etc/hostname; do [ "$(stat --format=%A "/tmp/debian-chroot/$f")" = "-rw-r--r--" ] done rm /tmp/debian-chroot/dev/console rm /tmp/debian-chroot/dev/fd rm /tmp/debian-chroot/dev/full rm /tmp/debian-chroot/dev/null rm /tmp/debian-chroot/dev/ptmx rm /tmp/debian-chroot/dev/random rm /tmp/debian-chroot/dev/stderr rm /tmp/debian-chroot/dev/stdin rm /tmp/debian-chroot/dev/stdout rm /tmp/debian-chroot/dev/tty rm /tmp/debian-chroot/dev/urandom rm /tmp/debian-chroot/dev/zero 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/apt/lists/lock rm /tmp/debian-chroot/var/lib/dpkg/status rm /tmp/debian-chroot/var/lib/dpkg/arch # the rest should be empty directories that we can rmdir recursively find /tmp/debian-chroot -depth -print0 | xargs -0 rmdir for f in /etc/resolv.conf /etc/hostname; do chmod 755 "$f" [ "$(stat --format=%A "$f")" = "-rwxr-xr-x" ] done {{ CMD }} --variant=custom --mode={{ MODE }} {{ DIST }} /tmp/debian-chroot {{ MIRROR }} for f in /etc/resolv.conf /etc/hostname; do [ "$(stat --format=%A "/tmp/debian-chroot/$f")" = "-rwxr-xr-x" ] done rm /tmp/debian-chroot/dev/console rm /tmp/debian-chroot/dev/fd rm /tmp/debian-chroot/dev/full rm /tmp/debian-chroot/dev/null rm /tmp/debian-chroot/dev/ptmx rm /tmp/debian-chroot/dev/random rm /tmp/debian-chroot/dev/stderr rm /tmp/debian-chroot/dev/stdin rm /tmp/debian-chroot/dev/stdout rm /tmp/debian-chroot/dev/tty rm /tmp/debian-chroot/dev/urandom rm /tmp/debian-chroot/dev/zero 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/apt/lists/lock rm /tmp/debian-chroot/var/lib/dpkg/status rm /tmp/debian-chroot/var/lib/dpkg/arch # the rest should be empty directories that we can rmdir recursively find /tmp/debian-chroot -depth -print0 | xargs -0 rmdir for f in /etc/resolv.conf /etc/hostname; do rm "$f" ln -s "$f.bak" "$f" [ "$(stat --format=%A "$f")" = "lrwxrwxrwx" ] done {{ CMD }} --variant=custom --mode={{ MODE }} {{ DIST }} /tmp/debian-chroot {{ MIRROR }} for f in /etc/resolv.conf /etc/hostname; do [ "$(stat --format=%A "/tmp/debian-chroot/$f")" = "-rw-r--r--" ] done rm /tmp/debian-chroot/dev/console rm /tmp/debian-chroot/dev/fd rm /tmp/debian-chroot/dev/full rm /tmp/debian-chroot/dev/null rm /tmp/debian-chroot/dev/ptmx rm /tmp/debian-chroot/dev/random rm /tmp/debian-chroot/dev/stderr rm /tmp/debian-chroot/dev/stdin rm /tmp/debian-chroot/dev/stdout rm /tmp/debian-chroot/dev/tty rm /tmp/debian-chroot/dev/urandom rm /tmp/debian-chroot/dev/zero 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/apt/lists/lock rm /tmp/debian-chroot/var/lib/dpkg/status rm /tmp/debian-chroot/var/lib/dpkg/arch # the rest should be empty directories that we can rmdir recursively find /tmp/debian-chroot -depth -print0 | xargs -0 rmdir