diff options
Diffstat (limited to 'pym/portage/__init__.py')
-rw-r--r-- | pym/portage/__init__.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 04294ce12..5e6e27521 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -4693,12 +4693,14 @@ def getmaskingstatus(mycpv, settings=None, portdb=None): if matches: inc_pgroups = [] for x in pgroups: - if x != "-*" and x.startswith("-"): + if x == "-*": + inc_pgroups = [] + elif x[0] == "-": try: inc_pgroups.remove(x[1:]) except ValueError: pass - if x not in inc_pgroups: + elif x not in inc_pgroups: inc_pgroups.append(x) pgroups = inc_pgroups del inc_pgroups @@ -4715,10 +4717,10 @@ def getmaskingstatus(mycpv, settings=None, portdb=None): if gp=="*": kmask=None break - elif gp=="-"+myarch: + elif gp=="-"+myarch and myarch in pgroups: kmask="-"+myarch break - elif gp=="~"+myarch: + elif gp=="~"+myarch and myarch in pgroups: kmask="~"+myarch break |