Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 601628 - || dependency requiring USE flag modification preferred over one without (--autounmask, graphicsmagick[imagemagick])
Summary: || dependency requiring USE flag modification preferred over one without (--a...
Status: RESOLVED DUPLICATE of bug 554070
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL: https://forums.gentoo.org/viewtopic-t...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-05 00:24 UTC by Martin von Gagern
Modified: 2016-12-05 00:31 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin von Gagern 2016-12-05 00:24:02 UTC
I'm on ~amd64, and have both imagemagick and graphicsmagick[-imagemagick] installed. Recently whenever a world update involves upgrading imagemagick, portage will tell me that I need to add the imagemagick USE flag to the graphicsmagick package. Many packages depend on

|| ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] )

or the other way round, including the ones reported in the explanation of the suggested change. But that's actually a bad idea, as imagemagick and graphicsmagick[imagemagick] block one another, and I'm not willing to uninstall the former.

I guess that portage figures that the installed version of imagemagick isn't sufficient to satisfy the various || dependencies, since it will get removed during the upgrade. It then for some reason decides that it would rather satisfy that dependency using graphicsmagick[imagemagick] instead of simply using an upgraded version of imagemagick. At least if --autounmask --autounmask-write is given, as I usually do during my world upgrades. The order of packages in the first depending package it sees might play a role in this decision.

My workaround so far has been to upgrade imagemagick by itself, and inkscape along with it as for some reason that appears to be required, probably because of the := dependency in that ebuild. Then a world update after that will work as it should, leaving my USE flags as they are.

This feels like a bug in portage to me, so that's what I'm reporting here. If there are two viable alternatives for a dependency, namely imagemagick the newer version, and graphicsmagick[imagemagick], then in my opinion portage should pick the one which does not require any modification of USE flags, even if automatic unmasking is requested.

It might be that the best solution to the specific problem of imagemagick vs. graphicsmagick would be introducing a virtual dependency, as is being discussed in bug 314431. But that doesn't change the fact that I consider portage's behavior here worth improving. It might be that the issue I'm reporting here is at heart the same reported in bug 518950. But there portage requests an unneccessary KEYWORD modification, not USE flag modification, and I'm not sure to what extent these two concepts share code paths. Plus that bug has gone 2 years without a single comment, so I'd rather start afresh.

The forum post given in the URL indicates that I'm not alone with this issue. Unfortunately I've read the suggestions there too late, and forgot capturing the exact output from the most recent instance of this issue. Will do that on my next world update involving imagemagick.
Comment 1 Zac Medico gentoo-dev 2016-12-05 00:31:13 UTC

*** This bug has been marked as a duplicate of bug 554070 ***