aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2020-08-30 16:21:25 -0700
committerZac Medico <zmedico@gentoo.org>2020-08-30 16:39:41 -0700
commit67423a3606db72f45ffe4dec325253a30508bd9d (patch)
treed2fb9ed59066f3e5a405df7da57c25323a598037 /lib/_emerge
parenttest_slot_conflict_rebuild: Add dev-lang/go case for bug 439688 (diff)
downloadportage-67423a3606db72f45ffe4dec325253a30508bd9d.tar.gz
portage-67423a3606db72f45ffe4dec325253a30508bd9d.tar.bz2
portage-67423a3606db72f45ffe4dec325253a30508bd9d.zip
dephgraph: Allow elimination of highest version after slot conflict (bug 439688)
After a slot conflict occurs, allow the highest version to be eliminated from the graph when appropriate. This is needed for correct behavior in cases the highest version cannot be installed because an older version is required by some package. This reverts a change related to bug 531656 from commit a9064d08ef4c92a5d0d1bfb3dc8a01b7850812b0, and that change no longer appears to be necessary, since the unit tests related to bug 531656 now pass without it. Due to this change in slot conflict handling, the --changed-slot test case related to bug 456208 will now fail unless we use an @world update to trigger rebuilds, therefore fix it to do so. Bug: https://bugs.gentoo.org/439688 Signed-off-by: Zac Medico <zmedico@gentoo.org>
Diffstat (limited to 'lib/_emerge')
-rw-r--r--lib/_emerge/depgraph.py9
1 files changed, 0 insertions, 9 deletions
diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
index e071be8df..3f864aefc 100644
--- a/lib/_emerge/depgraph.py
+++ b/lib/_emerge/depgraph.py
@@ -1501,15 +1501,6 @@ class depgraph:
matched = []
for pkg in conflict:
- if (pkg is highest_pkg and
- not highest_pkg.installed and
- inst_pkg is not None and
- inst_pkg.sub_slot != highest_pkg.sub_slot and
- not self._downgrade_probe(highest_pkg)):
- # If an upgrade is desired, force the highest
- # version into the graph (bug #531656).
- non_matching_forced.add(highest_pkg)
-
if atom.match(pkg.with_use(
self._pkg_use_enabled(pkg))) and \
not (is_arg_parent and pkg.installed):