diff --git a/cdist/conf/type/__clean_path/explorer/list b/cdist/conf/type/__clean_path/explorer/list
index 58d0b411..07d38127 100755
--- a/cdist/conf/type/__clean_path/explorer/list
+++ b/cdist/conf/type/__clean_path/explorer/list
@@ -29,9 +29,7 @@ then
exclude="$( cat "$__object/parameter/exclude" )"
find "$path" -mindepth 1 -maxdepth 1 -regex "$pattern" \
- -and -not -regex "$exclude" \
- \( -type d -printf '%p/\n' , -type f -print \)
+ -and -not -regex "$exclude"
else
- find "$path" -mindepth 1 -maxdepth 1 -regex "$pattern" \
- \( -type d -printf '%p/\n' , -type f -print \)
+ find "$path" -mindepth 1 -maxdepth 1 -regex "$pattern"
fi
diff --git a/cdist/conf/type/__clean_path/gencode-remote b/cdist/conf/type/__clean_path/gencode-remote
index 0157733f..998a70d8 100755
--- a/cdist/conf/type/__clean_path/gencode-remote
+++ b/cdist/conf/type/__clean_path/gencode-remote
@@ -18,7 +18,31 @@
# along with cdist. If not, see .
#
-if [ -f "$__object/explorer/list" ] && [ -f "$__object/parameter/onchange" ]
+[ ! -s "$__object/explorer/list" ] && exit 0
+
+path="/$__object_id"
+
+pattern="$( cat "$__object/parameter/pattern" )"
+
+if [ -f "$__object/parameter/exclude" ]
+then
+ exclude="$( cat "$__object/parameter/exclude" )"
+
+ echo "find '$path' -mindepth 1 -maxdepth 1 -regex '$pattern'" \
+ "-and -not -regex '$exclude'" \
+ '-exec rm -rf {} \;'
+else
+ echo "find '$path' -mindepth 1 -maxdepth 1 -regex '$pattern'" \
+ '-exec rm -rf {} \;'
+fi
+
+while read -r f
+do
+ echo "removed '$f'" >> "$__messages_out"
+done \
+< "$__object/explorer/list"
+
+if [ -f "$__object/parameter/onchange" ]
then
cat "$__object/parameter/onchange"
fi
diff --git a/cdist/conf/type/__clean_path/manifest b/cdist/conf/type/__clean_path/manifest
deleted file mode 100755
index 065ecb36..00000000
--- a/cdist/conf/type/__clean_path/manifest
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh -e
-#
-# 2019 Ander Punnar (ander-at-kvlt-dot-ee)
-#
-# This file is part of cdist.
-#
-# cdist is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# cdist is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with cdist. If not, see .
-#
-
-[ ! -f "$__object/explorer/list" ] && exit 0
-
-for l in $( cat "$__object/explorer/list" )
-do
- if echo "$l" | grep -Eq '/$'
- then
- __directory "$l" --state absent
- echo "removed directory '$l'" >> "$__messages_out"
- else
- __file "$l" --state absent
- echo "removed file '$l'" >> "$__messages_out"
- fi
-done