When trying to search for a package that has an EAPI=2 in the repositories using "emerge -s" emerge fails complaining that it doesn't support this EAPI. This happened with me when searching for KDE, and emerge found kde-4.1.2. I've emerge 2.1.4.4 and a portage synched on 03/10/2008. Reproducible: Always Steps to Reproduce: 1. Have a stable system 2. Use sys-apps/portage-2.1.4.4 3. Search for KDE using emerge -s kde Actual Results: * kde-base/kde-l10n [ Masked ] Traceback (most recent call last): File "/usr/bin/emerge", line 6971, in <module> retval = emerge_main() File "/usr/bin/emerge", line 6945, in emerge_main myopts, myfiles, spinner) File "/usr/bin/emerge", line 5815, in action_search searchinstance.output() File "/usr/bin/emerge", line 638, in output mysettings=self.settings, all=True)[1] File "/usr/bin/emerge", line 461, in _getfetchlist value = func(*args, **kwargs) File "/usr/lib/portage/pym/portage.py", line 7164, in getfetchlist (mypkg, eapi.lstrip("-"))) portage_exception.InvalidDependString: getfetchlist(): 'kde-base/kde-l10n-4.1.2' has unsupported EAPI: '2' Expected Results: A list of all packages in the system, independent of what EAPI they have. Portage 2.1.4.4 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r7 i686) ================================================================= System uname: 2.6.25-gentoo-r7 i686 AMD Athlon(tm) 64 X2 Dual-Core Processor TK-57 Timestamp of tree: Fri, 03 Oct 2008 18:34:01 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer -msse3" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer -msse3" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" LINGUAS="pt_BR en_US" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow acl acpi alsa bash-completion berkdb bzip2 cdr cli cracklib crypt dbus dell dri dvdr gdbm gpm hal iconv isdnlog kde laptop midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python qt3 readline reflection session spell spl ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="atiixp hda-itel atiixp-modem" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pt_BR en_US" USERLAND="GNU" VIDEO_CARDS="fbdev radeon fglrx" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
This is fixed in svn r11602.
(In reply to comment #1) > This is fixed in svn r11602. > What does this mean...? Shouldn't the fix be included in a new version of portage...?
Yes, when one is released. There isn't an immediate new release of portage for each and every teeny tiny bug found and fixed. Be patient.
Created attachment 167477 [details, diff] handle InvalidDependString exception when searching If this patch is saved as /tmp/search_invalid.patch, then it can be applied as follows: patch /usr/lib/portage/bin/emerge /tmp/search_invalid.patch
(In reply to comment #4) > Created an attachment (id=167477) [edit] > handle InvalidDependString exception when searching > > If this patch is saved as /tmp/search_invalid.patch, then it can be applied as > follows: > > patch /usr/lib/portage/bin/emerge /tmp/search_invalid.patch > Just tried the patch here, and it seens to solve the problem just fine. Any ideas when this will be released officialy? Other problems i'll keep in touch.
(In reply to comment #4) > Created an attachment (id=167477) [edit] > handle InvalidDependString exception when searching > > If this patch is saved as /tmp/search_invalid.patch, then it can be applied as > follows: > > patch /usr/lib/portage/bin/emerge /tmp/search_invalid.patch > Thanks... Works ;)
With this patch applied to version 2.1.4.4 and 2.1.5.6 I get the following output from packages which only exist as EAPI-2 ebuilds: # emerge -s kdessh Searching... [ Results for search key : kdessh ] [ Applications found : 1 ] * kde-base/kdessh [ Masked ] Latest version available: 4.1.2 Latest version installed: [ Not Installed ] Size of files: Unknown (getfetchlist(): 'kde-base/kdessh-4.1.2' has unsupported EAPI: '2') Homepage: http://www.kde.org/ Description: KDE frontend to ssh License: GPL-2
(In reply to comment #7) > With this patch applied to version 2.1.4.4 and 2.1.5.6 I get the following > output from packages which only exist as EAPI-2 ebuilds: > > # emerge -s kdessh > Searching... > [ Results for search key : kdessh ] > [ Applications found : 1 ] > > * kde-base/kdessh [ Masked ] > Latest version available: 4.1.2 > Latest version installed: [ Not Installed ] > Size of files: Unknown (getfetchlist(): 'kde-base/kdessh-4.1.2' has > unsupported EAPI: '2') > Homepage: http://www.kde.org/ > Description: KDE frontend to ssh > License: GPL-2 > I can confirm this. Portage 2.1.4.4
(In reply to comment #7) > * kde-base/kdessh [ Masked ] > Latest version available: 4.1.2 > Latest version installed: [ Not Installed ] > Size of files: Unknown (getfetchlist(): 'kde-base/kdessh-4.1.2' has > unsupported EAPI: '2') > Homepage: http://www.kde.org/ > Description: KDE frontend to ssh > License: GPL-2 That's the intended behavior. It's not possible for portage-2.1.x to determine the file size. In order to get that information, you'll need at least portage-2.2_rc11 which includes support for EAPI 2.
*** Bug 240640 has been marked as a duplicate of this bug. ***
This is fixed in portage-2.1.4.5.