After the recent update of portage to 2.0.49-r3, the following traceback occurs: bracknell root # emerge -uUDp world > WORLD Traceback (most recent call last): File "/usr/bin/emerge", line 2023, in ? if not mydepgraph.xcreate(myaction): File "/usr/bin/emerge", line 938, in xcreate myeb=portage.portdb.xmatch("bestmatch-visible",mydep) File "/usr/lib/python2.2/site-packages/portage.py", line 3739, in xmatch myval=best(self.xmatch("match-visible",None,mydep,mykey)) File "/usr/lib/python2.2/site-packages/portage.py", line 3750, in xmatch myval=self.match2(mydep,mykey,self.xmatch("list-visible",None,mydep,mykey)) File "/usr/lib/python2.2/site-packages/portage.py", line 3736, in xmatch myval=self.gvisible(self.visible(self.cp_list(mykey))) File "/usr/lib/python2.2/site-packages/portage.py", line 3819, in gvisible myaux=db["/"]["porttree"].dbapi.aux_get(mycpv, ["KEYWORDS"]) File "/usr/lib/python2.2/site-packages/portage.py", line 3463, in aux_get myebuild,in_overlay=self.findname2(mycpv) ValueError: need more than 0 values to unpack Reproducible: Always Steps to Reproduce: 1. 2. 3. Here is emerge info: bracknell root # emerge info Portage 2.0.49-r3 (default-1.0, gcc-2.95.3, glibc-2.2.5-r4,2.2.5-r8, 2.4.19-gentoo-r10) ================================================================= System uname: 2.4.19-gentoo-r10 i686 Pentium III (Coppermine) ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=i686 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache autoaddcvs userpriv usersandbox sandbox" GENTOO_MIRRORS="http://csociety-ftp.ecn.purdue.edu/pub/gentoo/ ftp://cs.ubishops.ca/pub/gentoo ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://gentoo.linux.no/pub/gentoo/ ftp://sunsite.ualberta.ca/pub/unix/Linux/gentoo/ " MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 oss 3dnow apm avi crypt cups encode jpeg libg++ mikmod mmx mpeg ncurses pdflib quicktime spell truetype xml2 xmms xv alsa arts berkdb bonobo cdr esd gdbm ggi gif gnome gnome-libs gpm gphoto2 gtk gtkhtml guile imlib java kde ldap libwww motif mozilla mysql nls oggvorbis opengl pam perl png postgres python qt readline ruby scanner sdl slang ssl svga tcltk tcpd tetex tiff X gb imap innodb jikes maildir zlib"
Blank lines in world file? Can you post it if not? If you could add in (use tabs) the following prior to line 3463 in portage.py that'd be helpful: print "mycpv",mycpv
Created attachment 17739 [details] famously borked world file world file that caused portage to blow chunks
I regenerated the world file on that box and the problem went away; I did save the file, however, and I'll attach it (well, I think this is the one I backed up, but I don't see any obvious problem with it :( ). It might have resulted from editing the world file by hand at some previous point. However, the error did not occur until I upgraded portage. In any case, the issue, it seems to me, is not so much how my system got into a borked condition; it is how portage responded to the borked condition. Some precondition in portage was not getting checked that should be. If emerge had died saying "borked world file, please run $script" I'd have been happier. Even if I cat macbeth.html > /var/cache/edb/world it would be nice for emerge to tell me what is wrong.
*** Bug 28271 has been marked as a duplicate of this bug. ***
I reproduced this bug by doing the following. Pick a package in the world file, for example in mine was app-text/unix2dos Go to PORTAGE_OVERLAY mkdir app-text/unix2dos cd app-text/unix2dos cp /usr/portage/skel.ebuild unix2dos-cvs.ebuild bash-2.05b$ sudo emerge -up world These are the packages that I would merge, in order: Calculating world dependencies |Traceback (most recent call last): File "/usr/bin/emerge", line 2023, in ? if not mydepgraph.xcreate(myaction): File "/usr/bin/emerge", line 938, in xcreate myeb=portage.portdb.xmatch("bestmatch-visible",mydep) File "/usr/lib/python2.2/site-packages/portage.py", line 3739, in xmatch myval=best(self.xmatch("match-visible",None,mydep,mykey)) File "/usr/lib/python2.2/site-packages/portage.py", line 3750, in xmatch myval=self.match2(mydep,mykey,self.xmatch("list-visible",None,mydep,mykey)) File "/usr/lib/python2.2/site-packages/portage.py", line 3736, in xmatch myval=self.gvisible(self.visible(self.cp_list(mykey))) File "/usr/lib/python2.2/site-packages/portage.py", line 3819, in gvisible myaux=db["/"]["porttree"].dbapi.aux_get(mycpv, ["KEYWORDS"]) File "/usr/lib/python2.2/site-packages/portage.py", line 3463, in aux_get myebuild,in_overlay=self.findname2(mycpv) ValueError: need more than 0 values to unpack Mark
This bug was caused by -U. Portage-2.0.49-r6 and later should fix this issue.