Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 606940

Summary: Keyword for saying: Merge keyworded package only if no stable version is available
Product: Portage Development Reporter: gerion <gerion.entrup>
Component: Core - ConfigurationAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: enhancement CC: gentoo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description gerion 2017-01-23 17:10:00 UTC
I guess, the typical user wants to use the stable version of the ebuilds. Anyway there are two exceptions:
1. Install keyworded ebuilds, because you want to (new features, etc.).
2. Install keyworded ebuilds, because no stable version is available.

In the latter case the user probably want to use the stable version, once it is available. If I see it right, currently there is no possibility for this. Either you write something like "=foo-bar/foo-0.1.0 ~keyword" in your config file and some time the installed version is outdated and most likely not in the tree anymore and you don't receive an update. Or you write something like "foo-bar/foo ~keyword" in your config file and receive updates, but most likely not the stable version once it is available.

So my suggestion is some kind of mechanism to say: "Install the latest stable version, if such a version is available and if not install the keyworded version." This could be done for example in the accept_keywords file with the syntax: "foo-bar/foo if_necessary(~amd64)

Reproducible: Always
Comment 1 Zac Medico gentoo-dev 2017-01-23 17:24:40 UTC
It might be annoying if a lower version than the one install gets stabilized, especially if there's an ABI change.
Comment 2 gerion 2017-01-23 22:35:49 UTC
This is possible. Does Portage in this case force rebuilds of the affected packages? If so, the user can decide to choose the stable version (and reinstall some packages) or keep or update to a newer keyworded version.

Another possibility would be to emerge the lowest keyworded version, because this is either the one, that is stabilized or it would be a regular update (and not downgrade) to the stabilized version.

By the way, my current solution is to lock the version and check the log of eclean, that says if there are any ebuilds installed that are not in the tree anymore and update manually, but this is time consuming.