[CentOS] yum update perl error in CentOS 5.3

Fri Apr 3 11:10:55 UTC 2009
Olaf Mueller <daily-planet at istari.de>

Hello,

if running 'yum update' on a CentOS 5.3 workstation, that was upgraded
from CentOS 5.2, I run into the following error with perl.

[...]
Resolving Dependencies
--> Running transaction check
---> Package perl.i386 4:5.8.8-18.el5_3.1 set to be updated
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 229, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 145, in main
    (result, resultmsgs) = base.buildTransaction()
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 647, in
buildTransaction
    (rescode, restring) = self.resolveDeps()
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 704, in
resolveDeps
    for po, dep in self._checkFileRequires():
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 939, in
_checkFileRequires
    if not self.tsInfo.getOldProvides(filename) and not
self.tsInfo.getNewProvides(filename):
  File "/usr/lib/python2.4/site-packages/yum/transactioninfo.py", line
414, in getNewProvides
    for pkg, hits in self.pkgSack.getProvides(name, flag,
version).iteritems():
  File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 300,
in getProvides
    return self._computeAggregateDictResult("getProvides", name, flags,
version)
  File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 470,
in _computeAggregateDictResult
    sackResult = apply(method, args)
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 861,
in getProvides
    return self._search("provides", name, flags, version)
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in
newFunc
    return func(*args, **kwargs)
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 837,
in _search
    for pkg in self.searchFiles(name, strict=True):
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in
newFunc
    return func(*args, **kwargs)
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 568,
in searchFiles
    self._sql_pkgKey2po(rep, cur, pkgs)
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 470,
in _sql_pkgKey2po
    pkg = self._packageByKey(repo, ob['pkgKey'])
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 413,
in _packageByKey
    po = self.pc(repo, cur.fetchone())
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 68, in
__init__
    self._read_db_obj(db_obj)
  File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 94, in
_read_db_obj
    setattr(self, item, _share_data(db_obj[item]))
TypeError: unsubscriptable object


But for example an 'yum install createrepo' works.

[...]
Resolving Dependencies
--> Running transaction check
---> Package createrepo.noarch 0:0.4.11-3.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================
 Package                                Arch                              
Version                                   Repository                       
Size
============================================================================================================================================================
Installing:
 createrepo                             noarch                            
0.4.11-3.el5                              base                             
59 k

Transaction Summary
============================================================================================================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 59 k
Is this ok [y/N]: y
Downloading Packages:
createrepo-0.4.11-3.el5.noarch.rpm                                                                                                   | 
59 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : createrepo                                       
[1/1]

Installed: createrepo.noarch 0:0.4.11-3.el5
Complete!


Any hints?


Thanks a lot
Olaf