1 |
Author: zmedico |
2 |
Date: 2008-04-13 23:18:54 +0000 (Sun, 13 Apr 2008) |
3 |
New Revision: 9879 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
* For optimal atom selection, use PackageVirtualDbapi instances in place |
9 |
of the vardb for all dep_check() calls. |
10 |
* Replace dep_check_trees in depgraph.validate_blockers() with the |
11 |
equivalent self._graph_trees reference. |
12 |
|
13 |
|
14 |
Modified: main/trunk/pym/_emerge/__init__.py |
15 |
=================================================================== |
16 |
--- main/trunk/pym/_emerge/__init__.py 2008-04-13 22:22:14 UTC (rev 9878) |
17 |
+++ main/trunk/pym/_emerge/__init__.py 2008-04-13 23:18:54 UTC (rev 9879) |
18 |
@@ -1599,15 +1599,13 @@ |
19 |
pass |
20 |
graph_tree.dbapi = fakedb |
21 |
self._graph_trees[myroot] = {} |
22 |
- self._graph_trees[myroot]["porttree"] = graph_tree |
23 |
- self._graph_trees[myroot]["vartree"] = self.trees[myroot]["vartree"] |
24 |
- del vardb, fakedb |
25 |
self._filtered_trees[myroot] = {} |
26 |
# Substitute the graph tree for the vartree in dep_check() since we |
27 |
# want atom selections to be consistent with package selections |
28 |
# have already been made. |
29 |
- self._filtered_trees[myroot]["vartree"] = \ |
30 |
- self._graph_trees[myroot]["porttree"] |
31 |
+ self._graph_trees[myroot]["porttree"] = graph_tree |
32 |
+ self._graph_trees[myroot]["vartree"] = graph_tree |
33 |
+ self._filtered_trees[myroot]["vartree"] = graph_tree |
34 |
def filtered_tree(): |
35 |
pass |
36 |
filtered_tree.dbapi = self._dep_check_composite_db(self, myroot) |
37 |
@@ -2969,18 +2967,6 @@ |
38 |
# due to the performance penalty that is incurred by all the |
39 |
# additional dep_check calls that are required. |
40 |
|
41 |
- # Optimization hack for dep_check calls that minimizes the |
42 |
- # available matches by replacing the portdb with a fakedbapi |
43 |
- # instance. |
44 |
- class FakePortageTree(object): |
45 |
- def __init__(self, mydb): |
46 |
- self.dbapi = mydb |
47 |
- dep_check_trees = {} |
48 |
- for myroot in self.trees: |
49 |
- dep_check_trees[myroot] = self.trees[myroot].copy() |
50 |
- dep_check_trees[myroot]["porttree"] = \ |
51 |
- FakePortageTree(self.mydbapi[myroot]) |
52 |
- |
53 |
dep_keys = ["DEPEND","RDEPEND","PDEPEND"] |
54 |
for myroot in self.trees: |
55 |
vardb = self.trees[myroot]["vartree"].dbapi |
56 |
@@ -3016,7 +3002,7 @@ |
57 |
try: |
58 |
success, atoms = portage.dep_check(depstr, |
59 |
final_db, pkgsettings, myuse=myuse, |
60 |
- trees=dep_check_trees, myroot=myroot) |
61 |
+ trees=self._graph_trees, myroot=myroot) |
62 |
except Exception, e: |
63 |
if isinstance(e, SystemExit): |
64 |
raise |
65 |
|
66 |
-- |
67 |
gentoo-commits@l.g.o mailing list |