summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-02-23 18:12:19 +0000
committerZac Medico <zmedico@gentoo.org>2009-02-23 18:12:19 +0000
commit1aa2e196a062034ae82936859d0d6d21663a33d3 (patch)
treeba91acdb1627be32c821567838c1e97bb194821a /pym
parentc4a86fe742fe7058d7dca837d969377d8fc1f925 (diff)
downloadportage-1aa2e196a062034ae82936859d0d6d21663a33d3.tar.gz
portage-1aa2e196a062034ae82936859d0d6d21663a33d3.tar.bz2
portage-1aa2e196a062034ae82936859d0d6d21663a33d3.zip
In config.setcpv(), increase efficiency by filtering USE with IUSE before
calculating USE_EXPAND variables. Also use a generator expression instead of a list comprehension in the USE_EXPAND generation code. svn path=/main/trunk/; revision=12697
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/__init__.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index cf44ef92b..90a304415 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -2119,6 +2119,8 @@ class config(object):
if ebuild_force_test:
self.usemask.discard("test")
+ use.difference_update([x for x in use if x not in iuse_implicit])
+
# Use the calculated USE flags to regenerate the USE_EXPAND flags so
# that they are consistent. For optimal performance, use slice
# comparison instead of startswith().
@@ -2126,8 +2128,8 @@ class config(object):
for var in use_expand:
prefix = var.lower() + "_"
prefix_len = len(prefix)
- expand_flags = set([ x[prefix_len:] for x in use \
- if x[:prefix_len] == prefix ])
+ expand_flags = set( x[prefix_len:] for x in use \
+ if x[:prefix_len] == prefix )
var_split = self.get(var, "").split()
# Preserve the order of var_split because it can matter for things
# like LINGUAS.
@@ -2189,9 +2191,7 @@ class config(object):
# attribute since we still want to be able to see global USE
# settings for things like emerge --info.
- self.configdict["pkg"]["PORTAGE_USE"] = " ".join(sorted(
- x for x in use if \
- x in iuse_implicit))
+ self.configdict["pkg"]["PORTAGE_USE"] = " ".join(sorted(use))
def _get_implicit_iuse(self):
"""