[Yum] yum on Mandrake 10.0

Charles Curley charlescurley at charlescurley.com
Mon Apr 19 15:37:24 UTC 2004


On Sun, Apr 18, 2004 at 11:51:33PM -0400, seth vidal wrote:
> On Thu, 2004-04-15 at 10:35 -0600, Charles Curley wrote:
> 
> > I'd like to install yum on Mandrake 10.0. Given that Mandrake 10.0 has
> > rpm-4.2.2-7mdk, I figured yum-2.0.6-1 was in order. I get:
> > 
> > [root at taltos root]# yum -C list
> > Gathering header information file(s) from server(s)
> > Server: Mandrake 10.0 - i386 - Base
> > Traceback (most recent call last):
> >   File "/usr/bin/yum", line 30, in ?
> >     yummain.main(sys.argv[1:])
> >   File "/usr/share/yum/yummain.py", line 237, in main
> >     clientStuff.rpmdbNevralLoad(rpmDBInfo)
> >   File "/usr/share/yum/clientStuff.py", line 164, in rpmdbNevralLoad
> >     if not rpmdbdict.has_key((name, arch)):
> > TypeError: list objects are unhashable
> 
> is the mdk python patched in some odd way?
> 
> it's saying rpmdbdict is a list - which is, umm, very unlikely.

I have no idea, being enither a python nor a Mandrake guru. Here is
what is installed:

[root at taltos root]# pre python
python-base-2.3.3-2mdk
libpython2.3-2.3.3-2mdk
python-2.3.3-2mdk
libxml2-python-2.6.6-1mdk
rpm-python-4.2.2-7mdk


Is it possible I'm missing a component. Mandrake seems to slice and
dice their RPMs more finely than Red Hat/Fedora. Here is what is
available:

[root at taltos root]# find /mnt/nfs/Mandrake*/ -iname "*python*rpm"
/mnt/nfs/Mandrake/RPMS/libpython2.3-2.3.3-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS/python-2.3.3-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS/python-base-2.3.3-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS/python-fam-1.0.2-4mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS/python-numeric-23.1-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS2/python-imaging-1.1.4-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS2/rpm-python-4.2.2-7mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS3/gnome-python-bonobo-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS3/gnome-python-canvas-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS3/gnome-python-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS3/libpython2.3-devel-2.3.3-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS3/libwxPythonGTK2.4-2.4.2.4-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS3/pythonlib-1.28-5mdk.noarch.rpm
/mnt/nfs/Mandrake/RPMS3/python-docs-2.3.3-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS3/wxPythonGTK-2.4.2.4-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/beecrypt-python-3.1.0-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/dbus-python-0.20-7mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/gnome-python-gnomeprint-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/gnome-python-gconf-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/gnome-python-gnomevfs-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/gnome-python-nautilus-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/gnome-python-gtkhtml2-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/gnome-python-applet-2.0.0-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/libuser-python-0.51.7-8mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/libwxPythonGTK2.4-devel-2.4.2.4-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/libxml2-python-2.6.6-1mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/libxslt-python-1.1.2-1mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/python-numeric-devel-23.1-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/python-utmp-0.7-3mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS5/xchat-python-2.0.7-6mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS7/drpython-2.2.7-1mdk.noarch.rpm
/mnt/nfs/Mandrake/RPMS7/gimp1_3-python-2.0-0.pre3.2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS7/gstreamer-python-0.1.0-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS7/MySQL-python-0.9.2-2mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS7/python-psyco-docs-1.1.1-1mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS7/python-glpk-0.3-1mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS7/python-psyco-1.1.1-1mdk.i586.rpm
/mnt/nfs/Mandrake/RPMS7/python-reportlab-1.17-2mdk.noarch.rpm
/mnt/nfs/Mandrake/RPMS7/streamtuner-python-0.0.3-1mdk.i586.rpm


It may also be that my copy of the yum rpm is corrupted.


def rpmdbNevralLoad(nevral):
    rpmdbdict = {}
    serverid = 'db'
    rpmloc = 'in_rpm_db'
    hdrs = ts.dbMatch()
    for hdr in hdrs:
        (epoch, name, ver, rel, arch) = getENVRA(hdr)
        # deal with multiple versioned dupes and dupe entries in localdb
        if not rpmdbdict.has_key((name, arch)):
            rpmdbdict[(name, arch)] = (epoch, ver, rel)
        else:
            (e1, v1, r1) = (rpmdbdict[(name, arch)])
            (e2, v2, r2) = (epoch, ver, rel)    
            rc = rpmUtils.compareEVR((e1,v1,r1), (e2,v2,r2))
            if (rc <= -1):
                rpmdbdict[(name, arch)] = (epoch, ver, rel)
            elif (rc == 0):
                log(4, 'dupe entry in rpmdb %s %s' % (name, arch))
    for value in rpmdbdict.keys():
        (name, arch) = value
        (epoch, ver, rel) = rpmdbdict[value]
        nevral.add((name, epoch, ver, rel, arch, rpmloc, serverid), 'n')



-- 

Charles Curley                  /"\    ASCII Ribbon Campaign
Looking for fine software       \ /    Respect for open standards
and/or writing?                  X     No HTML/RTF in email
http://www.charlescurley.com    / \    No M$ Word docs in email

Key fingerprint = CE5C 6645 A45A 64E4 94C0  809C FFF6 4C48 4ECD DFDB
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum/attachments/20040419/6f92ddd1/attachment-0001.pgp 


More information about the Yum mailing list