summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-11-19 12:50:54 -0800
committerZac Medico <zmedico@gentoo.org>2010-11-23 18:05:11 -0800
commit9fe82c8079d1e386dd44064e9a73b701f39c4171 (patch)
treefe377f0db6c308a86c6278b307628b796ef0f70a
parent1575a5685fb796ba159a2164c0f585b859248b50 (diff)
downloadportage-9fe82c8079d1e386dd44064e9a73b701f39c4171.tar.gz
portage-9fe82c8079d1e386dd44064e9a73b701f39c4171.tar.bz2
portage-9fe82c8079d1e386dd44064e9a73b701f39c4171.zip
emerge --info: Fix USE_EXPAND display
This makes the USE_EXPAND variables consistent with the USE flag settings.
-rw-r--r--pym/portage/package/ebuild/config.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 922116a5e..f927af4d3 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -1879,6 +1879,24 @@ class config(object):
myflags.difference_update(self.usemask)
self.configlist[-1]["USE"]= " ".join(sorted(myflags))
+ if self.mycpv is None:
+ # Generate global USE_EXPAND variables settings that are
+ # consistent with USE, for display by emerge --info. For
+ # package instances, these are instead generated via
+ # setcpv().
+ for k in use_expand:
+ prefix = k.lower() + '_'
+ prefix_len = len(prefix)
+ expand_flags = set( x[prefix_len:] for x in myflags \
+ if x[:prefix_len] == prefix )
+ var_split = use_expand_dict.get(k, '').split()
+ var_split = [ x for x in var_split if x in expand_flags ]
+ var_split.extend(sorted(expand_flags.difference(var_split)))
+ if var_split:
+ self.configlist[-1][k] = ' '.join(var_split)
+ elif k in self:
+ self.configlist[-1][k] = ''
+
@property
def virts_p(self):
warnings.warn("portage config.virts_p attribute " + \