summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/makepkg.sh.in11
1 files changed, 6 insertions, 5 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index b83f57a1..6304a258 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -996,14 +996,15 @@ tidy_install() {
# check file still exists (potentially already compressed due to hardlink)
if [[ -f ${manpage} ]]; then
# find hard links and remove them
- # the '|| true' part keeps the script from bailing if find returned an
- # error, such as when one of the man directories doesn't exist
- find "${MAN_DIRS[@]}" \! -name "$file" -samefile "$manpage" \
- -exec rm -f {} \; 2>/dev/null || true
+ # the '|| true' part keeps the script from bailing on the EOF returned
+ # by read at the end of the find output
+ IFS=$'\n' read -rd '' -a hardlinks < \
+ <(find "${MAN_DIRS[@]}" \! -name "$file" -samefile "$manpage" 2>/dev/null) || true
+ rm -f "${hardlinks[@]}"
# compress the original
gzip -9 "$manpage"
# recreate hard links removed earlier
- for hl in ${hardlinks}; do
+ for hl in "${hardlinks[@]}"; do
ln "${manpage}.gz" "${hl}.gz"
chmod 644 ${hl}.gz
done