Bug 241393

Summary: yum doesn't report a reasonable error when missing yum-metadata-parser
Product: [Fedora] Fedora Reporter: Mark Rosenstand <mark>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED UPSTREAM QA Contact:
Severity: low Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-08-03 20:30:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mark Rosenstand 2007-05-25 17:24:34 UTC
Description of problem:
When running yum without yum-metadata-parser installed, it doesn't bail out with
a proper error message:
# yum update
Setting up Update Process
development               100% |=========================| 2.1 kB    00:00     
primary.sqlite.bz2        100% |=========================| 3.8 MB    00:20     
Warning: cache file is version 10, we need 10, will regenerate
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 94, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 264, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd,
self.extcmds)
  File "/usr/share/yum-cli/yumcommands.py", line 150, in doCommand
    return base.updatePkgs(extcmds)
  File "/usr/share/yum-cli/cli.py", line 555, in updatePkgs
    updates = self.up.getUpdatesTuples()
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 514, in <lambda>
    up = property(fget=lambda self: self._getUpdates(),
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 413, in _getUpdates
    self.pkgSack.simplePkgList())
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 501, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 382, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.5/site-packages/yum/repos.py", line 206, in populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 160, in populate
    dobj = repo.cacheHandler.open_database(db_un_fn)
  File "/usr/lib/python2.5/site-packages/yum/sqlitecache.py", line 82, in
open_database
    (csum,db) = self.loadCache(filename)
  File "/usr/lib/python2.5/site-packages/yum/sqlitecache.py", line 70, in loadCache
    raise sqlite.DatabaseError, "Older version of yum sqlite"
sqlite3.DatabaseError: Older version of yum sqlite

Version-Release number of selected component (if applicable):
3.2.0

How reproducible:
Always.

Steps to Reproduce:
Install yum from sources on any Linux-distribution.

Additional info:
This doesn't affect Fedora (at least not systems that lack a crazy sysadmin) but
Seth asked me to file it anyway.

Comment 1 Seth Vidal 2007-08-03 20:30:19 UTC
I'm pretty sure this goes away with a patch james recently submitted closing as
upstream