summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2008-07-20 15:57:03 +1000
committerDan McGee <dan@archlinux.org>2008-07-20 19:06:14 -0500
commitae9e33ed88849bfdf4a9530f674701cc32d72563 (patch)
treebb419a0d20c23c1fe5004d2b615901201700d5d0
parentb4f2cb53ef568534e672a877f3d47f85ca18f2af (diff)
downloadpacman-ae9e33ed88849bfdf4a9530f674701cc32d72563.tar.xz
Make strip paths configurable
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 <thomas@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--doc/makepkg.conf.5.txt7
-rw-r--r--etc/makepkg.conf.in2
-rw-r--r--scripts/makepkg.sh.in9
3 files changed, 15 insertions, 3 deletions
diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
index b5a49ba8..8b39c467 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 bb2018f1..0241a8ec 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 27771025..ae199837 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 "${STRIP_DIRS[@]}" ]; 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 ${STRIP_DIRS[@]} -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";;