diff options
-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(): |