forked from josch/mmdebstrap
100 lines
3.4 KiB
Text
100 lines
3.4 KiB
Text
|
#!/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
|
||
|
# 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
|
||
|
# 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
|
||
|
# the rest should be empty directories that we can rmdir recursively
|
||
|
find /tmp/debian-chroot -depth -print0 | xargs -0 rmdir
|