From 53450656af965d040e399d4a29c330a6e6b85a3f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 3 Nov 2007 17:13:18 +0000 Subject: Revert to backward compatible masking behavior with respect to -* in KEYWORDS and package.keywords since -* behavior changes are not essential at this time and a change in this long standing behavior has potential to confuse lots of users. svn path=/main/branches/2.1.2/; revision=8395 --- pym/portage.py | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/pym/portage.py b/pym/portage.py index fbb42d8cf..f120ba834 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -1953,18 +1953,17 @@ class config: # matches ACCEPT_KEYWORDS behavior inc_pgroups = set() for x in pgroups: - if x == "-*": - inc_pgroups.clear() - elif x.startswith("-"): + # The -* special case should be removed once the tree + # is clean of KEYWORDS=-* crap + if x != "-*" and x.startswith("-"): inc_pgroups.discard(x[1:]) - elif x not in inc_pgroups: - inc_pgroups.add(x) + inc_pgroups.add(x) pgroups = inc_pgroups del inc_pgroups hasstable = False hastesting = False for gp in mygroups: - if gp == "*" or (gp == "-*" and len(mygroups) == 1): + if gp == "*": writemsg(("--- WARNING: Package '%s' uses" + \ " '%s' keyword.\n") % (cpv, gp), noiselevel=-1) if gp == "*": @@ -5181,17 +5180,11 @@ def getmaskingstatus(mycpv, settings=None, portdb=None): for match in matches: pgroups.extend(pkgdict[cp][match]) if matches: - inc_pgroups = [] + inc_pgroups = set() for x in pgroups: - if x == "-*": - inc_pgroups = [] - elif x[0] == "-": - try: - inc_pgroups.remove(x[1:]) - except ValueError: - pass - elif x not in inc_pgroups: - inc_pgroups.append(x) + if x != "-*" and x.startswith("-"): + inc_pgroups.discard(x[1:]) + inc_pgroups.add(x) pgroups = inc_pgroups del inc_pgroups -- cgit v1.2.3-1-g7c22