diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-15 06:17:54 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-15 06:17:54 +0000 |
commit | 7e7449b67bc628f57d5fa5dcbc4ddf8a269b8dd3 (patch) | |
tree | 83aa3cc1645c1b2f34b9706a70ee39c511bd32af | |
parent | 4b78895332047d68ba45030d37bbed14357658d1 (diff) | |
download | portage-7e7449b67bc628f57d5fa5dcbc4ddf8a269b8dd3.tar.gz portage-7e7449b67bc628f57d5fa5dcbc4ddf8a269b8dd3.tar.bz2 portage-7e7449b67bc628f57d5fa5dcbc4ddf8a269b8dd3.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. (trunk r9900)
svn path=/main/branches/2.1.2/; revision=9902
-rwxr-xr-x | bin/emerge | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bin/emerge b/bin/emerge index 8cfc847e4..d0903559b 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1744,11 +1744,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 |