diff options
-rw-r--r-- | scripts/makepkg.sh.in | 11 |
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 |