From c2226633c2b25efc82024a071c18e9b17a71c21a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 13 Apr 2008 23:18:54 +0000 Subject: * 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. svn path=/main/trunk/; revision=9879 --- pym/_emerge/__init__.py | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'pym') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index e51534fe6..6386a7c86 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1599,15 +1599,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) @@ -2969,18 +2967,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 @@ -3016,7 +3002,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 -- cgit v1.2.3-1-g7c22