Hi,

This is the patch from Thomas with the documentation added.  I'm not 
sure whether when STRIP_DIRS is not defined in makepkg.conf that we 
should use the default path or just output a warning message saying that 
it is not defined and no stripping is being done.

Allan

Allan McRae wrote:
> 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";;
>   




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

Reply via email to