summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2016-03-21 11:49:16 +1000
committerAllan McRae <allan@archlinux.org>2016-05-05 13:56:06 +1000
commita66cba1b08cc7c9f55efcfda6f4ab3cafff6b874 (patch)
treebe4376252e35d61e16cea46cc27e2513be6beb33
parentd4f499f5638a68a3b7e17c5171aabdf535b79bd4 (diff)
downloadpacman-a66cba1b08cc7c9f55efcfda6f4ab3cafff6b874.tar.xz
libmakepkg: ensure emptydir find command acts on individual directories
Using "-exec command {} +" systax exits on any error. Such errors occur when running rmdir on a non-empty directory. Switch to "{} ;" syntax instead which avoids exiting before the find command is completed. Fixes FS#48515. Note, we can not use "-empty" in the find command because it is not supported by Busybox find, and the "--ignore-fail-on-non-empty" flag for rmdir is not available on BSD rmdir variants. Signed-off-by: Allan McRae <allan@archlinux.org> (cherry picked from commit baf1ff64e6ea23e93f307480480d87159cd2e487)
-rw-r--r--scripts/libmakepkg/tidy/emptydirs.sh.in3
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/libmakepkg/tidy/emptydirs.sh.in b/scripts/libmakepkg/tidy/emptydirs.sh.in
index 32b8d8ca..85ab39df 100644
--- a/scripts/libmakepkg/tidy/emptydirs.sh.in
+++ b/scripts/libmakepkg/tidy/emptydirs.sh.in
@@ -33,6 +33,7 @@ tidy_remove+=('tidy_emptydirs')
tidy_emptydirs() {
if check_option "emptydirs" "n"; then
msg2 "$(gettext "Removing empty directories...")"
- find . -depth -type d -exec rmdir '{}' + 2>/dev/null
+ # we are unable to use '-empty' as it is non-POSIX and not support by all find variants
+ find . -depth -type d -exec rmdir '{}' \; 2>/dev/null
fi
}