diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-15 03:49:35 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-15 03:49:35 +0000 |
commit | 2326c8e24628a026ab078713dff1810d08f2f0ac (patch) | |
tree | 25e3c173a95fcecfd74643a617fe22d5fb084f6f | |
parent | bf0015144f5904ab8236b6465f907d5ec12efddf (diff) | |
download | portage-2326c8e24628a026ab078713dff1810d08f2f0ac.tar.gz portage-2326c8e24628a026ab078713dff1810d08f2f0ac.tar.bz2 portage-2326c8e24628a026ab078713dff1810d08f2f0ac.zip |
Revert part of atom selection consistency improvement from r9873 since it
in some cases it triggers unresolvable direct circular dependencies. For
example, this happens with gwydion-dylan which depends on either itself
or gwydion-dylan-bin. In case gwydion-dylan is not yet installed,
gwydion-dylan-bin needs to be selected in order to avoid a an unresolvable
direct circular dependency.
svn path=/main/trunk/; revision=9900
-rw-r--r-- | pym/_emerge/__init__.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index e0382570f..e6a8f3dc0 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1605,11 +1605,22 @@ class depgraph(object): # have already been made. self._graph_trees[myroot]["porttree"] = graph_tree self._graph_trees[myroot]["vartree"] = graph_tree - self._filtered_trees[myroot]["vartree"] = graph_tree def filtered_tree(): pass filtered_tree.dbapi = self._dep_check_composite_db(self, myroot) self._filtered_trees[myroot]["porttree"] = filtered_tree + + # Passing in graph_tree as the vartree here could lead to better + # atom selections in some cases by causing atoms for packages that + # have been added to the graph to be preferred over other choices. + # However, it can trigger atom selections that result in + # unresolvable direct circular dependencies. For example, this + # happens with gwydion-dylan which depends on either itself or + # gwydion-dylan-bin. In case gwydion-dylan is not yet installed, + # gwydion-dylan-bin needs to be selected in order to avoid a + # an unresolvable direct circular dependency. + self._filtered_trees[myroot]["vartree"] = self.trees[myroot]["vartree"] + dbs = [] portdb = self.trees[myroot]["porttree"].dbapi bindb = self.trees[myroot]["bintree"].dbapi |