aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-12-19 09:57:18 -0800
committerZac Medico <zmedico@gentoo.org>2010-12-19 09:57:18 -0800
commita551ca783486467f531a2e38ac3730826f1269bb (patch)
tree69660c6376ecbef1caf5d3d45f3c71b9e56f8bd3 /pym/portage/dep
parentrepoman: ignore deprecated profiles.desc entries (diff)
downloadportage-a551ca783486467f531a2e38ac3730826f1269bb.tar.gz
portage-a551ca783486467f531a2e38ac3730826f1269bb.tar.bz2
portage-a551ca783486467f531a2e38ac3730826f1269bb.zip
paren_enclose: preserve atom USE conditionals
The depgraph sometimes uses paren_enclose to temporarily convert parts of use_reduce output to a plain string. In these cases, we want to preserve atom USE conditionals, since these sometimes make a difference for IUSE checks during package matching (as in bug #348389).
Diffstat (limited to 'pym/portage/dep')
-rw-r--r--pym/portage/dep/__init__.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
index 52009fea3..10f6d8234 100644
--- a/pym/portage/dep/__init__.py
+++ b/pym/portage/dep/__init__.py
@@ -232,7 +232,7 @@ class paren_normalize(list):
self._zap_parens(x, dest)
return dest
-def paren_enclose(mylist):
+def paren_enclose(mylist, unevaluated_atom=False):
"""
Convert a list to a string with sublists enclosed with parens.
@@ -251,6 +251,8 @@ def paren_enclose(mylist):
if isinstance(x, list):
mystrparts.append("( "+paren_enclose(x)+" )")
else:
+ if unevaluated_atom:
+ x = getattr(x, 'unevaluated_atom', x)
mystrparts.append(x)
return " ".join(mystrparts)