[pacman-dev] [PATCH] makepkg: only strip files that are writable
Allan McRae
allan at archlinux.org
Tue Jan 26 09:56:28 EST 2010
On 27/01/10 00:49, Cedric Staniewski wrote:
> On 26.01.2010 14:30, Allan McRae wrote:
>> Signed-off-by: Allan McRae<allan at archlinux.org>
>> ---
>> scripts/makepkg.sh.in | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>> index 5120feb..0ca5e36 100644
>> --- a/scripts/makepkg.sh.in
>> +++ b/scripts/makepkg.sh.in
>> @@ -869,7 +869,7 @@ tidy_install() {
>> if [[ $(check_option strip) = y&& -n ${STRIP_DIRS[*]} ]]; then
>> msg2 "$(gettext "Stripping unneeded symbols from binaries and libraries...")"
>> local binary
>> - find ${STRIP_DIRS[@]} -type f 2>/dev/null | while read binary ; do
>> + find ${STRIP_DIRS[@]} -type f -writable 2>/dev/null | while read binary ; do
>> case "$(file -biz "$binary")" in
>> *compressed-encoding*) # Skip compressed binaries
>> ;;
>
> Seems reasonable (strip fails for non-writable files, right?). However,
> according to my quick search, the writable flag is not available on BSD
> [1,2]. So we have to use -perm or is there a better option?
>
> Cedric
>
> [1] http://www.gsp.com/cgi-bin/man.cgi?section=1&topic=find
> [2]
> http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man1/find.1.html
>
Ah, stupid incompatible implementations of core utilities... So,
changing that find to:
find ${STRIP_DIRS[@]} -type f -perm -u+x
should work everywhere.
Allan
More information about the pacman-dev
mailing list