diff options
Diffstat (limited to 'subr.pkg/pkg_clean.subr')
-rw-r--r-- | subr.pkg/pkg_clean.subr | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/subr.pkg/pkg_clean.subr b/subr.pkg/pkg_clean.subr new file mode 100644 index 00000000..2046c28b --- /dev/null +++ b/subr.pkg/pkg_clean.subr @@ -0,0 +1,33 @@ +# +# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 LucĂa Andrea Illanes Albornoz <lucia@luciaillanes.de> +# set +o errexit -o noglob -o nounset is assumed. +# + +pkg_clean() { + local _pc_group_name="${1}" _pc_pkg_name="${2}" _pc_restart_at="${3}"; + + if [ "${PKG_NO_CLEAN:-0}" -eq 0 ]; then + if rtl_lmatch \$ARG_CLEAN_BUILDS "build" ","\ + && [ "${PKG_NO_CLEAN_BUILD_DIR:-0}" -eq 0 ]; then + if ! rtl_fileop rm "${PKG_BUILD_DIR}"; then + return 1; + fi; + fi; + if rtl_lmatch \$ARG_CLEAN_BUILDS "dest" ","; then + if ! rtl_fileop rm "${PKG_DESTDIR}"; then + return 1; + elif [ -e "${PKG_DESTDIR_HOST}" ]\ + && ! rtl_fileop rm "${PKG_DESTDIR_HOST}"; then + return 1; + fi; + fi; + if rtl_lmatch \$ARG_CLEAN_BUILDS "src" ","; then + if ! rtl_fileop rm "${PKG_BASE_DIR}/${PKG_SUBDIR}"; then + return 1; + fi; + fi; + fi; + return 0; +}; + +# vim:filetype=sh textwidth=0 |