1 |
Author: zmedico |
2 |
Date: 2009-11-02 01:45:57 +0000 (Mon, 02 Nov 2009) |
3 |
New Revision: 14774 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/PackageVirtualDbapi.py |
7 |
main/trunk/pym/_emerge/depgraph.py |
8 |
Log: |
9 |
Don't call FakeVartree.sync() redundantly when backtracking. |
10 |
|
11 |
|
12 |
Modified: main/trunk/pym/_emerge/PackageVirtualDbapi.py |
13 |
=================================================================== |
14 |
--- main/trunk/pym/_emerge/PackageVirtualDbapi.py 2009-11-01 22:24:23 UTC (rev 14773) |
15 |
+++ main/trunk/pym/_emerge/PackageVirtualDbapi.py 2009-11-02 01:45:57 UTC (rev 14774) |
16 |
@@ -2,6 +2,7 @@ |
17 |
# Distributed under the terms of the GNU General Public License v2 |
18 |
# $Id$ |
19 |
|
20 |
+import sys |
21 |
import portage |
22 |
|
23 |
class PackageVirtualDbapi(portage.dbapi): |
24 |
@@ -37,6 +38,12 @@ |
25 |
obj._cpv_map = self._cpv_map.copy() |
26 |
return obj |
27 |
|
28 |
+ def __bool__(self): |
29 |
+ return bool(self._cpv_map) |
30 |
+ |
31 |
+ if sys.hexversion < 0x3000000: |
32 |
+ __nonzero__ = __bool__ |
33 |
+ |
34 |
def __iter__(self): |
35 |
return iter(self._cpv_map.values()) |
36 |
|
37 |
|
38 |
Modified: main/trunk/pym/_emerge/depgraph.py |
39 |
=================================================================== |
40 |
--- main/trunk/pym/_emerge/depgraph.py 2009-11-01 22:24:23 UTC (rev 14773) |
41 |
+++ main/trunk/pym/_emerge/depgraph.py 2009-11-02 01:45:57 UTC (rev 14774) |
42 |
@@ -270,7 +270,10 @@ |
43 |
"--buildpkgonly" not in self._frozen_config.myopts |
44 |
|
45 |
fake_vartree = self._frozen_config.trees[myroot]["vartree"] |
46 |
- fake_vartree.sync() |
47 |
+ if not fake_vartree.dbapi: |
48 |
+ # This needs to be called for the first depgraph, but not for |
49 |
+ # backtracking depgraphs that share the same frozen_config. |
50 |
+ fake_vartree.sync() |
51 |
|
52 |
if preload_installed_pkgs: |
53 |
vardb = fake_vartree.dbapi |