summaryrefslogtreecommitdiffhomepage
path: root/subr.pkg/pkg_clean.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr.pkg/pkg_clean.subr')
-rw-r--r--subr.pkg/pkg_clean.subr33
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