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

Bug 157731

Summary: portage-2.1.1-r2 - TypeError: unsubscriptable object when updating konq-plugins
Product: Portage Development Reporter: Silver Juurik <silverjuurik>
Component: Core - DependenciesAssignee: Portage team <dev-portage>
Status: VERIFIED FIXED    
Severity: normal    
Priority: High    
Version: 2.1   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 147007    
Attachments: emerge log
contents of my package.* files
Prevent the TypeError triggered by blockers

Description Silver Juurik 2006-12-10 06:38:13 UTC
emerge -upv konq-plugins

These are the packages that would be merged, in order:

Calculating dependencies... done!
Traceback (most recent call last):
  File "/usr/bin/emerge", line 4049, in ?
    emerge_main()
  File "/usr/bin/emerge", line 4044, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/bin/emerge", line 3541, in action_build
    mydepgraph.display(mydepgraph.altlist())
  File "/usr/bin/emerge", line 1427, in display
    pkgsettings.setcpv(pkg_key)
  File "/usr/lib/portage/pym/portage.py", line 1396, in setcpv
    self.pusekey = best_match_to_list(self.mycpv, self.pusedict[cp].keys())
  File "/usr/lib/portage/pym/portage_dep.py", line 282, in best_match_to_list
    for x in match_to_list(mypkg, mylist):
  File "/usr/lib/portage/pym/portage_dep.py", line 269, in match_to_list
    if match_from_list(x, [mypkg]):
  File "/usr/lib/portage/pym/portage_dep.py", line 339, in match_from_list
    if xs[0:2] != mycpv_cps[0:2]:
TypeError: unsubscriptable object

---------------

eix -s konq-plugins said:

kde-base/konq-plugins
     Available versions:  3.5.2-r1:3.5 3.5.5:3.5
     Installed:           3.5.2-r1

--------------

emerge --info

Portage 2.1.1-r2 (default-linux/amd64/2005.1, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.17-gentoo-r8 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.12.6
Last Sync: Sat, 09 Dec 2006 19:00:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.3.5-r2, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=athlon64"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/NX/etc /usr/NX/home /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=athlon64"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.linux.ee/pub/gentoo/distfiles/ http://mirror.isp.net.au/ftp/pub/gentoo/ ftp://mirror.isp.net.au/pub/gentoo/"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LINGUAS="en et"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X alsa apache2 berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dlloader dri dvd eds elibc_glibc emboss encode exif ffmpeg foomaticdb fortran gif gimp glitz gphoto2 gpm gstreamer gtk gtk2 i18n iconv imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kde kernel_linux linguas_en linguas_et lzw lzw-tiff mad mp3 mpeg ncurses nls nptl nptlonly ogg opengl pam pcre perl png postgres pppd python qt qt3 qt4 quicktime readline reflection sdl session snmp spell spl ssl svg symlink tcpd tiff truetype-fonts type1-fonts usb userland_GNU userlocales video_cards_vesa vorbis xine xorg xpm xscreensaver xv xvid zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

-----------------------

As emerge tries to update konq-plugins, emerge -u world also doesn't work.
Masking the konq-plugins version 3.5.5 enables me to update world again.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-12-10 06:49:25 UTC
Do you have anything in /etc/portage/modules?  If so, comment out
whatever is in that file (or remove it) and then run `emerge --metadata` 
Comment 2 Silver Juurik 2006-12-10 07:06:38 UTC
/etc/portage/modules does not exist on my system.

emerge --metadata

>>> Updating Portage cache:  100%


emerge -upv konq-plugins

These are the packages that would be merged, in order:

Calculating dependencies... done!
Traceback (most recent call last):
  File "/usr/bin/emerge", line 4049, in ?
    emerge_main()
  File "/usr/bin/emerge", line 4044, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/bin/emerge", line 3541, in action_build
    mydepgraph.display(mydepgraph.altlist())
  File "/usr/bin/emerge", line 1427, in display
    pkgsettings.setcpv(pkg_key)
  File "/usr/lib/portage/pym/portage.py", line 1396, in setcpv
    self.pusekey = best_match_to_list(self.mycpv, self.pusedict[cp].keys())
  File "/usr/lib/portage/pym/portage_dep.py", line 282, in best_match_to_list
    for x in match_to_list(mypkg, mylist):
  File "/usr/lib/portage/pym/portage_dep.py", line 269, in match_to_list
    if match_from_list(x, [mypkg]):
  File "/usr/lib/portage/pym/portage_dep.py", line 339, in match_from_list
    if xs[0:2] != mycpv_cps[0:2]:
TypeError: unsubscriptable object
Comment 3 Zac Medico gentoo-dev 2006-12-10 12:18:35 UTC
You've got an invalid atom somewhere, possibly in /etc/portage/package.use.

Please run the following:

env FEATURES=python-trace emerge --debug -upv konq-plugins &> debug.log
tail -n 2000 debug.log > small.log

Please attach the small log.
Comment 4 Silver Juurik 2006-12-10 12:58:43 UTC
Created attachment 103757 [details]
emerge log
Comment 5 Silver Juurik 2006-12-10 13:06:04 UTC
Created attachment 103758 [details]
contents of my package.* files
Comment 6 Zac Medico gentoo-dev 2006-12-10 13:33:29 UTC
Created attachment 103759 [details, diff]
Prevent the TypeError triggered by blockers

This should correct the problem.  If the patch is saved as /tmp/blocks.patch, then it can be applied as follows:

cd /usr/lib/portage
patch -p0 < /tmp/blocks.patch

Note that this problem is already fixed in the 2.1.2 branch of portage which is nearing a final release (probably this month).
Comment 7 Silver Juurik 2006-12-10 13:44:48 UTC
works like a charm, thanks
Comment 8 Silver Juurik 2006-12-10 13:57:21 UTC
the patch works fine