Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 612874

Summary: sys-apps/portage: missed update from llvm:0 to llvm:4 when clang is not in @world
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal CC: esigra, ivanhoe
Priority: Normal Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=612772
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 155723, 619102    

Description Zac Medico gentoo-dev 2017-03-17 03:48:38 UTC
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 = (
Comment 3 Zac Medico gentoo-dev 2017-08-11 19:48:47 UTC
Fixed in 2.3.6.