From 4ac209e6cf6c49d88b06a4ddaa3bacd11695791d Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 25 Jun 2008 20:47:38 +0000 Subject: Swap out the whole Package.root_config attribute inside depgraph.break_refs(). svn path=/main/trunk/; revision=10789 --- pym/_emerge/__init__.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 79b38f64d..2f54b6b65 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -3946,17 +3946,14 @@ class depgraph(object): if not isinstance(node, Package): continue - # The visible packages cache has fullfilled it's purpose - # and it's no longer needed, so free the memory. - node.root_config.visible_pkgs.clear() - - if isinstance(node.root_config.trees["vartree"], FakeVartree): - # The FakeVartree references the _package_cache which - # references the depgraph. So that Package instances don't - # hold the depgraph and FakeVartree on the heap, replace - # the FakeVartree reference with the real vartree. - node.root_config.trees["vartree"] = \ - self._trees_orig[node.root]["vartree"] + # The FakeVartree references the _package_cache which + # references the depgraph. So that Package instances don't + # hold the depgraph and FakeVartree on the heap, replace + # the RootConfig that references the FakeVartree with the + # original RootConfig instance which references the actual + # vartree. + node.root_config = \ + self._trees_orig[node.root]["root_config"] def _resolve_conflicts(self): if not self._complete_graph(): -- cgit v1.2.3-1-g7c22