Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r14773 - main/trunk/pym/_emerge
Date: Sun, 01 Nov 2009 22:24:26
Message-Id: E1N4iqV-0007bv-Us@stork.gentoo.org
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.