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

Bug 333599

Summary: sys-apps/portage enhancement: Overlays management
Product: Portage Development Reporter: Vasilis Lourdas <bugs>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: enhancement CC: bugs, esigra, hwoarang
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 262038    
Bug Blocks: 240187, 358927    

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).

Thanks.
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:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage-multirepo.git
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:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;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-2.1.10.3:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0f799b2a045dfa74ba011123bf5ea6186f44941d