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 1Sdsy5-0004AW-0f for garchives@archives.gentoo.org; Mon, 11 Jun 2012 00:58:53 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 69933E035C; Mon, 11 Jun 2012 00:58:44 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 20F3FE035C for ; Mon, 11 Jun 2012 00:58:44 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 336AE1B401C for ; Mon, 11 Jun 2012 00:58:43 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id EA8E0E542E for ; Mon, 11 Jun 2012 00:58:41 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1339376294.b6ecc428a7e04afa3449df6a6844978eeb40d569.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/, pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/Package.py pym/portage/eapi.py X-VCS-Directories: pym/portage/ pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: b6ecc428a7e04afa3449df6a6844978eeb40d569 X-VCS-Branch: master Date: Mon, 11 Jun 2012 00:58:41 +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: a1218aab-76f1-4102-b79e-d100e0f3904e X-Archives-Hash: 4686769a065671d19db30b74e4100be3 commit: b6ecc428a7e04afa3449df6a6844978eeb40d569 Author: Zac Medico gentoo org> AuthorDate: Mon Jun 11 00:58:14 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Mon Jun 11 00:58:14 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Db6ecc428 Package: use _eapi_attrs --- pym/_emerge/Package.py | 7 ++++--- pym/portage/eapi.py | 5 ++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index bdd4bc7..75021b9 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -10,7 +10,7 @@ from portage.const import EBUILD_PHASES from portage.dep import Atom, check_required_use, use_reduce, \ paren_enclose, _slot_re, _slot_separator, _repo_separator from portage.versions import _pkg_str, _unknown_repo -from portage.eapi import eapi_has_iuse_defaults, eapi_has_required_use +from portage.eapi import _get_eapi_attrs from portage.exception import InvalidDependString from _emerge.Task import Task =20 @@ -49,6 +49,7 @@ class Package(Task): self.metadata =3D _PackageMetadataWrapper(self, self._raw_metadata) if not self.built: self.metadata['CHOST'] =3D self.root_config.settings.get('CHOST', '') + eapi_attrs =3D _get_eapi_attrs(self.metadata["EAPI"]) slot =3D self.slot if _slot_re.match(slot) is None: self._invalid_metadata('SLOT.invalid', @@ -62,7 +63,7 @@ class Package(Task): # sync metadata with validated repo (may be UNKNOWN_REPO) self.metadata['repository'] =3D self.cpv.repo if (self.iuse.enabled or self.iuse.disabled) and \ - not eapi_has_iuse_defaults(self.metadata["EAPI"]): + not eapi_attrs.iuse_defaults: if not self.installed: self._invalid_metadata('EAPI.incompatible', "IUSE contains defaults, but EAPI doesn't allow them") @@ -194,7 +195,7 @@ class Package(Task): k =3D 'REQUIRED_USE' v =3D self.metadata.get(k) if v: - if not eapi_has_required_use(eapi): + if not _get_eapi_attrs(eapi).required_use: self._invalid_metadata('EAPI.incompatible', "REQUIRED_USE set, but EAPI=3D'%s' doesn't allow it" % eapi) else: diff --git a/pym/portage/eapi.py b/pym/portage/eapi.py index ca8af9c..e36567d 100644 --- a/pym/portage/eapi.py +++ b/pym/portage/eapi.py @@ -64,7 +64,8 @@ def eapi_allows_dots_in_use_flags(eapi): return eapi in ("4-python",) =20 _eapi_attrs =3D collections.namedtuple('_eapi_attrs', - 'dots_in_PN dots_in_use_flags repo_deps slot_deps ' + 'dots_in_PN dots_in_use_flags iuse_defaults ' + 'repo_deps required_use slot_deps ' 'src_uri_arrows strong_blocks use_deps use_dep_defaults') =20 _eapi_attrs_cache =3D {} @@ -81,7 +82,9 @@ def _get_eapi_attrs(eapi): eapi_attrs =3D _eapi_attrs( dots_in_PN =3D (eapi is None or eapi_allows_dots_in_PN(eapi)), dots_in_use_flags =3D (eapi is None or eapi_allows_dots_in_use_flags(e= api)), + iuse_defaults =3D (eapi is None or eapi_has_iuse_defaults(eapi)), repo_deps =3D (eapi is None or eapi_has_repo_deps(eapi)), + required_use =3D (eapi is None or eapi_has_required_use(eapi)), slot_deps =3D (eapi is None or eapi_has_slot_deps(eapi)), src_uri_arrows =3D (eapi is None or eapi_has_src_uri_arrows(eapi)), strong_blocks =3D (eapi is None or eapi_has_strong_blocks(eapi)),