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

Bug 239471

Summary: emerge 2.1.4.4 crashes when finding packages with EAPI=2
Product: Portage Development Reporter: Antonio Augusto Santos <khaoticmind>
Component: CoreAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: major CC: bkohler, DrWilken, geo, polynomial-c, sebastian
Priority: High Keywords: InVCS
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 210077, 240304    
Attachments: handle InvalidDependString exception when searching

Description Antonio Augusto Santos 2008-10-03 19:20:43 UTC
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
Comment 1 Zac Medico gentoo-dev 2008-10-03 20:15:19 UTC
This is fixed in svn r11602.
Comment 2 Christian Wilken 2008-10-06 12:03:33 UTC
(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...?
Comment 3 Andrew Gaffney (RETIRED) gentoo-dev 2008-10-06 12:18:48 UTC
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.
Comment 4 Zac Medico gentoo-dev 2008-10-06 17:48:49 UTC
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
Comment 5 Antonio Augusto Santos 2008-10-06 18:36:49 UTC
(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.
Comment 6 Christian Wilken 2008-10-07 16:57:47 UTC
(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 ;)
Comment 7 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2008-10-08 21:36:13 UTC
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
Comment 8 Antonio Augusto Santos 2008-10-08 21:43:17 UTC
(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 
Comment 9 Zac Medico gentoo-dev 2008-10-09 00:40:48 UTC
(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.
Comment 10 Zac Medico gentoo-dev 2008-10-09 06:55:25 UTC
*** Bug 240640 has been marked as a duplicate of this bug. ***
Comment 11 Zac Medico gentoo-dev 2008-10-09 17:10:07 UTC
This is fixed in portage-2.1.4.5.