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.
There was a SOC project working on multi-repo support this summer: http://git.overlays.gentoo.org/gitweb/?p=proj/portage-multirepo.git
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
Is there any progress regarding this request?
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.
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