#!/bin/sh if test `id -u` -ne 0 then echo "$0 must be run as root." return fi set -e FRESH=clean_environment ROOT=test_environment add_mount() { if mountpoint -q "$ROOT$1" then echo "$ROOT$1 already mounted." else echo "Mounting $2$1 to $ROOT$1" mkdir -p "$ROOT$1" mount -o bind "$2$1" "$ROOT$1" fi } remove_mount() { if mountpoint -q "$ROOT$1" then echo "Unmounting $ROOT$1" umount -l "$ROOT$1" fi } add_mounts() { add_mount / "$ROOT" add_mount /proc add_mount /sys add_mount /dev add_mount /dev/pts add_mount /tmp/.X11-unix } remove_mounts() { remove_mount /tmp/.X11-unix remove_mount /dev/pts remove_mount /dev remove_mount /sys remove_mount /proc remove_mount / } remove_environment() { if test -d "$ROOT" then # Call this script that automatically unmounts the mount points too. remove_mounts echo "Removing $ROOT" rm -r "$ROOT" else echo "No environment found at $ROOT. Doing nothing." fi } remove_everything() { if test -d "$ROOT" then # Call this script that automatically unmounts the mount points too. remove_environment fi if test -d "$FRESH" then echo "Removing $FRESH" rm -r "$FRESH" fi if test -d debootstrap then echo "Removing debootstrap" rm -r debootstrap fi if test -f pkglist.x86_64.txt then echo "Removing pkglist.x86_64.txt" rm pkglist.x86_64.txt fi if test -f archlinux-bootstrap*.tar.zst then echo "Removing archlinux bootstrap tarballs." rm archlinux-bootstrap*.tar.zst fi } case "$1" in everything) remove_everything ;; mounts) remove_mounts ;; add_mounts) add_mounts ;; environment) remove_environment ;; "") remove_environment ;; esac