summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaenyth Blank <Daenyth+git@gmail.com>2008-04-27 12:43:41 -0400
committerDan McGee <dan@archlinux.org>2008-04-27 14:18:43 -0500
commit27943a04d6dd135628c2313525ebffbcd76cc514 (patch)
tree0d7536beefa33fb0aebce7780e7e4f6b7cc10de0
parentc465d9e848b19b495259c7021a583c29fba92b44 (diff)
downloadpacman-27943a04d6dd135628c2313525ebffbcd76cc514.tar.xz
makepkg: fix strip section to allow spaces in paths
Inside tidy_install, change the section which strips libraries to use find | while read rather than for foo in `find`. This should allow whitespaces in filenames to still be processed correctly. This fixes FS#10294. Signed-off-by: Daenyth Blank <Daenyth+git@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in10
1 files changed, 6 insertions, 4 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 79c3fd17..54676667 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -751,12 +751,14 @@ tidy_install() {
if [ "$(check_option strip)" = "y" ]; then
msg2 "$(gettext "Stripping debugging symbols from binaries and libraries...")"
- for file in $(find {,usr/{,local/},opt/*/}{bin,lib,sbin} -type f 2>/dev/null || true); do
- case "$(file -biz "$file")" in
+ local binary bindirs
+ bindirs="bin lib sbin usr/bin usr/lib usr/sbin usr/local/bin usr/local/lib usr/local/sbin opt/*/bin opt/*/lib opt/*/sbin"
+ find ${bindirs} -type f 2>/dev/null | while read binary ; do
+ case "$(file -biz "$binary")" in
*application/x-sharedlib*) # Libraries
- /usr/bin/strip --strip-debug "$file";;
+ /usr/bin/strip --strip-debug "$binary";;
*application/x-executable*) # Binaries
- /usr/bin/strip "$file";;
+ /usr/bin/strip "$binary";;
esac
done
fi