diff options
Diffstat (limited to 'scripts/build')
-rwxr-xr-x | scripts/build/clean | 186 |
1 files changed, 108 insertions, 78 deletions
diff --git a/scripts/build/clean b/scripts/build/clean index 178883260..8851305b0 100755 --- a/scripts/build/clean +++ b/scripts/build/clean @@ -43,108 +43,38 @@ if [ $# -eq 0 ]; then set -- "--all" fi -STAGEFILES_DIR="$(Stagefiles_dir)" - for ARGUMENT in "${@}"; do case "${ARGUMENT}" in --all) - Echo_debug "Running --all" - "${0}" noauto --chroot - "${0}" noauto --binary - "${0}" noauto --stage - "${0}" noauto --source - - rmdir --ignore-fail-on-non-empty auto > /dev/null 2>&1 || true - rmdir --ignore-fail-on-non-empty local/bin > /dev/null 2>&1 || true - rmdir --ignore-fail-on-non-empty local > /dev/null 2>&1 || true + RM_ALL="true" ;; --cache) - Echo_debug "Cleaning cache" - rm -rf cache + RM_CACHE="true" ;; --chroot) - # This one is not debug because it can potentially take some time - Echo_message "Cleaning chroot" - umount -f chroot/run > /dev/null 2>&1 || true - umount -f chroot/sys > /dev/null 2>&1 || true - umount -f chroot/proc/sys/fs/binfmt_misc > /dev/null 2>&1 || true - umount -f chroot/proc > /dev/null 2>&1 || true - umount -f chroot/lib/init/rw > /dev/null 2>&1 || true - umount -f chroot/dev/shm > /dev/null 2>&1 || true - umount -f chroot/dev/pts > /dev/null 2>&1 || true - umount -f chroot/dev > /dev/null 2>&1 || true - umount -f chroot/var/lib/dpkg > /dev/null 2>&1 || true - umount -f chroot/root/config > /dev/null 2>&1 || true - - umount -f chroot/binary.tmp > /dev/null 2>&1 || true - umount -f chroot/dev.tmp/pts > /dev/null 2>&1 || true - - rm -rf chroot chroot.tmp - - rm -f chroot.packages.live chroot.packages.install - rm -f chroot.files - - rm -f "$(Installed_tmp_packages_file)" - - rm -f "${STAGEFILES_DIR}"/chroot* + RM_CHROOT="true" ;; --binary) - Echo_debug "Cleaning binary" - umount -f binary.tmp > /dev/null 2>&1 || true - rm -rf binary.tmp binary.deb binary.udeb - rm -f ${LB_IMAGE_NAME}*.iso - rm -f ${LB_IMAGE_NAME}*.img - rm -f ${LB_IMAGE_NAME}*.tar.gz - rm -f ${LB_IMAGE_NAME}*.zsync* - rm -f ${LB_IMAGE_NAME}.sh - rm -f ${LB_IMAGE_NAME}*.contents ${LB_IMAGE_NAME}*.packages ${LB_IMAGE_NAME}*.files - rm -f ${LB_IMAGE_NAME}*.iso-ONIE.bin - rm -f MD5SUMS SHA1SUMS SHA256SUMS SHA512SUMS - rm -f md5sum.txt sha1sum.txt sha256sum.txt sha512sum.txt - - rm -rf binary - rm -rf tftpboot - - rm -f "${STAGEFILES_DIR}"/binary* + RM_BINARY="true" ;; --remove) - Echo_debug "Running --remove" - "${0}" noauto --all - rm -rf cache/packages.* + RM_REMOVE="true" ;; --purge) - Echo_debug "Running --purge" - "${0}" noauto --all - "${0}" noauto --cache - - if [ -e auto/config ] - then - Remove_stagefile config - fi + RM_PURGE="true" ;; --stage) - Echo_debug "Cleaning stage files" - rm -rf "${STAGEFILES_DIR}"/* + RM_STAGE="true" ;; --source) - Echo_debug "Cleaning source" - rm -f ${LB_IMAGE_NAME}-source*.iso - rm -f ${LB_IMAGE_NAME}-source*.img - rm -f ${LB_IMAGE_NAME}-source*.tar - rm -f ${LB_IMAGE_NAME}-source*.tar.gz - rm -f ${LB_IMAGE_NAME}-source*.list - rm -f ${LB_IMAGE_NAME}-source-selection.txt - - rm -rf source - - rm -f "${STAGEFILES_DIR}"/source* + RM_SOURCE="true" ;; -h|--help) @@ -166,3 +96,103 @@ for ARGUMENT in "${@}"; do ;; esac done + +STAGEFILES_DIR="$(Stagefiles_dir)" + +if [ "${RM_PURGE}" = "true" ]; then + Echo_debug "Initialising --purge cleaning" + RM_ALL="true" + RM_CACHE="true" + # Clear config stagefile + if [ -e auto/config ]; then + Remove_stagefile config + fi +fi + +if [ "${RM_REMOVE}" = "true" ]; then + Echo_debug "Initialising --remove cleaning" + RM_ALL="true" + rm -rf cache/packages.* +fi + +if [ "${RM_ALL}" = "true" ]; then + Echo_debug "Initialising --all cleaning" + RM_STAGE="true" + RM_CHROOT="true" + RM_BINARY="true" + RM_SOURCE="true" + rmdir --ignore-fail-on-non-empty auto > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local/bin > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty local > /dev/null 2>&1 || true +fi + +if [ "${RM_STAGE}" = "true" ]; then + Echo_debug "Cleaning stage files" + rm -rf "${STAGEFILES_DIR}"/* +fi + +if [ "${RM_CACHE}" = "true" ]; then + Echo_debug "Cleaning cache" + rm -rf cache +fi + +if [ "${RM_CHROOT}" = "true" ]; then + # This one is not debug because it can potentially take some time + Echo_message "Cleaning chroot" + umount -f chroot/run > /dev/null 2>&1 || true + umount -f chroot/sys > /dev/null 2>&1 || true + umount -f chroot/proc/sys/fs/binfmt_misc > /dev/null 2>&1 || true + umount -f chroot/proc > /dev/null 2>&1 || true + umount -f chroot/lib/init/rw > /dev/null 2>&1 || true + umount -f chroot/dev/shm > /dev/null 2>&1 || true + umount -f chroot/dev/pts > /dev/null 2>&1 || true + umount -f chroot/dev > /dev/null 2>&1 || true + umount -f chroot/var/lib/dpkg > /dev/null 2>&1 || true + umount -f chroot/root/config > /dev/null 2>&1 || true + + umount -f chroot/binary.tmp > /dev/null 2>&1 || true + umount -f chroot/dev.tmp/pts > /dev/null 2>&1 || true + + rm -rf chroot chroot.tmp + + rm -f chroot.packages.live chroot.packages.install + rm -f chroot.files + + rm -f "$(Installed_tmp_packages_file)" + + rm -f "${STAGEFILES_DIR}"/chroot* +fi + +if [ "${RM_BINARY}" = "true" ]; then + Echo_debug "Cleaning binary" + umount -f binary.tmp > /dev/null 2>&1 || true + rm -rf binary.tmp binary.deb binary.udeb + rm -f ${LB_IMAGE_NAME}*.iso + rm -f ${LB_IMAGE_NAME}*.img + rm -f ${LB_IMAGE_NAME}*.tar.gz + rm -f ${LB_IMAGE_NAME}*.zsync* + rm -f ${LB_IMAGE_NAME}.sh + rm -f ${LB_IMAGE_NAME}*.contents ${LB_IMAGE_NAME}*.packages ${LB_IMAGE_NAME}*.files + rm -f ${LB_IMAGE_NAME}*.iso-ONIE.bin + rm -f MD5SUMS SHA1SUMS SHA256SUMS SHA512SUMS + rm -f md5sum.txt sha1sum.txt sha256sum.txt sha512sum.txt + + rm -rf binary + rm -rf tftpboot + + rm -f "${STAGEFILES_DIR}"/binary* +fi + +if [ "${RM_SOURCE}" = "true" ]; then + Echo_debug "Cleaning source" + rm -f ${LB_IMAGE_NAME}-source*.iso + rm -f ${LB_IMAGE_NAME}-source*.img + rm -f ${LB_IMAGE_NAME}-source*.tar + rm -f ${LB_IMAGE_NAME}-source*.tar.gz + rm -f ${LB_IMAGE_NAME}-source*.list + rm -f ${LB_IMAGE_NAME}-source-selection.txt + + rm -rf source + + rm -f "${STAGEFILES_DIR}"/source* +fi |