If the test case for bug 612772 is modified by removing sys-devel/clang from @world, then the update from llvm:0 to llvm:4 is held back when check_reverse_dependencies returns False for the ~sys-devel/llvm-3.9.1 dependency from the installed sys-devel/clang-3.9.1-r100 instance. In this case, the _in_blocker_conflict method that solves bug 612772 returns False, because the clang:4 update is never pulled into the dependency graph. It would be nice if emerge would recognize that an upgrade to llvm:4 would make the clang:0 package eligible for removal by --depclean. This is the test case: diff --git a/pym/portage/tests/resolver/test_slot_operator_exclusive_slots.py b/pym/portage/tests/resolver/test_slot_operator_exclusive_slots.py index 2ab379c..484e69e 100644 --- a/pym/portage/tests/resolver/test_slot_operator_exclusive_slots.py +++ b/pym/portage/tests/resolver/test_slot_operator_exclusive_slots.py @@ -70,7 +70,7 @@ class SlotOperatorExclusiveSlotsTestCase(TestCase): } - world = ["sys-devel/clang", "media-libs/mesa"] + world = ["media-libs/mesa"] test_cases = (
Patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/message/cc7caf34fe41b2ec1a0e2ec849919850 https://github.com/gentoo/portage/pull/142
This is in the master branch: https://gitweb.gentoo.org/proj/portage.git/commit/?id=35208d80a55228a50ea4ac64904465ce4651e381
Fixed in 2.3.6.