Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 607252 - sys-apps/portage-2.3.3 emerge --fetchonly reports slot conflict inconsistently with dev-ml/camlp4-4.04_p1
Summary: sys-apps/portage-2.3.3 emerge --fetchonly reports slot conflict inconsistentl...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 377365
  Show dependency tree
 
Reported: 2017-01-26 07:58 UTC by Andreas Prieß
Modified: 2018-03-26 04:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge-info.txt,20.49 KB, text/plain)
2017-01-26 07:58 UTC, Andreas Prieß
Details
emerge --update --deep --newuse --fetchonly world (emerge-fetchonly.txt,9.58 KB, text/plain)
2017-01-26 08:13 UTC, Andreas Prieß
Details
emerge --update --deep --newuse --pretend world (emerge-pretend.txt,5.18 KB, text/plain)
2017-01-26 08:17 UTC, Andreas Prieß
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Prieß 2017-01-26 07:58:44 UTC
Created attachment 461470 [details]
emerge --info

Currently
emerge --update --deep --newuse --fetchonly world
behaves different from
emerge --update --deep --newuse --pretend world

emerge with --pretend does not show any conflicts, emerge with --fetchonly shows a different package list to merge with a slot conflict:

>=dev-lang/ocaml-4.04_beta:=[ocamlopt?] required by
    (dev-ml/camlp4-4.04_p1:0/4.04_p1::gentoo, ebuild scheduled for merge)

<dev-lang/ocaml-4.02.3-r1 required by
    (dev-ml/camlp4-4.04_p1:0/4.04_p1::gentoo, ebuild scheduled for merge)

See full emerge output as attachment.
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 gentoo-dev 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) gentoo-dev 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.