From: Zac Medico Date: Sun, 13 Apr 2008 23:21:13 +0000 (-0000) Subject: * For optimal atom selection, use PackageVirtualDbapi instances in place X-Git-Tag: v2.1.5~178 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=14fc12c6712c56992eca7234e0437bfadc8eeb9d;p=portage.git * 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 --- 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