summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-12-05 10:01:30 -0800
committerZac Medico <zmedico@gentoo.org>2012-12-05 10:01:30 -0800
commitf6473f300ff2e59472fb320143b2f668c6d2a447 (patch)
treed30469fcc4d13b1201e23873e2a13fedbf828800
parent05a0f8f4dc30a08bc5b41655d9f5b8df40cd6d47 (diff)
downloadportage-f6473f300ff2e59472fb320143b2f668c6d2a447.tar.gz
portage-f6473f300ff2e59472fb320143b2f668c6d2a447.tar.bz2
portage-f6473f300ff2e59472fb320143b2f668c6d2a447.zip
getmaskingstatus: fix ~* KEYWORDS handling
Since commit 9144faeb653b9f1dbe74c69f85cd48f26761aa2f, KeywordsManager.getMissingKeywords() has had support for ~* in KEYWORDS being matched by any unstable keyword in ACCEPT_KEYWORDS. However, getmaskingstatus still returned "missing keyword" for this case. Now, getmaskingstatus is fixed so that it won't erroneously return "missing keyword" in this case.
-rw-r--r--pym/portage/package/ebuild/getmaskingstatus.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/pym/portage/package/ebuild/getmaskingstatus.py b/pym/portage/package/ebuild/getmaskingstatus.py
index 4dbe6a970..5c14b36ff 100644
--- a/pym/portage/package/ebuild/getmaskingstatus.py
+++ b/pym/portage/package/ebuild/getmaskingstatus.py
@@ -123,6 +123,13 @@ def _getmaskingstatus(mycpv, settings, portdb, myrepo=None):
if gp=="*":
kmask=None
break
+ elif gp == "~*":
+ for x in pgroups:
+ if x[:1] == "~":
+ kmask = None
+ break
+ if kmask is None:
+ break
elif gp=="-"+myarch and myarch in pgroups:
kmask="-"+myarch
break