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
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.
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 '=')"
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.
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.