Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 137237 - emerge -s ldcpp broken
Summary: emerge -s ldcpp broken
Status: RESOLVED WONTFIX
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Ebuild Support (show other bugs)
Hardware: All Linux
: High normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-19 02:31 UTC by Miencek
Modified: 2006-06-19 11:24 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miencek 2006-06-19 02:31:30 UTC
when running emerge -s ldcpp

 emerge -s ldcpp
Searching...  |Traceback (most recent call last):
  File "/usr/bin/emerge", line 3215, in ?
    searchinstance.execute(mysearch)
  File "/usr/bin/emerge", line 725, in execute
    if not portage.portdb.xmatch("match-visible",package):
  File "/usr/lib/portage/pym/portage.py", line 5361, in xmatch
    myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep=mydep,mykey=mykey))
  File "/usr/lib/portage/pym/portage.py", line 3949, in match_from_list
    raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)
KeyError: "Specific key requires an operator (net-p2p/ldcpp-cvs-0.0.1) (try adding an '=')"

my make.conf file

CFLAGS="-march=pentium3 -pipe -Os -s -fomit-frame-pointer -mmmx -msse -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

USE="X fbcon dvd dvdr dvdread emul-linux-x86 encode ftp gadu-gadu lm_sensors mozilla php gd xpm gif jpeg mng mpeg png quicktime win32codecs mp3 vorbis ogg oggvorbis gphoto2 ipv6 postgres ncurses opengl sdl ssl xv alsa arts oss crypt gtk gtk2 aalib scanner xml truetype truetype-fonts type1-fonts usb gimp gd f77 dllloader bash-completion cdr gpm pdflib python readline multilib acpi apm divxforlinux xv java gcj nls linguas_pl mmx sse -userlocales multitarget extras ldap nsplugin doc v4l v4l2 unicode visualization musicbrainz insecure-patches editor nptl nptlonly bzip2 -xmms kqemu subversion mouse kde"

MAKEOPTS="-j2"
ACCEPT_KEYWORDS="x86"
LINGUAS="pl en"
LANGUAGE=48
FEATURES=""
CONFIG_PROTECT="-*"

PORTDIR_OVERLAY="/usr/local/portage"

#GENTOO_MIRRORS="ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.netnitco.net"

#FETCHCOMMAND="/usr/bin/wget --bind-address=195.82.164.193 -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget --bind-address=195.82.164.193 -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"



in /usr/local/portage i have /net-p2p/ldcpp-cvs-0.0.1
Comment 1 Jason Stubbs (RETIRED) gentoo-dev 2006-06-19 03:31:52 UTC
Your net-p2p/ldcpp-cvs-0.0.1 directory should in fact be net-p2p/ldcpp-cvs or even just net-p2p/ldcpp when using 2.1.
Comment 2 Zac Medico gentoo-dev 2006-06-19 08:56:35 UTC
I can reprduce this traceback with 2.1 but I'm not sure if it's worth fixing.  I suppose we can catch the KeyError from xmatch and then do some validation on package to check for this particular case.

Searching...  -Traceback (most recent call last):
  File "/usr/bin/emerge", line 3234, in ?
    searchinstance.execute(mysearch)
  File "/usr/bin/emerge", line 726, in execute
    if not portage.portdb.xmatch("match-visible",package):
  File "/usr/lib/portage/pym/portage.py", line 5332, in xmatch
    myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep=mydep,mykey=mykey))
  File "/usr/lib/portage/pym/portage.py", line 3920, in match_from_list
    raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)
KeyError: "Specific key requires an operator (net-p2p/ldcpp-cvs-0.0.1) (try adding an '=')"
Comment 3 Jason Stubbs (RETIRED) gentoo-dev 2006-06-19 09:09:41 UTC
Validating every directory found when walking in cp_all() would be the correct fix but would bring a large performance loss. I reckon this one could be called a WONTFIX.
Comment 4 Zac Medico gentoo-dev 2006-06-19 11:24:39 UTC
In order to minimize the performance hit, I suppose we could do validation inside portdbapi.cp_all for overlays only.  For large overlays it would still hurt performance though.