| #!/bin/bash |
| # Copyright 1999-2005 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id: /var/cvsroot/gentoo-src/portage/bin/prepstrip,v 1.23.2.3 2005/08/15 02:58:20 vapier Exp $ |
| |
| if [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ; then |
| echo "nostrip" |
| STRIP="/bin/false" |
| PORTAGE_STRIP_FLAGS="" |
| else |
| STRIP="${STRIP:-${CHOST}-strip}" |
| type -p ${STRIP} > /dev/null || STRIP=strip |
| PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS:---strip-unneeded} |
| fi |
| |
| banner=1 |
| retval=0 |
| |
| for x in "$@" ; do |
| if [ -d "${x}" ]; then |
| # We only want files. So make a pass for each directory and call again. |
| find "${x}" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 -or -name '*.so' -or -name '*.so.*' \) -print0 | |
| $XARGS -0 -n500 prepstrip |
| else |
| if [ ${banner} -eq 1 ] ; then |
| echo "strip: ${STRIP} ${PORTAGE_STRIP_FLAGS}" |
| banner=0 |
| fi |
| |
| f=$(file "${x}") || continue |
| [ -z "${f}" ] && continue |
| |
| if [ -z "${f/*current ar archive*/}" ]; then |
| echo " ${x:${#D}:${#x}}" |
| ${STRIP} -g "${x}" |
| fi |
| if [ -z "${f/*SB executable*/}" ]; then |
| echo " ${x:${#D}:${#x}}" |
| ${STRIP} "${x}" |
| fi |
| if [ -z "${f/*SB shared object*/}" ]; then |
| echo " ${x:${#D}:${#x}}" |
| ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" |
| fi |
| fi |
| done |
| |
| exit ${retval} |