summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/_config/KeywordsManager.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-08-24 21:08:47 -0700
committerZac Medico <zmedico@gentoo.org>2012-08-24 21:08:47 -0700
commit741093a384ff8256965ec4842664216cf911bcb5 (patch)
treee5d26f51a5454b8d5a7dafdc375076efa4de93e8 /pym/portage/package/ebuild/_config/KeywordsManager.py
parentc74972c6b1e30232ab961f0206cdee81b7e4c5f5 (diff)
downloadportage-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/package/ebuild/_config/KeywordsManager.py')
-rw-r--r--pym/portage/package/ebuild/_config/KeywordsManager.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/pym/portage/package/ebuild/_config/KeywordsManager.py b/pym/portage/package/ebuild/_config/KeywordsManager.py
index 0c613ce04..74c7d0a2c 100644
--- a/pym/portage/package/ebuild/_config/KeywordsManager.py
+++ b/pym/portage/package/ebuild/_config/KeywordsManager.py
@@ -11,7 +11,7 @@ from portage.dep import ExtendedAtomDict, _repo_separator, _slot_separator
from portage.localization import _
from portage.package.ebuild._config.helper import ordered_by_atom_specificity
from portage.util import grabdict_package, stack_lists, writemsg
-from portage.versions import cpv_getkey, _pkg_str
+from portage.versions import _pkg_str
class KeywordsManager(object):
"""Manager class to handle keywords processing and validation"""
@@ -77,7 +77,9 @@ class KeywordsManager(object):
def getKeywords(self, cpv, slot, keywords, repo):
- if not hasattr(cpv, 'slot'):
+ try:
+ cpv.slot
+ except AttributeError:
pkg = _pkg_str(cpv, slot=slot, repo=repo)
else:
pkg = cpv
@@ -237,7 +239,7 @@ class KeywordsManager(object):
if not mygroups:
# If KEYWORDS is empty then we still have to return something
# in order to distinguish from the case of "none missing".
- mygroups.append("**")
+ mygroups = ["**"]
missing = mygroups
return missing
@@ -261,9 +263,11 @@ class KeywordsManager(object):
"""
pgroups = global_accept_keywords.split()
- if not hasattr(cpv, 'slot'):
+ try:
+ cpv.slot
+ except AttributeError:
cpv = _pkg_str(cpv, slot=slot, repo=repo)
- cp = cpv_getkey(cpv)
+ cp = cpv.cp
unmaskgroups = []
if self._p_accept_keywords:
@@ -288,4 +292,3 @@ class KeywordsManager(object):
for x in pkg_accept_keywords:
unmaskgroups.extend(x)
return unmaskgroups
-