1 |
Author: zmedico |
2 |
Date: 2009-11-01 22:24:23 +0000 (Sun, 01 Nov 2009) |
3 |
New Revision: 14773 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/BlockerDB.py |
7 |
main/trunk/pym/_emerge/FakeVartree.py |
8 |
main/trunk/pym/_emerge/depgraph.py |
9 |
Log: |
10 |
Move FakeVartree population out of the constructor by calling the sync() |
11 |
method explicitly. This allows the depgraph constructor avoid populating |
12 |
the FakeVartree, and delay it until depgraph._load_vdb() is called. |
13 |
|
14 |
|
15 |
Modified: main/trunk/pym/_emerge/BlockerDB.py |
16 |
=================================================================== |
17 |
--- main/trunk/pym/_emerge/BlockerDB.py 2009-11-01 22:11:59 UTC (rev 14772) |
18 |
+++ main/trunk/pym/_emerge/BlockerDB.py 2009-11-01 22:24:23 UTC (rev 14773) |
19 |
@@ -29,15 +29,13 @@ |
20 |
def _get_fake_vartree(self, acquire_lock=0): |
21 |
fake_vartree = self._fake_vartree |
22 |
if fake_vartree is None: |
23 |
- fake_vartree = FakeVartree(self._root_config, |
24 |
- acquire_lock=acquire_lock) |
25 |
+ fake_vartree = FakeVartree(self._root_config) |
26 |
self._fake_vartree = fake_vartree |
27 |
self._dep_check_trees = { self._vartree.root : { |
28 |
"porttree" : fake_vartree, |
29 |
"vartree" : fake_vartree, |
30 |
}} |
31 |
- else: |
32 |
- fake_vartree.sync(acquire_lock=acquire_lock) |
33 |
+ fake_vartree.sync(acquire_lock=acquire_lock) |
34 |
return fake_vartree |
35 |
|
36 |
def findInstalledBlockers(self, new_pkg, acquire_lock=0): |
37 |
|
38 |
Modified: main/trunk/pym/_emerge/FakeVartree.py |
39 |
=================================================================== |
40 |
--- main/trunk/pym/_emerge/FakeVartree.py 2009-11-01 22:11:59 UTC (rev 14772) |
41 |
+++ main/trunk/pym/_emerge/FakeVartree.py 2009-11-01 22:24:23 UTC (rev 14773) |
42 |
@@ -21,8 +21,9 @@ |
43 |
allows things like vardb global updates to be done in memory so that the |
44 |
user doesn't necessarily need write access to the vardb in cases where |
45 |
global updates are necessary (updates are performed when necessary if there |
46 |
- is not a matching ebuild in the tree).""" |
47 |
- def __init__(self, root_config, pkg_cache=None, acquire_lock=1): |
48 |
+ is not a matching ebuild in the tree). Instances of this class are not |
49 |
+ populated until the sync() method is called.""" |
50 |
+ def __init__(self, root_config, pkg_cache=None): |
51 |
self._root_config = root_config |
52 |
if pkg_cache is None: |
53 |
pkg_cache = {} |
54 |
@@ -49,8 +50,6 @@ |
55 |
self._portdb = portdb |
56 |
self._global_updates = None |
57 |
|
58 |
- self.sync() |
59 |
- |
60 |
def _match_wrapper(self, cpv, use_cache=1): |
61 |
""" |
62 |
Make sure the metadata in Package instances gets updated for any |
63 |
|
64 |
Modified: main/trunk/pym/_emerge/depgraph.py |
65 |
=================================================================== |
66 |
--- main/trunk/pym/_emerge/depgraph.py 2009-11-01 22:11:59 UTC (rev 14772) |
67 |
+++ main/trunk/pym/_emerge/depgraph.py 2009-11-01 22:24:23 UTC (rev 14773) |
68 |
@@ -269,10 +269,14 @@ |
69 |
"--nodeps" not in self._frozen_config.myopts and \ |
70 |
"--buildpkgonly" not in self._frozen_config.myopts |
71 |
|
72 |
+ fake_vartree = self._frozen_config.trees[myroot]["vartree"] |
73 |
+ fake_vartree.sync() |
74 |
+ |
75 |
if preload_installed_pkgs: |
76 |
+ vardb = fake_vartree.dbapi |
77 |
fakedb = self._dynamic_config._graph_trees[ |
78 |
myroot]["vartree"].dbapi |
79 |
- vardb = self._frozen_config.trees[myroot]["vartree"].dbapi |
80 |
+ |
81 |
for pkg in vardb: |
82 |
self._spinner_update() |
83 |
# This triggers metadata updates via FakeVartree. |