public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* [gentoo-portage-dev] [PATCH] dephgraph: Allow elimination of highest version after slot conflict (bug 439688)
@ 2020-08-30 23:42 99% Zac Medico
  0 siblings, 0 replies; 1+ results
From: Zac Medico @ 2020-08-30 23:42 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Zac Medico

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>
---
 lib/_emerge/depgraph.py                                  | 9 ---------
 .../tests/resolver/test_slot_change_without_revbump.py   | 4 ++--
 lib/portage/tests/resolver/test_slot_conflict_rebuild.py | 3 ---
 3 files changed, 2 insertions(+), 14 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):
diff --git a/lib/portage/tests/resolver/test_slot_change_without_revbump.py b/lib/portage/tests/resolver/test_slot_change_without_revbump.py
index 5cd8c53d1..e05705671 100644
--- a/lib/portage/tests/resolver/test_slot_change_without_revbump.py
+++ b/lib/portage/tests/resolver/test_slot_change_without_revbump.py
@@ -71,8 +71,8 @@ class SlotChangeWithoutRevBumpTestCase(TestCase):
 
 			# Test --changed-slot
 			ResolverPlaygroundTestCase(
-				["app-arch/libarchive"],
-				options = {"--changed-slot": True, "--usepkg": True},
+				["@world"],
+				options = {"--changed-slot": True, "--usepkg": True, "--update": True, "--deep": True},
 				success = True,
 				mergelist = ["app-arch/libarchive-3.1.1", "kde-base/ark-4.10.0"]),
 
diff --git a/lib/portage/tests/resolver/test_slot_conflict_rebuild.py b/lib/portage/tests/resolver/test_slot_conflict_rebuild.py
index b3bcf44d0..d650d42ae 100644
--- a/lib/portage/tests/resolver/test_slot_conflict_rebuild.py
+++ b/lib/portage/tests/resolver/test_slot_conflict_rebuild.py
@@ -454,10 +454,7 @@ class SlotConflictRebuildTestCase(TestCase):
 		finally:
 			playground.cleanup()
 
-class SlotConflictRebuildGolangTestCase(TestCase):
-
 	def testSlotConflictRebuildGolang(self):
-		self.todo = True
 
 		ebuilds = {
 
-- 
2.25.3



^ permalink raw reply related	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-08-30 23:42 99% [gentoo-portage-dev] [PATCH] dephgraph: Allow elimination of highest version after slot conflict (bug 439688) Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox