Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 24891 - emerge depclean fails
Summary: emerge depclean fails
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: High normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-20 07:21 UTC by Daniel Westermann-Clark
Modified: 2011-10-30 22:20 UTC (History)
1 user (show)

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


Attachments
patch against portage-2.0.49_pre13 (emerge.patch,355 bytes, patch)
2003-07-22 20:03 UTC, Marius Mauch (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Westermann-Clark 2003-07-20 07:21:08 UTC
After updating to Portage 2.0.48-r5, emerge -p depclean fails with a Python
backtrace:

# emerge -p depclean

*** WARNING *** : DEPCLEAN CAN  SERIOUSLY  IMPAIR YOUR SYSTEM. USE CAUTION.
*** WARNING *** : (Cancel: CONTROL-C) -- ALWAYS VERIFY ALL PACKAGES IN THE
*** WARNING *** : CANDIDATE LIST FOR  SANITY  BEFORE  ALLOWING DEPCLEAN TO
*** WARNING *** : UNMERGE ANY PACKAGES.
*** WARNING *** :
*** WARNING *** : USE FLAGS MAY HAVE AN EXTREME EFFECT ON THE OUTPUT.
*** WARNING *** : SOME LIBRARIES MAY BE USED BY PACKAGES BUT ARE NOT
*** WARNING *** : CONSIDERED TO BE A DEPEND DUE TO USE FLAG SETTINGS.
*** WARNING *** :
*** WARNING *** : Packages  in the list  that are  desired  may be added
*** WARNING *** : directly to the world file to cause them to be ignored
*** WARNING *** : by declean and maintained in the future. BREAKAGES DUE
*** WARNING *** : TO UNMERGING AN  IN-USE  LIBRARIES  MAY BE REPAIRED BY
*** WARNING *** : MERGING  *** THE PACKAGE THAT COMPLAINS ***  ABOUT THE
*** WARNING *** : MISSING LIBRARY.

Calculating depclean dependencies ... done!
Traceback (most recent call last):
  File "/usr/bin/emerge", line 1840, in ?
    catpack=myparts[0]+"/"+myparts[1]
TypeError: unsubscriptable object

Reproducible: Always
Steps to Reproduce:
1. emerge -u portage
2. Fix make.conf
3. emerge -p depclean

Actual Results:  
I received the Python error.

Expected Results:  
emerge should have printed a list of packages to remove.

Portage 2.0.48-r5 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.21 i686 AMD Athlon(tm) XP 2000+
GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo
ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo rsync://gentoo.seren.com/gentoo
http://gentoo.oregonstate.edu"
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"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="oss apm crypt foomaticdb kde libg++ libwww mad mikmod nls quicktime spell
xmms zlib gdbm berkdb slang svga java guile sdl gpm tcpd pam esd qt motif
mozilla x86 3dnow mmx aalib cdr cups fbcon maildir ncurses pda readline ssl perl
python postgresql xml xml2 X xv gtk gtkhtml gnome -arts truetype gif imlib jpeg
pdflib png tiff avi dvd encode mpeg opengl oggvorbis"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-mcpu=athlon-xp -O2 -fomit-frame-pointer"
CXXFLAGS="-mcpu=athlon-xp -O2 -fomit-frame-pointer"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j1"
AUTOCLEAN="yes"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache
Comment 1 Sascha Silbe 2003-07-20 12:09:05 UTC
I've generated some debug output:

=== Begin /usr/bin/emerge snippet (around line 1840) ===
        reallist=[]
        for x in alldeps:
                print `x`+'\n'
                print `string.split(x)[2]`+'\n'
                myparts=portage.catpkgsplit(string.split(x)[2])
                print `myparts`+"\n"
                catpack=myparts[0]+"/"+myparts[1]
                if catpack not in reallist:
                        reallist.append(catpack)
=== End /usr/bin/emerge snippet ===

=== Begin screenshot ===
root@cube:~# emerge -vp depclean
[...]
Calculating depclean dependencies ... done!
[...]
'ebuild / dev-python/egenix-mx-base-2.0.4 merge'

'dev-python/egenix-mx-base-2.0.4'

['dev-python', 'egenix-mx-base', '2.0.4', 'r0']

'ebuild / net-www/w3m-0.4.1-r2 merge'

'net-www/w3m-0.4.1-r2'

['net-www', 'w3m', '0.4.1', 'r2']

'blocks / app-emulation/winex-cvs sys-libs/glibc-2.3.2-r1'

'app-emulation/winex-cvs'

None

Traceback (most recent call last):
  File "/usr/bin/emerge", line 1843, in ?
    catpack=myparts[0]+"/"+myparts[1]
TypeError: unsubscriptable object
=== End screenshot ===

So it seems like portage.catpkgsplit cannot handle blocking packages.


BTW: What exactly does this output mean?

=== Begin screenshot ===
root@cube:~# emerge -Dpu world
[ebuild  N   ] sys-devel/gnuconfig-20030708  
[blocks B    ] app-emulation/winex-cvs (from pkg sys-libs/glibc-2.3.2-r1)
[...]
=== End screenshot ===

Does it mean that sys-libs/glibc blocks winex-cvs or rather the other way round?

Comment 2 Sascha Silbe 2003-07-20 12:10:44 UTC
Almost forgot that:

Portage 2.0.48-r5 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.21-cube-2 i686 AMD Athlon(tm) processor
GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ http://gentoo.inode.at/ ftp://gentoo.inode.at/source/"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/vice/etc /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config"
CONFIG_PROTECT_MASK="/etc/afs/modload /etc/make.globals /etc/afs/C /etc/afs/afsws /etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY="/usr/local/portage"
USE="x86 foomaticdb libg++ mad gtkhtml gdbm berkdb libwww gtk cdr -3dfx 3dnow -aalib acl afs -alsa apm -arts avi -bonobo crypt -cups dga -directfb doc -dvd encode -esd -evo -fbcon -ggi gif -gnome -gnome-libs -gphoto2 -gpm guile hbci -icc -icc-pgo imap imlib ipv6 -java jpeg kde kerberos lcms ldap -matrox maildir mbox mikmod mmx monitor -motif mozilla mpeg -mule mysql nas ncurses nls -odbc oggvorbis opengl oss pam -pcmcia -pda pdflib -perl png -pnp postgres python qt qtmt quicktime readline -ruby samba sasl sdl slang -slp -snmp socks5 spell ssl -static -svga -tcltk -tcpd tetex tiff truetype -voodoo3 X xml xml2 -xmms xv -zeo zlib"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O3 -pipe"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://hybrid.sascha.silbe.org/gentoo-portage"
FEATURES="sandbox ccache"


Comment 3 Peter Gantner (a.k.a. nephros) 2003-07-22 15:42:19 UTC
second that. I get the same "unsubscriptable" error with emerge -p depclean.

--debug does not seem to provide any clues on the problem (although I only looked at it briefly: its a lot of output!)

email me (or just reply to this) to let me know how I can help to resolve this.
Comment 4 Marius Mauch (RETIRED) gentoo-dev 2003-07-22 20:03:11 UTC
Created attachment 14893 [details, diff]
patch against portage-2.0.49_pre13

This patch fixes the crash, don't know if it is the right way to do it but
results are identical to 48-r1 (means depclean is still broken in general).
Comment 5 Marius Mauch (RETIRED) gentoo-dev 2003-07-24 09:57:27 UTC
Seems to be fixed in 49_pre14.
Comment 6 Sascha Silbe 2003-10-02 14:31:06 UTC
Seems to work now (using Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1,
2.4.21-cube-2)).

Comment 7 Martin Holzer (RETIRED) gentoo-dev 2003-12-07 16:45:50 UTC
closing as fixed