|Summary:||sys-apps/portage-2.3.3 emerge --fetchonly reports slot conflict inconsistently with dev-ml/camlp4-4.04_p1|
|Product:||Portage Development||Reporter:||Andreas Prieß <ap>|
|Component:||Core - Dependencies||Assignee:||Portage team <dev-portage>|
|Package list:||Runtime testing required:||---|
|Bug Depends on:|
emerge --update --deep --newuse --fetchonly world
emerge --update --deep --newuse --pretend world
Description Andreas Prieß 2017-01-26 07:58:44 UTC
Comment 1 Andreas Prieß 2017-01-26 08:13:54 UTC
Created attachment 461472 [details] emerge --update --deep --newuse --fetchonly world
Comment 2 Andreas Prieß 2017-01-26 08:17:43 UTC
Created attachment 461474 [details] emerge --update --deep --newuse --pretend world
Comment 3 Andreas Prieß 2017-01-26 08:25:23 UTC
No conflict shown with emerge --update --deep --newuse --ask world so probably the emerge would work. Didn't try yet.
Comment 4 Andreas Prieß 2017-01-26 11:03:43 UTC
And please note that the slot conflict is shown to be provoked by conflicting dependencies of the _same_ package! dev-ml/camlp4-4.04_p1:0/4.04_p1::gentoo in both cases.
Comment 5 Zac Medico 2017-01-26 17:24:15 UTC
Conflict backtracking logic is different with --fetchonly, since bug 161422. It's the depgraph _accept_blocker_conflicts method that modifies behavior when some options are enabled. I think what we should do is make the backtracking logic independent of --fetchonly. We could still allow fetch to proceed despite conflicts, as requested in bug 161422, but it's a questionable case that perhaps is not worth supporting.
Comment 6 Paul Varner (RETIRED) 2017-02-03 19:37:21 UTC
(In reply to Zac Medico from comment #5) > Conflict backtracking logic is different with --fetchonly, since bug 161422. > It's the depgraph _accept_blocker_conflicts method that modifies behavior > when some options are enabled. > > I think what we should do is make the backtracking logic independent of > --fetchonly. We could still allow fetch to proceed despite conflicts, as > requested in bug 161422, but it's a questionable case that perhaps is not > worth supporting. Since I filed bug 161422, it was filed mainly because it was a regression from previous versions of portage at the time. That specific use case is more for convenience than anything. So I'm actually thinking that if emerge --nodeps --fetchonly <multiple conflicting packages> would work that would fit the use case. If you want the dependencies fetched, then you would have to run it with the packages individually. If that is more trouble than it's worth. I would go ahead and drop support for that bug.