Searching for ebuilds in overlays that are not locally available

A basic thing before using an overlay is finding the correct one. Unfortunately most portage tools and emerge -s only search local overlays. For eix we implemented a special update-eix-remote tool to add information of remote overlays. It can be used like this:

# echo app-portage/eix >> /etc/portage/package.keywords
# emerge eix
# update-eix
# update-eix-remote update

I like the result very much. For example this allows me to take notice of a newer asterisk ebuild in drizzt’s overlay:

$ eix -e asterisk
[U] net-misc/asterisk
     Available versions:  1.0.11_p1 1.2.13 1.2.13-r1 1.4.0_beta3[1]
     Installed:           1.2.13-r1
     Description:         Asterisk: A Modular Open Source PBX System

[1] (layman/drizzt-overlay)

Of course this kind of search can only work when the overlay is present in the global layman list. The global list is kept in Gentoo cvs gentoo/xml/htdocs/proj/en/overlays/layman-global.txt Every Gentoo developer with commit permissions is encouraged to keep this list up to date. I also welcome contributions by non-developers – please send a diff against the current layman-global.txt to or contact us in IRC #gentoo-overlays with the diff. To generate a diff:
$ diff -u layman-global.txt.orig layman-global.txt > new-overlay.diff

Also the few layman commands to use the overlay:

# emerge -va layman
# echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf
# layman -k -f -L     #you can see all global overlays listed here
# layman -k -a drizzt-bsd

-k disables checks for officialness, -f fetches a new global list, -L lists all overlays, -a adds a new overlay, -S syncs all overlays