From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1RftdQ-0005ts-67 for garchives@archives.gentoo.org; Wed, 28 Dec 2011 13:33:36 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DBDC221C04E; Wed, 28 Dec 2011 13:33:25 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 9365721C04E for ; Wed, 28 Dec 2011 13:33:25 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D6A8A1B4011 for ; Wed, 28 Dec 2011 13:33:24 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 16ED780043 for ; Wed, 28 Dec 2011 13:33:24 +0000 (UTC) From: "Thomas Sachau" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Sachau" Message-ID: Subject: [gentoo-commits] proj/portage:multilib commit in: / X-VCS-Repository: proj/portage X-VCS-Committer: tommy X-VCS-Committer-Name: Thomas Sachau X-VCS-Revision: ea7b8a670b20397448d53bf971a66bcc9896714c Date: Wed, 28 Dec 2011 13:33:24 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 46ded92e-9d23-4a0d-9d16-25f851cb47d8 X-Archives-Hash: 1fc708f0500971034edde7a3a16eac76 commit: ea7b8a670b20397448d53bf971a66bcc9896714c Author: Thomas Sachau gentoo org> AuthorDate: Wed Dec 28 13:33:04 2011 +0000 Commit: Thomas Sachau gentoo org> CommitDate: Wed Dec 28 13:33:04 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Dea7b8a67 Merge commit 'v2.2.0_alpha84' into multilib bin/misc-functions.sh | 157 ++++++++++++----= ------ bin/repoman | 8 +- man/ebuild.5 | 2 +- man/make.conf.5 | 6 +- pym/_emerge/FakeVartree.py | 1 + pym/portage/const.py | 1 + pym/portage/dbapi/vartree.py | 15 ++- pym/portage/repository/config.py | 38 +++--- pym/portage/tests/ebuild/test_config.py | 2 + pym/portage/tests/resolver/ResolverPlayground.py | 10 +- pym/portage/xpak.py | 2 +- 11 files changed, 140 insertions(+), 102 deletions(-) diff --cc bin/misc-functions.sh index 252fba1,5a726b3..a27d5da --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@@ -153,9 -152,92 +153,93 @@@ install_qa_check()=20 [[ " ${FEATURES} " =3D=3D *" force-prefix "* ]] || \ case "$EAPI" in 0|1|2) local ED=3D${D} ;; esac =20 + [[ -d "${ED}" ]] || return 0 cd "${ED}" || die "cd failed" =20 + # Merge QA_FLAGS_IGNORED and QA_DT_HASH into a single array, since + # QA_DT_HASH is deprecated. + qa_var=3D"QA_FLAGS_IGNORED_${ARCH/-/_}" + eval "[[ -n \${!qa_var} ]] && QA_FLAGS_IGNORED=3D(\"\${${qa_var}[@]}\"= )" + if [[ ${#QA_FLAGS_IGNORED[@]} -eq 1 ]] ; then + local shopts=3D$- + set -o noglob + QA_FLAGS_IGNORED=3D(${QA_FLAGS_IGNORED}) + set +o noglob + set -${shopts} + fi +=20 + qa_var=3D"QA_DT_HASH_${ARCH/-/_}" + eval "[[ -n \${!qa_var} ]] && QA_DT_HASH=3D(\"\${${qa_var}[@]}\")" + if [[ ${#QA_DT_HASH[@]} -eq 1 ]] ; then + local shopts=3D$- + set -o noglob + QA_DT_HASH=3D(${QA_DT_HASH}) + set +o noglob + set -${shopts} + fi +=20 + if [[ -n ${QA_DT_HASH} ]] ; then + QA_FLAGS_IGNORED=3D("${QA_FLAGS_IGNORED[@]}" "${QA_DT_HASH[@]}") + unset QA_DT_HASH + fi +=20 + # Merge QA_STRICT_FLAGS_IGNORED and QA_STRICT_DT_HASH, since + # QA_STRICT_DT_HASH is deprecated + if [ "${QA_STRICT_FLAGS_IGNORED-unset}" =3D unset ] && \ + [ "${QA_STRICT_DT_HASH-unset}" !=3D unset ] ; then + QA_STRICT_FLAGS_IGNORED=3D1 + unset QA_STRICT_DT_HASH + fi +=20 + # Check for files built without respecting *FLAGS. Note that + # -frecord-gcc-switches must be in all *FLAGS variables, in + # order to avoid false positive results here. + # NOTE: This check must execute before prepall/prepstrip, since + # prepstrip strips the .GCC.command.line sections. + if type -P scanelf > /dev/null && ! has binchecks ${RESTRICT} && \ + [[ "${CFLAGS}" =3D=3D *-frecord-gcc-switches* ]] && \ + [[ "${CXXFLAGS}" =3D=3D *-frecord-gcc-switches* ]] && \ + [[ "${FFLAGS}" =3D=3D *-frecord-gcc-switches* ]] && \ + [[ "${FCFLAGS}" =3D=3D *-frecord-gcc-switches* ]] ; then + rm -f "${T}"/scanelf-ignored-CFLAGS.log + for x in $(scanelf -qyRF '%k %p' -k \!.GCC.command.line "${ED}" | \ + sed -e "s:\!.GCC.command.line ::") ; do + # Separate out file types that are known to support + # .GCC.command.line sections, using the `file` command + # similar to how prepstrip uses it. + f=3D$(file "${x}") || continue + [[ -z ${f} ]] && continue + if [[ ${f} =3D=3D *"SB executable"* || + ${f} =3D=3D *"SB shared object"* ]] ; then + echo "${x}" >> "${T}"/scanelf-ignored-CFLAGS.log + fi + done +=20 + if [[ -f "${T}"/scanelf-ignored-CFLAGS.log ]] ; then +=20 + if [ "${QA_STRICT_FLAGS_IGNORED-unset}" =3D unset ] ; then + for x in "${QA_FLAGS_IGNORED[@]}" ; do + sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log + done + fi + # Filter anything under /usr/lib/debug/ in order to avoid + # duplicate warnings for splitdebug files. + sed -e "s#^usr/lib/debug/.*##" -e "/^\$/d" -e "s#^#/#" \ + -i "${T}"/scanelf-ignored-CFLAGS.log + f=3D$(<"${T}"/scanelf-ignored-CFLAGS.log) + if [[ -n ${f} ]] ; then + vecho -ne '\n' + eqawarn "${BAD}QA Notice: Files built without respecting CFLAGS hav= e been detected${NORMAL}" + eqawarn " Please include the following list of files in your report= :" + eqawarn "${f}" + vecho -ne '\n' + sleep 1 + else + rm -f "${T}"/scanelf-ignored-CFLAGS.log + fi + fi + fi +=20 export STRIP_MASK prepall has "${EAPI}" 0 1 2 3 || prepcompress