diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-06-25 20:47:38 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-06-25 20:47:38 +0000 |
commit | 4ac209e6cf6c49d88b06a4ddaa3bacd11695791d (patch) | |
tree | e8b882d314daa40f3f58d380c6429800936a775f | |
parent | 02e6edaab93028234863f10e628be30f570c2cfc (diff) | |
download | portage-4ac209e6cf6c49d88b06a4ddaa3bacd11695791d.tar.gz portage-4ac209e6cf6c49d88b06a4ddaa3bacd11695791d.tar.bz2 portage-4ac209e6cf6c49d88b06a4ddaa3bacd11695791d.zip |
Swap out the whole Package.root_config attribute inside depgraph.break_refs().
svn path=/main/trunk/; revision=10789
-rw-r--r-- | pym/_emerge/__init__.py | 19 |
1 files changed, 8 insertions, 11 deletions
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(): |