Am 22.07.2012 14:00, schrieb Nilesh Govindrajan: > I guess I'm missing some settings specific to this? I have 3 overlays > installed via layman, and this eix takes ridiculously long to index > through them, I don't know why. > > The portage tree is indexed quickly. >
There is usually not much you can do there. This typically happens with
overlays that contain no metadata cache.
Look at your overlay directory into metadata/layout.conf. If it doesn't
contain a "cache-formats" line you are probably out of luck since eix
has to parse each ebuild.
Read the section about CACHE_METHOD in `man eix`
The default method for overlays is "parse|ebuild*" meaning that if there
is a cache, it will be used and double-checked with a fast parser
("parse"). If there is no cache, the parser will be used alone. If that
does not give satisfying results (e.g. because variables are set in
eclasses instead of ebuilds), the real ebuild parser (i.e. bash) will be
used to parse them ("ebuild*").
The last step is probably what causes the delays. It also poses a
security risk if you don't trust the ebuilds since you are basically
executing them (although with limited permissions).
Things might get better if they ever get libbash [1] finished. But don't
hold your breath.
If you need to update the eix cache on several systems, it might be
faster to generate a cache on one machine and distribute it to all
other. See `man egencache`.
[1] http://qiaomuf.wordpress.com/2011/05/05/introduction-to-libbash/
Regards,
Florian Philipp
signature.asc
Description: OpenPGP digital signature

