Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 478320

Summary: <app-portage/eix-0.29.2: eix-update broken since portage-2.2.0_alpha189
Product: Portage Development Reporter: Pavel Volkov <ao>
Component: UnclassifiedAssignee: 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
I noticed that portage-2.2.0_alpha189 introduced some changes.
eix-update is broken for me on systemd-overlay from layman currently.

Reproducible: Always

Steps to Reproduce:
sudo eix-update



Portage 2.2.0_alpha190 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.3, glibc-2.17, 3.9.11-gentoo-r1melf x86_64)
=================================================================
System uname: Linux-3.9.11-gentoo-r1melf-x86_64-Intel-R-_Core-TM-_i5-2400_CPU_@_3.10GHz-with-gentoo-2.2
KiB Mem:    16414120 total,  13158540 free
KiB Swap:    5242876 total,   5242876 free
Timestamp of tree: Sat, 27 Jul 2013 05:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.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.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 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
Repositories: gentoo systemd-love custom
Installed sets: @fonts, @mkde, @vim
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE NVIDIA-r1 skype-4.0.0.7-copyright AdobeFlash-11.x unRAR MPEG-4 myspell-ru_RU-ALexanderLebedev grass-ipafonts BitstreamCyberbit freedist free-noncomm MSttfEULA vim.org CC-BY-NC-ND-3.0"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -mtune=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/ibus/component/simple.xml"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native -mtune=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ http://trumpetti.atm.tut.fi/gentoo/"
LANG="ru_RU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/systemd-love /usr/local/portage"
USE="X a52 aac acl acpi alsa amd64 anthy bluetooth branding bzip2 cairo cdda cdr cjk cli cracklib crypt cryptsetup cups cxx dbus declarative directfb djvu dri dts dvd dvdr embedded emboss encode exif fam fbcon ffmpeg firefox flac fortran gdbm gif gpm gstreamer gtk iconv icu idn ipv6 jpeg kde kipi lame lcms libcaca libnotify lm_sensors mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl ogg opengl openmp openvg pam pango pcre pdf perl phonon plasma png policykit ppds python qt3support qt4 raw readline samba scanner sdl semantic-desktop session spell sse sse2 ssl startup-notification svg systemd tcpd tiff truetype udev udisks unicode upower usb vdpau vorbis wxwidgets x264 xcb xcomposite xinerama xml xscreensaver xv xvid zlib zsh-completion" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB ru ja" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby18 ruby20" SANE_BACKENDS="genesys" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 1 Pavel Volkov 2013-07-27 06:35:11 UTC
Created attachment 354280 [details]
eix-update output
Comment 2 Zac Medico gentoo-dev 2013-07-27 06:40:58 UTC
Does it help if you set PORTDIR="/usr/portage" in make.conf?
Comment 3 Pavel Volkov 2013-07-27 06:43:35 UTC
No.
Comment 4 Zac Medico gentoo-dev 2013-07-27 06:51:55 UTC
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
Comment 5 Arfrever Frehtes Taifersar Arahesis 2013-07-27 07:02:25 UTC
A workaround is to use e.g. PORTDIR_CACHE_METHOD="sqlite" and OVERLAY_CACHE_METHOD="sqlite" in eix configuration.
Comment 6 Martin Väth 2013-07-27 18:24:32 UTC
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.
Comment 7 Arfrever Frehtes Taifersar Arahesis 2013-07-27 23:07:02 UTC
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}:".)
Comment 8 Martin Väth 2013-07-28 09:34:31 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #7)
> By the way, PORTAGE_REPO_NAME could be exported

Done
Comment 9 Ben de Groot (RETIRED) gentoo-dev 2013-07-28 12:36:36 UTC
(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?
Comment 10 Nikos Chantziaras 2013-07-28 14:37:28 UTC
I have the same problem with portage 2.1.13.1, so it's not specific to portage 2.2.
Comment 11 Martin Väth 2013-07-28 15:27:22 UTC
(In reply to Ben de Groot from comment #9)
> 
> Is there a current live ebuild for this?

In the mv overlay
Comment 12 Thomas Deutschmann (RETIRED) gentoo-dev 2013-08-04 20:59:43 UTC
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
Comment 13 thomas 2013-08-04 21:21:35 UTC
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.
Comment 14 Thomas Deutschmann (RETIRED) gentoo-dev 2013-08-06 18:04:50 UTC
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?!
Comment 15 Michael Weber (RETIRED) gentoo-dev 2013-08-07 09:16:53 UTC
Please update to eix-0.29.3.