diff options
-rw-r--r-- | pym/portage/package/ebuild/_config/KeywordsManager.py | 16 | ||||
-rw-r--r-- | pym/portage/package/ebuild/config.py | 7 |
2 files changed, 21 insertions, 2 deletions
diff --git a/pym/portage/package/ebuild/_config/KeywordsManager.py b/pym/portage/package/ebuild/_config/KeywordsManager.py index 8a6b4bd6e..b01604e66 100644 --- a/pym/portage/package/ebuild/_config/KeywordsManager.py +++ b/pym/portage/package/ebuild/_config/KeywordsManager.py @@ -1,4 +1,4 @@ -# Copyright 2010 Gentoo Foundation +# Copyright 2010-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 __all__ = ( @@ -130,6 +130,20 @@ class KeywordsManager(object): egroups = self._getEgroups(backuped_accept_keywords) pgroups.extend(egroups) + if unmaskgroups or egroups: + inc_pgroups = set() + for x in pgroups: + if x[:1] == "-": + if x == "-*": + inc_pgroups.clear() + else: + inc_pgroups.discard(x[1:]) + else: + inc_pgroups.add(x) + pgroups = inc_pgroups + else: + pgroups = set(pgroups) + return self._getMissingKeywords(cpv, pgroups, mygroups) diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py index 2cb63c19d..74dcb3dc4 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -1,4 +1,4 @@ -# Copyright 2010 Gentoo Foundation +# Copyright 2010-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 __all__ = [ @@ -1476,6 +1476,11 @@ class config(object): metadata.get("KEYWORDS", ""), metadata.get('repository'), \ self["ARCH"], backuped_accept_keywords) + def _getPKeywords(self, cpv, metadata): + global_accept_keywords = self.get("ACCEPT_KEYWORDS", "") + + return self._keywords_manager.getPKeywords(cpv, metadata["SLOT"], \ + metadata.get('repository'), global_accept_keywords) def _getMissingLicenses(self, cpv, metadata): """ |