summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-05-26 21:17:58 +0000
committerZac Medico <zmedico@gentoo.org>2007-05-26 21:17:58 +0000
commit13a04cf5e6f0acd61285129a79793bf6c8acfbbb (patch)
tree4489de73e7a0d98bbbc1c078e5cc0719bec380e8
parentd3c996bc15b2e9956c80fa18e024497b184ca267 (diff)
downloadportage-13a04cf5e6f0acd61285129a79793bf6c8acfbbb.tar.gz
portage-13a04cf5e6f0acd61285129a79793bf6c8acfbbb.tar.bz2
portage-13a04cf5e6f0acd61285129a79793bf6c8acfbbb.zip
Fix logic for USE_EXPAND variables that are incremental (there are none currently). (trunk r6635)
svn path=/main/branches/2.1.2/; revision=6636
-rw-r--r--pym/portage.py26
1 files changed, 17 insertions, 9 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 676eee148..03733fa91 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -1894,23 +1894,31 @@ class config:
for var in cur_use_expand:
var_lower = var.lower()
- if var not in myincrementals:
+ is_not_incremental = var not in myincrementals
+ if is_not_incremental:
prefix = var_lower + "_"
for x in list(myflags):
if x.startswith(prefix):
myflags.remove(x)
for x in curdb[var].split():
- # Any incremental USE_EXPAND variables have already been
- # processed, so leading +/- operators are invalid here.
if x[0] == "+":
- writemsg(colorize("BAD", "Invalid '+' operator in " + \
- "non-incremental variable '%s': '%s'\n" % (var, x)),
- noiselevel=-1)
+ if is_not_incremental:
+ writemsg(colorize("BAD", "Invalid '+' " + \
+ "operator in non-incremental variable " + \
+ "'%s': '%s'\n" % (var, x)), noiselevel=-1)
+ continue
+ else:
+ writemsg(colorize("BAD", "Invalid '+' " + \
+ "operator in incremental variable " + \
+ "'%s': '%s'\n" % (var, x)), noiselevel=-1)
x = x[1:]
if x[0] == "-":
- writemsg(colorize("BAD", "Invalid '-' operator in " + \
- "non-incremental variable '%s': '%s'\n" % (var, x)),
- noiselevel=-1)
+ if is_not_incremental:
+ writemsg(colorize("BAD", "Invalid '-' " + \
+ "operator in non-incremental variable " + \
+ "'%s': '%s'\n" % (var, x)), noiselevel=-1)
+ continue
+ myflags.discard(var_lower + "_" + x[1:])
continue
myflags.add(var_lower + "_" + x)