summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-12-14 20:42:33 +0000
committerZac Medico <zmedico@gentoo.org>2006-12-14 20:42:33 +0000
commit3cf983b2c3aa9c13e151ad25c8f8aa77d56c9223 (patch)
tree96d338fda5f99839b33b910d3e8fe9557e78c91d
parent10171573b2dc7e3284004bdb67b7862cb9a1999d (diff)
downloadportage-3cf983b2c3aa9c13e151ad25c8f8aa77d56c9223.tar.gz
portage-3cf983b2c3aa9c13e151ad25c8f8aa77d56c9223.tar.bz2
portage-3cf983b2c3aa9c13e151ad25c8f8aa77d56c9223.zip
Cache blocked slots for better efficiency.
svn path=/main/trunk/; revision=5296
-rwxr-xr-xbin/emerge3
1 files changed, 2 insertions, 1 deletions
diff --git a/bin/emerge b/bin/emerge
index 646aada40..020682894 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1626,6 +1626,7 @@ class depgraph:
blocked_slots_final[cpv] = \
"%s:%s" % (portage.dep_getkey(cpv),
final_db.aux_get(cpv, ["SLOT"])[0])
+ blocked_slots_final_values = set(blocked_slots_final.itervalues())
for parent in list(self.blocker_parents[blocker]):
ptype, proot, pcpv, pstatus = parent
pdbapi = self.trees[proot][self.pkg_tree_map[ptype]].dbapi
@@ -1648,7 +1649,7 @@ class depgraph:
# merge of either package is triggered.
continue
if pstatus == "merge" and \
- slot_atom not in blocked_slots_final.values():
+ slot_atom not in blocked_slots_final_values:
upgrade_matches = final_db.match(slot_atom)
if upgrade_matches:
# Apparently an upgrade may be able to invalidate