From 16e1443f5b969047299b1f73992f3eacd131e1c5 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 24 Dec 2008 03:43:44 +0000 Subject: Bug #251976 - Add a QA_PRESTRIPPED variable for ebuilds to disable warnings about pre-stripped files. svn path=/main/trunk/; revision=12296 --- bin/prepstrip | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/prepstrip b/bin/prepstrip index 33bdb2209..4fb0760cd 100755 --- a/bin/prepstrip +++ b/bin/prepstrip @@ -80,12 +80,30 @@ save_elf_debug() { # They prevent us from getting the splitdebug data. if ! hasq binchecks ${RESTRICT} && \ ! hasq strip ${RESTRICT} ; then - f=$(scanelf -yqRBF '#k%F' -k '!.symtab' "$@") - if [[ -n ${f} ]] ; then + log=$T/scanelf-already-stripped.log + scanelf -yqRBF '#k%F' -k '!.symtab' "$@" | sed -e "s#^$D##" > "$log" + if [[ -s $log && ${QA_STRICT_PRESTRIPPED-unset} = unset ]] ; then + if [[ ${#QA_DT_HASH[@]} -gt 1 ]] ; then + for x in "${QA_PRESTRIPPED[@]}" ; do + sed -e "s#^${x#/}\$##" -i "$log" + done + else + local shopts=$- + set -o noglob + for x in $QA_PRESTRIPPED ; do + sed -e "s#^${x#/}\$##" -i "$log" + done + set +o noglob + set -$shopts + fi + fi + sed -e "/^\$/d" -e "s#^#/#" -i "$log" + if [[ -s $log ]] ; then vecho -e "\a\n" eqawarn "QA Notice: Pre-stripped files found:" - eqawarn "${f}" - echo "${f}" > "${T}"/scanelf-already-stripped.log + eqawarn "$(<"$log")" + else + rm -f "$log" fi fi -- cgit v1.2.3-1-g7c22