# -*- sh -*- flameeyes_warning_if_file() { if [[ -s "${T}"/$1 ]]; then ewarn "Flameeyes QA Warning! $2" cat "${T}"/$1 ewarn "Flameeyes QA Warning (end)! $2" fi } my_post_src_prepare() { find "${S}" -name configure.ac -o -name configure.in | while read acfile; do acdir=$(dirname "$acfile") pushd "$acdir" &>/dev/null autoconf --trace AC_CANONICAL_TARGET 2>/dev/null | sed "s:^:$(pwd)/:" > "${T}"/flameeyes-canonical-target.log popd &>/dev/null done flameeyes_warning_if_file flameeyes-canonical-target.log "AC_CANONICAL_TARGET used" # egrep -rlZ '^#! */bin/sh$' "${S}" | xargs -0 file -i | grep 'text/x-shellscript' | sed -e 's$:[[:space:]]\+text/x-shellscript$$' | xargs /root/repos/anon/debian-devscripts/scripts/checkbashisms.pl &> "${T}"/flameeyes-bashisms.log # if [[ -s "${T}"/flameeyes-bashisms.log ]]; then # ewarn "Flameeyes QA Warning! sh scripts contain bashisms" # cat "${T}"/flameeyes-bashisms.log # fi } post_src_prepare() { my_post_src_prepare } post_src_unpack() { case ${EAPI} in 2) # Do nothing ;; 0|1) my_post_src_prepare ;; *) ewarn "Unknown EAPI! Running post_src_prepare just in case!" my_post_src_prepare ;; esac } post_src_install() { # scanelf -q -F "#s%F" -R -s '-__(|l|f)xstat' "${D}" > "${T}"/flameeyes-scanelf-stat64.log # if [[ -s "${T}"/flameeyes-scanelf-stat64.log ]]; then # ewarn "Flameeyes QA Warning! Missing largefile support" # cat "${T}"/flameeyes-scanelf-stat64.log >/dev/stderr # fi rm -f "${T}"/flameeyes-scanelf-bundled.log for symbol in adler32 BZ2_decompress jpeg_mem_init XML_Parse avcodec_init png_get_libpng_ver lt_dlopen GC_stdout; do scanelf -qRs +$symbol "${D}" >> "${T}"/flameeyes-scanelf-bundled.log done flameeyes_warning_if_file flameeyes-scanelf-bundled.log "Possibly bundled libraries" rm -f "${T}"/flameeyes-scanelf-insecure.log for symbol in tmpnam tmpnam_r tempnam gets sigstack getpw getwd mktemp; do scanelf -qRs -$symbol "${D}" >> "${T}"/flameeyes-scanelf-insecure.log done flameeyes_warning_if_file flameeyes-scanelf-insecure.log "Insecure functions used" find "${D}" \ \( -name '._*' -fprintf "${T}"/flameeyes-osx-forkfile.log "%P\n" \) , \ \( -perm /6000 -fprintf "${T}"/flameeyes-setXid-binaries.log "%#m %u:%g %P\n" \) , \ \( \( -path "${D}"usr/man/\* -or -path "${D}"usr/info/\* -or \ -path "${D}"usr/X11R6/\* -or -path "${D}"usr/doc/\* -or \ -path "${D}"usr/locale/\* -or -path "${D}"usr/lib/perl5/site_perl/\* -or \ -path "${D}"usr/local/\* \ \) -fprintf "${T}"/flameeyes-invalid-directory.log "/%P\n" \) , \ \( -path "${D}"usr/share/doc/\* -type d -prune -not -name "${PF}" \ -fprintf "${T}"/flameeyes-invalid-directory.log "/%P\n" \) , \ \( -path "${D}"usr/share/locale/\* -name '*.mo' \ -fprintf "${T}"/flameeyes-locales.log "/%P\n" \) if [[ -d "${D}"/usr/share/locale ]] && ! [[ -s "${T}"/flameeyes-locales.log ]]; then eqawarn "No locales installed (bug #264114)" fi flameeyes_warning_if_file flameeyes-invalid-directory.log "Invalid directories in image" flameeyes_warning_if_file flameeyes-osx-forkfile.log "OSX fork files found (._*)" flameeyes_warning_if_file flameeyes-setXid-binaries.log "setXid files found" } make() { if [[ "${FUNCNAME[1]}" == "einstall" ]] ; then emake -j1 "$@" else eqawarn "/etc/portage/bashrc QA notice: 'make' called by ${FUNCNAME[1]}" emake "$@" fi }