Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r9879 - main/trunk/pym/_emerge
Date: Sun, 13 Apr 2008 23:18:58
Message-Id: E1JlBTL-0000jG-TI@stork.gentoo.org
Author: zmedico
Date: 2008-04-13 23:18:54 +0000 (Sun, 13 Apr 2008)
New Revision: 9879

Modified:
   main/trunk/pym/_emerge/__init__.py
Log:
* 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.


Modified: main/trunk/pym/_emerge/__init__.py
===================================================================
--- main/trunk/pym/_emerge/__init__.py	2008-04-13 22:22:14 UTC (rev 9878)
+++ main/trunk/pym/_emerge/__init__.py	2008-04-13 23:18:54 UTC (rev 9879)
@@ -1599,15 +1599,13 @@
 				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 @@
 			# 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 @@
 							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

-- 
gentoo-commits@l.g.o mailing list