1 |
commit: 8e39ac038b29a358aa1bf9cf4eaeb2987f1eacec |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Sep 2 00:27:35 2013 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Sep 2 00:27:35 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=8e39ac03 |
7 |
|
8 |
FakeVartree: infinite _aux_get_wrapper recursion |
9 |
|
10 |
--- |
11 |
pym/_emerge/FakeVartree.py | 11 +++++++---- |
12 |
1 file changed, 7 insertions(+), 4 deletions(-) |
13 |
|
14 |
diff --git a/pym/_emerge/FakeVartree.py b/pym/_emerge/FakeVartree.py |
15 |
index fd87f6c..14be50c 100644 |
16 |
--- a/pym/_emerge/FakeVartree.py |
17 |
+++ b/pym/_emerge/FakeVartree.py |
18 |
@@ -166,8 +166,13 @@ class FakeVartree(vartree): |
19 |
if self._global_updates is None: |
20 |
self._global_updates = \ |
21 |
grab_global_updates(self._portdb) |
22 |
+ |
23 |
+ # Bypass _aux_get_wrapper, since calling that |
24 |
+ # here would trigger infinite recursion. |
25 |
+ aux_keys = Package._dep_keys + self.dbapi._pkg_str_aux_keys |
26 |
+ aux_dict = dict(zip(aux_keys, self._aux_get(pkg.cpv, aux_keys))) |
27 |
perform_global_updates( |
28 |
- pkg.cpv, self.dbapi, self._global_updates) |
29 |
+ pkg.cpv, aux_dict, self.dbapi, self._global_updates) |
30 |
|
31 |
def dynamic_deps_preload(self, pkg, metadata): |
32 |
if metadata is not None: |
33 |
@@ -300,9 +305,7 @@ def grab_global_updates(portdb): |
34 |
|
35 |
return retupdates |
36 |
|
37 |
-def perform_global_updates(mycpv, mydb, myupdates): |
38 |
- aux_keys = Package._dep_keys + mydb._pkg_str_aux_keys |
39 |
- aux_dict = dict(zip(aux_keys, mydb.aux_get(mycpv, aux_keys))) |
40 |
+def perform_global_updates(mycpv, aux_dict, mydb, myupdates): |
41 |
try: |
42 |
pkg = _pkg_str(mycpv, metadata=aux_dict, settings=mydb.settings) |
43 |
except InvalidData: |