[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

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

[root at taltos root]# find /mnt/nfs/Mandrake*/ -iname "*python*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)
            (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