A have a bunch of overlays. One of them has it's own eclass. Additional overlays are defined in /etc/eixrc files as follows: ADD_OVERLAY="/usr/local/paludis/local /usr/local/paludis/extras" Bear in mind that I do not use portage - I use paludis. When running update-eix I get the following error: [ ! -e "$location" ] && die "${1}.eclass could not be found by inherit()" The die message: paludis-hooks.eclass could not be found by inherit() While looking into ebuild.sh we can find: if [ -n "$PORTDIR_OVERLAY" ]; then local overlay for overlay in ${PORTDIR_OVERLAY}; do .... location="${olocation}" done fi [ ! -e "$location" ] && die "${1}.eclass could not be found by inherit()" As you can see eclasses are only looked in PORTDIR_OVERLAY paths, but not in ADD_OVERLAY paths. Setting PORTDIR_OVERLAY to the same value as ADD_OVERLAY in /etc/make.conf solves the problem although I would like to be able to do that in /etc/eixrc as I don't use /etc/make.conf. Setting PORTDIR_OVERLAY in /etc/eixrc has no effect. Reproducible: Always Steps to Reproduce: 1. Get overlay with own eclass(es) 2. Configure eix to index that overlay through ADD_OVERLAY setting 3. Run update-eix Actual Results: * ERROR: app-paludis/paludis-hooks-collision-protect-2.5 failed. * Call stack: * ebuild.sh, line 1861: Called source '/usr/local/paludis/extras/app-paludis/paludis-hooks-collision-protect/paludis-hooks-collision-protect-2.5.ebuild' * paludis-hooks-collision-protect-2.5.ebuild, line 9: Called inherit 'paludis-hooks' * ebuild.sh, line 1201: Called die * The specific snippet of code: * [ ! -e "$location" ] && die "${1}.eclass could not be found by inherit()" * The die message: * paludis-hooks.eclass could not be found by inherit() * * If you need support, post the topmost build error, and the call stack if relevant. * This ebuild is from an overlay: '/usr/local/paludis/extras/' Expected Results: No error
The cache methods ebuild* and ebuild (and thus also the default method for overlays: parse|ebuild*) _must_ use portage and thus require a correct /etc/make.conf. However, AFAIK (I never tried, since I don't use paludis), paludis has its own directory to store overlay metadata: You can use the corresponding cache method repo-flat:PATH (or is the paludis format repo-assign:PATH?) with the corresponding directory for overlays (cf. the description of OVERLY_CACHE_METHOD and CACHE_METHOD in the eix manpage).
I hope that the mentioned paludis cache method can be used; as a further "workaround" you can just write a wrapper which sources /etc/eixrc and exports a corresponding PORTDIR_OVERLAY. Or you can source /etc/eixrc from within /etc/make.conf or vice versa (or you can source from both a third file) to set the corresponding vars for both tools simultaneously. In any case, since the ebuild[*] cache method is portage related, I do not consider it as a bug if it does not work without an appropriate /etc/make.conf (or an appropriate environment setting), therefore closing the bug as invalid.
For related news see the comments to bug 265854