diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-08-24 21:08:47 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-08-24 21:08:47 -0700 |
commit | 741093a384ff8256965ec4842664216cf911bcb5 (patch) | |
tree | e5d26f51a5454b8d5a7dafdc375076efa4de93e8 /pym/portage/dbapi | |
parent | c74972c6b1e30232ab961f0206cdee81b7e4c5f5 (diff) | |
download | portage-741093a384ff8256965ec4842664216cf911bcb5.tar.gz portage-741093a384ff8256965ec4842664216cf911bcb5.tar.bz2 portage-741093a384ff8256965ec4842664216cf911bcb5.zip |
_pkg_str: pass in config + metadata with KEYWORDS
This will be needed in order to support stable use.mask/force for
bug #431078.
Diffstat (limited to 'pym/portage/dbapi')
-rw-r--r-- | pym/portage/dbapi/__init__.py | 16 | ||||
-rw-r--r-- | pym/portage/dbapi/porttree.py | 4 | ||||
-rw-r--r-- | pym/portage/dbapi/virtual.py | 4 |
3 files changed, 12 insertions, 12 deletions
diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py index b999fb5df..97b425558 100644 --- a/pym/portage/dbapi/__init__.py +++ b/pym/portage/dbapi/__init__.py @@ -25,7 +25,7 @@ class dbapi(object): _use_mutable = False _known_keys = frozenset(x for x in auxdbkeys if not x.startswith("UNUSED_0")) - _pkg_str_aux_keys = ("EAPI", "SLOT", "repository") + _pkg_str_aux_keys = ("EAPI", "KEYWORDS", "SLOT", "repository") def __init__(self): pass @@ -153,8 +153,7 @@ class dbapi(object): metadata = dict(zip(self._pkg_str_aux_keys, self.aux_get(cpv, self._pkg_str_aux_keys, myrepo=repo))) - return _pkg_str(cpv, slot=metadata["SLOT"], - repo=metadata["repository"], eapi=metadata["EAPI"]) + return _pkg_str(cpv, metadata=metadata, settings=self.settings) def _iter_match_repo(self, atom, cpv_iter): for cpv in cpv_iter: @@ -182,7 +181,7 @@ class dbapi(object): 2) Check enabled/disabled flag states. """ - aux_keys = ["IUSE", "SLOT", "USE", "repository"] + aux_keys = ["IUSE", "KEYWORDS", "SLOT", "USE", "repository"] for cpv in cpv_iter: try: metadata = dict(zip(aux_keys, @@ -234,11 +233,12 @@ class dbapi(object): elif not self.settings.local_config: # Check masked and forced flags for repoman. - if hasattr(cpv, 'slot'): - pkg = cpv + try: + cpv.slot + except AttributeError: + pkg = _pkg_str(cpv, metadata=metadata, settings=self.settings) else: - pkg = _pkg_str(cpv, slot=metadata["SLOT"], - repo=metadata.get("repository")) + pkg = cpv usemask = self.settings._getUseMask(pkg) if any(x in usemask for x in atom.use.enabled): return False diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index 945c22c3d..0cb290fb4 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -827,8 +827,8 @@ class portdbapi(dbapi): continue try: - pkg_str = _pkg_str(cpv, slot=metadata["SLOT"], - repo=metadata["repository"], eapi=metadata["EAPI"]) + pkg_str = _pkg_str(cpv, metadata=metadata, + settings=self.settings) except InvalidData: continue diff --git a/pym/portage/dbapi/virtual.py b/pym/portage/dbapi/virtual.py index 213708c93..30d6c227f 100644 --- a/pym/portage/dbapi/virtual.py +++ b/pym/portage/dbapi/virtual.py @@ -89,8 +89,8 @@ class fakedbapi(dbapi): if metadata is None: mycpv = _pkg_str(mycpv) else: - mycpv = _pkg_str(mycpv, slot=metadata.get('SLOT'), - repo=metadata.get('repository'), eapi=metadata.get('EAPI')) + mycpv = _pkg_str(mycpv, metadata=metadata, + settings=self.settings) mycp = mycpv.cp try: |