Summary: | app-portage/eix: take into account overlay's eclasses | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Peter Volkov (RETIRED) <pva> |
Component: | Current packages | Assignee: | Martin Väth <martin> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | darkside, martin |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Peter Volkov (RETIRED)
![]() The cache methods ebuild* and ebuild essentially just call portage to execute the ebuilds. Portage will not do what you want unless PORTDIR_OVERLAY is set to include that overlay. There is no way around this. The appropriate solution for you is to write a wrapper for update-eix which exports PORTDIR_OVERLAY including that overlay. The only "solution" of update-eix would be to be smarter as the user and do exactly the same by some heuristic, but all these heurstics can have undesired side effects and lead to other problems. Another solution which works "by accident" is to use the cache method ebuild (instead of ebuild*), e.g. set OVERLAY_CACHE_METHOD='parse|ebuild' or CACHE_METHOD='/usr/local/overlays/science parse|ebuild'. The cache method "ebuild" works on a "higher" level of portage, and portage is smart enough on this level to extend PORTDIR_OVERLAY temporarily. Since I doubt that a solution without undesired side effects exists on the eix side, I set this bug to "can't fix". Probably eix could catch some common errors and suggest user change his cache method... but I'm not sure here. Thank you Martin. eix of current svn trunk (>=eix-0.15.7) now sets/modifies the PORTDIR_OVERLAY environment variable according to added/excluded overlays before executing the ebuild. If this causes undesired side effects, the feature can be switched off by EXPORT_PORTDIR_OVERLAY=false |