Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 30206 - emerge crashes while trying to get deps for binary packages
Summary: emerge crashes while trying to get deps for binary packages
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-02 14:47 UTC by Scott Beck
Modified: 2011-10-30 22:21 UTC (History)
0 users

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


Attachments
fixes binary package deps checking for me.. (02_all_binary_packages_deps.patch,493 bytes, patch)
2003-10-02 14:48 UTC, Scott Beck
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Beck 2003-10-02 14:47:30 UTC
When I try to emerge a large number of binary packages emerge choaks on getting
dependecies for one of the packages. I did some debugging and found the problem.
In portage.py around line 2344 there is:
    if myusevar in myuse:
            enabled=1
    else:
            enabled=0

In the case with binary package myuse comes from somewhere else and it is not
an array so python throws an error.

I'll attach a patch that fixes this but I am not sure if it is the _right_ way
to fix it as I am not a python person.

Reproducible: Always
Steps to Reproduce:
1. setup a system that uses a lot of binary packages
2. emerge -eK world

Actual Results:  
emerge crashed

Expected Results:  
not crashed

sbeck@sbeck sbeck $ emerge info
Portage 2.0.49-r6 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.20-gentoo-r2)
=================================================================
System uname: 2.4.20-gentoo-r2 i686 AMD Athlon(tm) XP 1800+
distcc 2.0.1 i686-pc-linux-gnu (protocol 1) (default port 3632) [enabled]
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -mmmx -msse -m3dnow -mfpmath=sse -pipe
-fomit-frame-pointer -fforce-addr -funroll-loops -frerun-loop-opt"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox autoaddcvs ccache distcc"
GENTOO_MIRRORS="ftp://ftp.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://backup/gentoo-portage"
USE="x86 avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mpeg
ncurses pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml gdbm
berkdb readline svga guile X sdl gpm tcpd pam libwww ssl python esd imlib
oggvorbis opengl cdr apache2 mmx 3dnow sse alsa dvd dga -oss -apm -arts gnome
-gnome2 -gtk2 gtk java -kde -motif mozilla moznomail moznoirc mysql -nls
nocardbus perl pic -qt samba -slang tcltk tiff"
Comment 1 Scott Beck 2003-10-02 14:48:33 UTC
Created attachment 18629 [details, diff]
fixes binary package deps checking for me..
Comment 2 Scott Beck 2003-10-07 04:06:23 UTC
This patch does not fix things. It only fixes them for certain situations,
for
some reason sometimes what I do a split on is a string and sometimges it
is a
list. I'll try to track it down further.
Comment 3 Scott Beck 2003-10-07 09:31:22 UTC
ok, tracked it down I think.
In portage.py there is a function:
def get_use(self,pkgname):
        mysplit=string.split(pkgname,"/")
        if self.isremote(pkgname):
                return string.split(self.remotepkgs[mysplit[1]+".tbz2"]["USE"][:])
        tbz2=xpak.tbz2(self.getname(pkgname))
        return tbz2.getfile("USE")

getfile returns a string. So only in that case does it fail. Changing it
to:
return tbz2.getfile("USE").split()
seems to fix it in all situations.
Comment 4 Nicholas Jones (RETIRED) gentoo-dev 2003-12-24 13:33:24 UTC
This is out stable already.