Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 333599 - sys-apps/portage enhancement: Overlays management
Summary: sys-apps/portage enhancement: Overlays management
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: High enhancement with 1 vote (vote)
Assignee: Portage team
Depends on: 262038
Blocks: 240187 358927
  Show dependency tree
Reported: 2010-08-20 10:01 UTC by Vasilis Lourdas
Modified: 2011-08-06 23:53 UTC (History)
3 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Vasilis Lourdas 2010-08-20 10:01:08 UTC
I don't know if this is the right place to submit a proposal for portage, but let me try it out.

Currently, portage does not manage overlays. What I mean is that when a package exists inside the official tree and an overlay that the user added with layman, it installs the latest available version from the overlay (provided that this version is newer that the one inside the tree). That's ok, but what happens when there's another overlay that also contains the same package? I have bumped upon the case when I wanted a specific version from a specific overlay, but portage would choose a higher version or a version from another overlay.

So, it would be nice for portage to give the user the ability to prioritize the overlays (and the packages in them). Consider this example:

tree      contains foo-1.23 (~)
overlay1  contains foo-1.23 (~) with additional patches
overlay2  contains foo-1.23 (~) with another set of patches and different dependencies

I want to install foo-1.23 from overlay1. There's must be some way to mask the other versions or to make overlay1 to take precedence from the tree and overlay2. Or simply I want to install the official foo-1.23 from the tree and not mess with "experimental" ebuilds from the other overlays (to answer your "why did you add these two in the first place?" question, it's because overlay1 and overlay2 have ebuilds that are not in the tree, or have ebuilds with newer versions than the tree).

Comment 1 Zac Medico gentoo-dev 2010-08-20 12:22:29 UTC
There was a SOC project working on multi-repo support this summer:
Comment 2 Zac Medico gentoo-dev 2010-10-01 16:03:51 UTC
This is getting closer now that the 'reposyntax' patches give support for parsing sync URI from /etc/portage/repos.conf:;a=commit;h=5309ef42b2e82160705bd0ffead1aed40d61944c
Comment 3 Vasilis Lourdas 2011-08-06 21:15:54 UTC
Is there any progress regarding this request?
Comment 4 Sebastian Luther (few) 2011-08-06 21:26:23 UTC
I'd say this bug can be closed as fixed. You can now append ::repo_name to atoms in all config files and on the command line.
Comment 5 Zac Medico gentoo-dev 2011-08-06 23:53:36 UTC
If you prefer a certain repo for a certain package, then you should put a repo atom in your world file like this:

   emerge --noreplace foo-1.23::overlay1

It's supported since portage-;a=commit;h=0f799b2a045dfa74ba011123bf5ea6186f44941d