getmaskingstatus: fix ~* KEYWORDS handling
authorZac Medico <zmedico@gentoo.org>
Wed, 5 Dec 2012 18:01:30 +0000 (10:01 -0800)
committerZac Medico <zmedico@gentoo.org>
Wed, 5 Dec 2012 18:01:30 +0000 (10:01 -0800)
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.

pym/portage/package/ebuild/getmaskingstatus.py

index 4dbe6a970cad51a52fb807bb99b2f3941e7b949e..5c14b36ffddc95721814490d73580cbaff83abba 100644 (file)
@@ -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