clean: refactor
this simplifies things to avoid the messy recursion. it is also a necessary step to implementing handling of common options like --debug. we need to process all options to decide how to approach doing things (e.g. with debug messages to be output or not) before actually performing any work, in order for options like --debug to be reacted to properly. also, as things were, options like `--debug` were not being passed along in the recursive executions, while now that is no longer an issue. the order of file/folder deletions for `--all`|`--purge`|`--remove` actions is slightly changed here, but i don't see any issue with that and it's cleaner to not preserve that. Gbp-Dch: Short
This commit is contained in:
parent
0afd3625ed
commit
fca1283147
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue