From: Zac Medico Date: Thu, 25 Dec 2008 01:27:20 +0000 (-0000) Subject: Bug #251976 - Add a QA_PRESTRIPPED variable for ebuilds to disable warnings about X-Git-Tag: v2.1.6.3~11 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=55ca8c6e65f323a3f5a558a4e116c3bebd4ce2d7;p=portage.git Bug #251976 - Add a QA_PRESTRIPPED variable for ebuilds to disable warnings about pre-stripped files. (trunk r12295:12300) svn path=/main/branches/2.1.6/; revision=12323 --- diff --git a/bin/prepstrip b/bin/prepstrip index 33bdb2209..3e4473314 100755 --- a/bin/prepstrip +++ b/bin/prepstrip @@ -80,12 +80,25 @@ 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 [[ -n $QA_PRESTRIPPED && -s $log && \ + ${QA_STRICT_PRESTRIPPED-unset} = unset ]] ; then + shopts=$- + set -o noglob + for x in $QA_PRESTRIPPED ; do + sed -e "s#^${x#/}\$##" -i "$log" + done + set +o noglob + set -$shopts + 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 diff --git a/man/ebuild.5 b/man/ebuild.5 index 1a6a867e0..7a5ec2ca4 100644 --- a/man/ebuild.5 +++ b/man/ebuild.5 @@ -484,6 +484,11 @@ The paths may contain regular expressions. This should contain a list of file paths, relative to the image directory, of files that contain .hash sections. The paths may contain regular expressions with escape\-quoted special characters. +.TP +\fBQA_PRESTRIPPED\fR +This should contain a list of file paths, relative to the image directory, of +files that contain pre-stripped binaries. The paths may contain regular +expressions with escape\-quoted special characters. .SH "PORTAGE DECLARATIONS" .TP .B inherit diff --git a/man/make.conf.5 b/man/make.conf.5 index 07ecba6f8..b2d447eb9 100644 --- a/man/make.conf.5 +++ b/man/make.conf.5 @@ -591,6 +591,10 @@ settings from ebuilds. See also \fBebuild\fR(5). Set this to cause portage to ignore any \fIQA_DT_HASH\fR override settings from ebuilds. See also \fBebuild\fR(5). .TP +\fBQA_STRICT_PRESTRIPPED = \fI"set"\fR +Set this to cause portage to ignore any \fIQA_PRESTRIPPED\fR override +settings from ebuilds. See also \fBebuild\fR(5). +.TP .B RESUMECOMMAND This variable contains the command used for resuming package sources that have been partially downloaded. It should be defined using the same format