diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-09-06 11:45:08 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-09-06 11:45:08 -0700 |
commit | 54c9fb769edc0a0cf348f1781b30b1eb248d7895 (patch) | |
tree | a4d773c71a29853fe7a346698c7e3644aae48bb9 /pym/_emerge/depgraph.py | |
parent | 46cafb3996d827d208d486b85c7f4248a6e8c826 (diff) | |
download | portage-54c9fb769edc0a0cf348f1781b30b1eb248d7895.tar.gz portage-54c9fb769edc0a0cf348f1781b30b1eb248d7895.tar.bz2 portage-54c9fb769edc0a0cf348f1781b30b1eb248d7895.zip |
Make the depgraph and FakeVartree cooperate to consistently create
Package instances whose root_config attribute is a specially optimized
RootConfig that has a FakeVartree instead of a real vartree.
Diffstat (limited to 'pym/_emerge/depgraph.py')
-rw-r--r-- | pym/_emerge/depgraph.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index db85c2ea3..94e55e173 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -101,7 +101,8 @@ class _frozen_depgraph_config(object): self.trees[myroot][tree] = trees[myroot][tree] self.trees[myroot]["vartree"] = \ FakeVartree(trees[myroot]["root_config"], - pkg_cache=self._pkg_cache) + pkg_cache=self._pkg_cache, + pkg_root_config=self.roots[myroot]) self.pkgsettings[myroot] = portage.config( clone=self.trees[myroot]["vartree"].settings) @@ -3066,6 +3067,9 @@ class depgraph(object): operation = "merge" if installed or onlydeps: operation = "nomerge" + # Ensure that we use the specially optimized RootConfig instance + # that refers to FakeVartree instead of the real vartree. + root_config = self._frozen_config.roots[root_config.root] pkg = self._frozen_config._pkg_cache.get( (type_name, root_config.root, cpv, operation)) if pkg is None and onlydeps and not installed: |