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/portage/package/ebuild/
Date: Sat, 02 Jun 2012 00:13:38
Message-Id: 1338595993.415636896a148cac2c6f4406d80c669feb780f5e.zmedico@gentoo
1 commit: 415636896a148cac2c6f4406d80c669feb780f5e
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jun 2 00:13:13 2012 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sat Jun 2 00:13:13 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=41563689
7
8 config: lazy VirtualsManager instantiation
9
10 ---
11 pym/portage/package/ebuild/config.py | 13 ++++++++++---
12 1 files changed, 10 insertions(+), 3 deletions(-)
13
14 diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
15 index 046ec46..21fc1d5 100644
16 --- a/pym/portage/package/ebuild/config.py
17 +++ b/pym/portage/package/ebuild/config.py
18 @@ -271,7 +271,9 @@ class config(object):
19 #all LicenseManager instances.
20 self._license_manager = clone._license_manager
21
22 - self._virtuals_manager = copy.deepcopy(clone._virtuals_manager)
23 + # force instantiation of lazy objects when cloning, so
24 + # that they're not instantiated more than once
25 + self._virtuals_manager_obj = copy.deepcopy(clone._virtuals_manager)
26
27 self._accept_properties = copy.deepcopy(clone._accept_properties)
28 self._ppropertiesdict = copy.deepcopy(clone._ppropertiesdict)
29 @@ -282,6 +284,7 @@ class config(object):
30 # lazily instantiated objects
31 self._keywords_manager_obj = None
32 self._mask_manager_obj = None
33 + self._virtuals_manager_obj = None
34
35 locations_manager = LocationsManager(config_root=config_root,
36 config_profile_path=config_profile_path, eprefix=eprefix,
37 @@ -601,8 +604,6 @@ class config(object):
38 self._license_manager.extract_global_changes( \
39 self.configdict["conf"].get("ACCEPT_LICENSE", ""))
40
41 - self._virtuals_manager = VirtualsManager(self.profiles)
42 -
43 if local_config:
44 #package.properties
45 propdict = grabdict_package(os.path.join(
46 @@ -903,6 +904,12 @@ class config(object):
47 return self._mask_manager_obj
48
49 @property
50 + def _virtuals_manager(self):
51 + if self._virtuals_manager_obj is None:
52 + self._virtuals_manager_obj = VirtualsManager(self.profiles)
53 + return self._virtuals_manager_obj
54 +
55 + @property
56 def pkeywordsdict(self):
57 result = self._keywords_manager.pkeywordsdict.copy()
58 for k, v in result.items():