#!/bin/sh # lh_clean(1) - clean up system build directories # Copyright (C) 2006-2007 Daniel Baumann # # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING. # This is free software, and you are welcome to redistribute it # under certain conditions; see COPYING for details. set -e # Including common functions LH_BASE="${LH_BASE:-/usr/share/live-helper}" for FUNCTION in "${LH_BASE}"/functions/*.sh do . "${FUNCTION}" done # Setting static variables DESCRIPTION="clean up system build directories" HELP="" USAGE="${PROGRAM} [--all] [--cache] [--chroot] [--binary] [--purge] [--remove] [--stage] [--source]" Arguments "${@}" # Reading configuration files Read_conffile config/common Read_conffile config/bootstrap Read_conffile config/chroot Read_conffile config/binary Read_conffile config/source Read_conffile "${LH_CONFIG}" Set_defaults rm -f .lock if [ -z "${@}" ] then ARGUMENTS="--all" else ARGUMENTS="${@}" fi # Avoid cases were users accidentally nuke their config/binary if [ ! -d config ] || [ "$(basename ${PWD})" = "config" ] then Echo_error "${PWD} is not a good Debian Live working directory to clean." exit 1 fi for ARGUMENT in ${ARGUMENTS} do case "${ARGUMENT}" in --all) "${0}" --chroot "${0}" --binary "${0}" --stage "${0}" --source ;; --cache) ${LH_ROOT_COMMAND} rm -rf cache ;; --chroot) Echo_message "Cleaning chroot" ${LH_ROOT_COMMAND} umount -f chroot/sys > /dev/null 2>&1 || true ${LH_ROOT_COMMAND} umount -f chroot/proc/sys/fs/binfmt_misc > /dev/null 2>&1 || true ${LH_ROOT_COMMAND} umount -f chroot/proc > /dev/null 2>&1 || true ${LH_ROOT_COMMAND} umount -f chroot/lib/init/rw > /dev/null 2>&1 || true ${LH_ROOT_COMMAND} umount -f chroot/dev/shm > /dev/null 2>&1 || true ${LH_ROOT_COMMAND} umount -f chroot/dev/pts > /dev/null 2>&1 || true ${LH_ROOT_COMMAND} umount -f chroot/dev > /dev/null 2>&1 || true ${LH_ROOT_COMMAND} rm -rf chroot chroot.tmp rm -f .stage/chroot* ;; --binary) ${LH_ROOT_COMMAND} umount -f binary.tmp > /dev/null 2>&1 || true rm -rf binary.tmp binary.deb binary.udeb rm -f binary.iso rm -f binary.img rm -f binary*.tar.gz rm -f binary.sh rm -rf binary rm -rf tftpboot rm -f .stage/binary* ;; --remove) "${0}" --all rm -rf cache/packages_* ;; --purge) "${0}" --all "${0}" --cache ;; --stage) rm -rf .stage ;; --source) rm -f source.iso rm -f source.img rm -f source*.tar rm -f source*.tar.gz rm -rf source rm -f .stage/source* ;; *) "${0}" --usage ;; esac done