This patch introduces a new STRIP_DIRS makepkg.conf option
to change makepkg's search path when stripping binaries.

Original work by: Thomas Bächler <[EMAIL PROTECTED]>
Signed-off-by: Allan McRae <[EMAIL PROTECTED]>
---
 doc/makepkg.conf.5.txt |    7 +++++++
 etc/makepkg.conf.in    |    2 ++
 scripts/makepkg.sh.in  |    9 ++++++---
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
index b5a49ba..8b39c46 100644
--- a/doc/makepkg.conf.5.txt
+++ b/doc/makepkg.conf.5.txt
@@ -134,6 +134,13 @@ Options
        that are located in opt/, you may need to add the directory to this
        array. *NOTE:* Do not add the leading slash to the directory name.
 
+**STRIP_DIRS=(**bin lib sbin usr/{bin,lib} ...**)**::
+       If "strip" is specified in the OPTIONS array, this variable will
+       instruct makepkg where to look to for files to strip. If you build
+       packages that are located in opt/, you may need to add the directory
+       to this array. *NOTE:* Do not add the leading slash to the directory
+       name.
+
 **PKGDEST=**"/path/to/folder"::
        If this value is not set, packages will by default be placed in the
        current directory (location of the linkman:PKGBUILD[5]). Many people
diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
index bb2018f..0241a8e 100644
--- a/etc/makepkg.conf.in
+++ b/etc/makepkg.conf.in
@@ -73,6 +73,8 @@ OPTIONS=(strip docs libtool emptydirs zipman)
 INTEGRITY_CHECK=(md5)
 #-- Info and doc directories to remove (if option set correctly above)
 DOC_DIRS=(usr/{,share/}{info,doc,gtk-doc} opt/*/{info,doc,gtk-doc})
+#-- Directories to be searched for the strip option (if option set correctly 
above)
+STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} 
opt/*/{bin,lib,sbin})
 
 #########################################################################
 # PACKAGE OUTPUT
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 2777102..ae19983 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -731,9 +731,12 @@ tidy_install() {
 
        if [ "$(check_option strip)" = "y" ]; then
                msg2 "$(gettext "Stripping debugging symbols from binaries and 
libraries...")"
-               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
+               local binary
+               if [ -z "[EMAIL PROTECTED]" ]; then
+                       # fall back to default value
+                       STRIP_DIRS=(bin lib sbin 
usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})
+               fi
+               find [EMAIL PROTECTED] -type f 2>/dev/null | while read binary 
; do
                        case "$(file -biz "$binary")" in
                                *application/x-sharedlib*)  # Libraries (.so)
                                        /usr/bin/strip --strip-debug "$binary";;
-- 
1.5.6.3


_______________________________________________
pacman-dev mailing list
[email protected]
http://archlinux.org/mailman/listinfo/pacman-dev

Reply via email to