summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/build/clean186
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