Summary: | <app-portage/eix-0.29.2: eix-update broken since portage-2.2.0_alpha189 | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Pavel Volkov <ao> |
Component: | Unclassified | Assignee: | Martin Väth <martin> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | adaptee, arfrever.fta, boxcars, bugzie, dwfreed, gentoobugs, genzilla, josef64, jrmalaq, poncho, proxy-maint, realnc, whissi, yngwin |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 479992 | ||
Bug Blocks: | 478904 | ||
Attachments: | eix-update output |
Description
Pavel Volkov
2013-07-27 06:34:52 UTC
Created attachment 354280 [details]
eix-update output
Does it help if you set PORTDIR="/usr/portage" in make.conf? No. It looks like the issue is that eix does not export the new PORTAGE_ECLASS_LOCATIONS variable which is now required by ebuild.sh: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=56f416255d0fd5ccf29c08af2eb983080be40dc4 A workaround is to use e.g. PORTDIR_CACHE_METHOD="sqlite" and OVERLAY_CACHE_METHOD="sqlite" in eix configuration. Thanks, Zac: Exporting a sane PORTAGE_ECLASS_LOCATIONS in eix fixes it. This is done in eix git master on BerliOS (>=eix-0.29.2). The problem occurs only with eix's cache method "ebuild*", so even PORTDIR_CACHE_METHOD="parse|ebuild" # instead of "parse|ebuild*" can be used as a (slow) workaround. Of course the better way is anyway to generate metadata for the overlay with egencache as described on the eix manpage in section SPEEDUP. By the way, PORTAGE_REPO_NAME could be exported in ebuild environment so that it is included in error messages. (The attachment shows "ERROR: app-admin/syslog-ng-3.3.5-r2:: failed (depend phase):" as expansion of "ERROR: ${CATEGORY}/${PF}::${PORTAGE_REPO_NAME} failed${phase_str}:".) (In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > By the way, PORTAGE_REPO_NAME could be exported Done (In reply to Martin Väth from comment #6) > This is done in eix git master on BerliOS (>=eix-0.29.2). Is there a current live ebuild for this? I have the same problem with portage 2.1.13.1, so it's not specific to portage 2.2. (In reply to Ben de Groot from comment #9) > > Is there a current live ebuild for this? In the mv overlay Today I hit the same problem on ~amd64: All my ebuilds in my overlays failed with * <eclass-name>.eclass could not be found by inherit() [...] * The specific snippet of code: * [[ -z ${location} ]] && die "${1}.eclass could not be found by inherit()" # emerge --info Portage 2.1.13.4 (default/linux/amd64/13.0, gcc-4.7.3, glibc-2.17, 3.9.11 x86_64) ================================================================= Timestamp of tree: Sun, 04 Aug 2013 20:15:01 +0000 ld GNU ld (GNU Binutils) 2.23.1 distcc 3.1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.2_p45 dev-lang/python: 2.7.5-r1, 3.2.5-r1, 3.3.2-r1 dev-util/cmake: 2.8.11.1 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.13.4, 1.14 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.7.3 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.9 (virtual/os-headers) sys-libs/glibc: 2.17 I had the same problem with the roslin overlay and portage alpha. Had to add OVERLAY_CACHE_METHOD="parse|ebuild" and not PORTDIR_CACHE_METHOD="parse|ebuild" to /etc/eixrc to fix it. Mh: # eix-update --dump | grep -C 5 CACHE_METHOD [...] # STRING # Portage cache-backend that should be used for PORTDIR # (metadata[:*]/sqlite/flat[:*]/portage-2.1/parse[*][|]ebuild[*]/eix[*][:*]) PORTDIR_CACHE_METHOD="metadata-md5-or-flat" # STRING # Portage cache-backend that should be used for the overlays. # (metadata[:*]/sqlite/flat[:*]/portage-2.1/parse[*][|]ebuild[*]/eix[*][:*]) OVERLAY_CACHE_METHOD="parse|ebuild*" [...] # eix-update ...still showing the error (I called 'eix-update' about 10 times, every run failed with the same error). # OVERLAY_CACHE_METHOD="parse|ebuild*" eix-update ...still showing the error. # OVERLAY_CACHE_METHOD="parse|ebuild" eix-update Run without errors. # OVERLAY_CACHE_METHOD="parse|ebuild*" eix-update Will now also run without errors... # eix-update Will now also run without errors. Seems like # OVERLAY_CACHE_METHOD="parse|ebuild*" eix-update did some magic I don't understand yet?! Please update to eix-0.29.3. |