# 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
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
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