Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 946183 - Skipped updates can lead to dependency conflicts when it shouldn't (mostly observed with Qt when have e.g. <qtbase-6.8)
Summary: Skipped updates can lead to dependency conflicts when it shouldn't (mostly ob...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-10 06:31 UTC by Ionen Wolkens
Modified: 2024-12-12 03:47 UTC (History)
1 user (show)

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 Ionen Wolkens gentoo-dev 2024-12-10 06:31:00 UTC
When an ebuild has a pin or a upper bound for Qt (e.g. =qtbase-6.7.3* often seen in pyside6 ebuilds, or <qtbase-6.8 in pyqt6), and that there is a pending update for newer Qt stack without a visible matching ebuild that lifts the bounds, the behaviour I'd expect is to see the usual "WARNING: updates were skipped, don't worry about it" and let users update other things -- but it instead leave users unable to update by presenting them with complex dependency conflicts (unless they --exclude "dev-qt/*", or mask the newer Qt for now).

Have not tested a simpler case but I suspect it's due to "skip chains" not being considered, aka like:

1. package Other-0, and grouped packages A-1.0 + B-1.0 are installed
2. Other-0 depends on <A-2.0 and does not care for version of B
3. A-2.0 and B-2.0 updates are pending
4. being a same-version group, B-2.0 depends on =A-2.0

Then update for A is skipped, which prevents updating B resulting in a conflict rather than B being skipped as well.

Haven't replicated the conflict myself to provide an output, but for recent examples into issues with these Qt versions:
https://forums.gentoo.org/viewtopic-t-1171997.html
https://forums.gentoo.org/viewtopic-t-1172085.html (that one was self-inflicted, but it's the same thing)

There should also be a few bugs that were likely closed as INVALID or resolved by a pyside6 bump (plus more in the past for Qt5 I'd imagine) but have not searched.