summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-04-13 23:21:13 +0000
committerZac Medico <zmedico@gentoo.org>2008-04-13 23:21:13 +0000
commit14fc12c6712c56992eca7234e0437bfadc8eeb9d (patch)
tree79ae7e65eb2a864a4d09fb5ca1e954d3c4581455 /bin
parent87bb43399c85d59ce0c1f8615110add12b26df7a (diff)
downloadportage-14fc12c6712c56992eca7234e0437bfadc8eeb9d.tar.gz
portage-14fc12c6712c56992eca7234e0437bfadc8eeb9d.tar.bz2
portage-14fc12c6712c56992eca7234e0437bfadc8eeb9d.zip
* For optimal atom selection, use PackageVirtualDbapi instances in place
of the vardb for all dep_check() calls. * Replace dep_check_trees in depgraph.validate_blockers() with the equivalent self._graph_trees reference. (trunk r9879) svn path=/main/branches/2.1.2/; revision=9880
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge22
1 files changed, 4 insertions, 18 deletions
diff --git a/bin/emerge b/bin/emerge
index c803afb35..08a5a005b 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1738,15 +1738,13 @@ class depgraph(object):
pass
graph_tree.dbapi = fakedb
self._graph_trees[myroot] = {}
- self._graph_trees[myroot]["porttree"] = graph_tree
- self._graph_trees[myroot]["vartree"] = self.trees[myroot]["vartree"]
- del vardb, fakedb
self._filtered_trees[myroot] = {}
# Substitute the graph tree for the vartree in dep_check() since we
# want atom selections to be consistent with package selections
# have already been made.
- self._filtered_trees[myroot]["vartree"] = \
- self._graph_trees[myroot]["porttree"]
+ self._graph_trees[myroot]["porttree"] = graph_tree
+ self._graph_trees[myroot]["vartree"] = graph_tree
+ self._filtered_trees[myroot]["vartree"] = graph_tree
def filtered_tree():
pass
filtered_tree.dbapi = self._dep_check_composite_db(self, myroot)
@@ -3116,18 +3114,6 @@ class depgraph(object):
# due to the performance penalty that is incurred by all the
# additional dep_check calls that are required.
- # Optimization hack for dep_check calls that minimizes the
- # available matches by replacing the portdb with a fakedbapi
- # instance.
- class FakePortageTree(object):
- def __init__(self, mydb):
- self.dbapi = mydb
- dep_check_trees = {}
- for myroot in self.trees:
- dep_check_trees[myroot] = self.trees[myroot].copy()
- dep_check_trees[myroot]["porttree"] = \
- FakePortageTree(self.mydbapi[myroot])
-
dep_keys = ["DEPEND","RDEPEND","PDEPEND"]
for myroot in self.trees:
vardb = self.trees[myroot]["vartree"].dbapi
@@ -3163,7 +3149,7 @@ class depgraph(object):
try:
success, atoms = portage.dep_check(depstr,
final_db, pkgsettings, myuse=myuse,
- trees=dep_check_trees, myroot=myroot)
+ trees=self._graph_trees, myroot=myroot)
except Exception, e:
if isinstance(e, SystemExit):
raise