Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 648532 - support for keyword ranges
Summary: support for keyword ranges
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-22 17:34 UTC by Nikita Zlobin
Modified: 2018-02-22 17:34 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 Nikita Zlobin 2018-02-22 17:34:52 UTC
There are cases, when some package needs version, which is not stabilized, but whose stabilization is imminent, or enough expectable - just a matter of time.

For example - libsdl2. Latest stabilized version is 2.0.4, but i have live version of warzone2100, whose code now has minimum required version of sdl-2.0.5.
I can just write "media-libs/libsdl2" to package.keywords (default keyword for me is ~amd64). But in this case i have to remember list of packages, for which stabilizing is expected (for now i have package.keywords/99_bump, whose entries always have form >=pkg-<min_version>.

However, keywords might be specified in form of ranges.
Example entry:

>=media-libs/libsdl2-2.0.5 amd64,~amd64,**

To calculate best version, it would try each keywords, begining from leftmost.
If there is nothing stabilized for >=2.0.5 amd64, it would try >=2.0.5 ~amd64, and so on. For now above entry should result to libsdl-2.0.7, but if version is 2.0.4, it is best version.

In this way, if right now it would upgrade to 2.0.7, if e.g. 2.0.6 is stabilized, it would downgrade from 2.0.7 to 2.0.6 (as emerge would say in some cases - version 2.0.7 is masked automatically).
As option, emerge could give special notification for this case, similar to what it has, when already installed package is masked, e.g. for removal.