Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Mon, 02 Sep 2013 00:28:04
Message-Id: 1378081655.8e39ac038b29a358aa1bf9cf4eaeb2987f1eacec.zmedico@gentoo
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: