summaryrefslogtreecommitdiffhomepage
path: root/subr.pkg/pkg_fetch_clean.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr.pkg/pkg_fetch_clean.subr')
-rw-r--r--subr.pkg/pkg_fetch_clean.subr25
1 files changed, 25 insertions, 0 deletions
diff --git a/subr.pkg/pkg_fetch_clean.subr b/subr.pkg/pkg_fetch_clean.subr
new file mode 100644
index 00000000..6202b18b
--- /dev/null
+++ b/subr.pkg/pkg_fetch_clean.subr
@@ -0,0 +1,25 @@
+#
+# set +o errexit -o noglob -o nounset is assumed.
+#
+
+pkg_fetch_clean() {
+ local _pfc_group_name="${1}" _pfc_pkg_name="${2}" _pfc_restart_at="${3}" \
+ _pfc_dname="";
+
+ if [ "${PKG_URLS_GIT:+1}" = 1 ]; then
+ if [ "${PKG_SUBDIR:+1}" = 1 ]\
+ && [ "${PKG_SUBDIR}" != "${PKG_URLS_GIT%%=*}" ]; then
+ rtl_fileop rm "${PKG_SUBDIR}";
+ fi;
+
+ for _pfc_dname in ${PKG_URLS_GIT}; do
+ _pfc_dname="${_pfc_dname%%=*}"; rtl_fileop rm "${_pfc_dname}";
+ done;
+ elif [ "${PKG_SUBDIR:+1}" = 1 ]; then
+ rtl_fileop rm "${PKG_SUBDIR}";
+ fi;
+
+ return 0;
+};
+
+# vim:filetype=sh