[CentOS] Yum segmentation fault updating from 5.6 to 5.7

Thu Sep 15 16:44:04 UTC 2011
sebastiano at datafaber.net <sebastiano at datafaber.net>

On Thu, 15 Sep 2011 18:36:10 +0200, Alain Péan wrote:
> And here is the answer from Karanbir Singh :
>
> "unfortunately, you hit an issue that I did not think anyone would 
> see (
> but was aware of... ). The issue originates from the fact that the 
> new
> CR repo has no sqlite metadata store, its xml only. And your machine 
> was
> trying to get the sqlite files - hitting a valid 404, since those 
> files
> do not exist."

You may be onto something, I've seen that the 5.6 base repo has the 
sqlite metadata store while the 5.7 base repo hasn't it. But the 20K 
sqlite file that yum generates on my boxes looks to have at least 
something related to sqlite inside it rather than the response from a 
404 error:

[root at picard base]# strings /var/cache/yum/base/primary.xml.gz.sqlite
SQLite format 3
{tabledb_infodb_info
CREATE TABLE db_info (dbversion INTEGER, checksum TEXT)
tablepackagespackages
CREATE TABLE packages (  pkgKey INTEGER PRIMARY KEY,  pkgId TEXT,  name 
TEXT,  arch TEXT,  version TEXT,  epoch TEXT,  release TEXT,  summary 
TEXT,  description TEXT,  url TEXT,  time_file INTEGER,  time_build 
INTEGER,  rpm_license TEXT,  rpm_vendor TEXT,  rpm_group TEXT,  
rpm_buildhost TEXT,  rpm_sourcerpm TEXT,  rpm_header_start INTEGER,  
rpm_header_end INTEGER,  rpm_packager TEXT,  size_package INTEGER,  
size_installed INTEGER,  size_archive INTEGER,  location_href TEXT,  
location_base TEXT,  checksum_type TEXT)J
cindexpackagenamepackages
CREATE INDEX packagename ON packages (name)G
aindexpackageIdpackages
CREATE INDEX packageId ON packages (pkgId)
tablefilesfiles
CREATE TABLE files (  name TEXT,  type TEXT,  pkgKey INTEGER)@
Yindexfilenamesfiles
CREATE INDEX filenames ON files (name)
tablerequiresrequires   CREATE TABLE requires (  name TEXT,  flags 
TEXT,  epoch TEXT,  version TEXT,  release TEXT,  pkgKey INTEGER , pre 
BOOLEAN DEFAULT FALSE)L
gindexpkgrequiresrequires
CREATE INDEX pkgrequires on requires (pkgKey)L
eindexrequiresnamerequires
CREATE INDEX requiresname ON requires (name)
gtableprovidesprovides
CREATE TABLE provides (  name TEXT,  flags TEXT,  epoch TEXT,  version 
TEXT,  release TEXT,  pkgKey INTEGER )L
gindexpkgprovidesprovides
CREATE INDEX pkgprovides on provides (pkgKey)
triggerremovalspackagesCREATE TRIGGER removals AFTER DELETE ON packages 
BEGIN    DELETE FROM files WHERE pkgKey = old.pkgKey;    DELETE FROM 
requires WHERE pkgKey = old.pkgKey;    DELETE FROM provides WHERE pkgKey 
= old.pkgKey;    DELETE FROM conflicts WHERE pkgKey = old.pkgKey;    
DELETE FROM obsoletes WHERE pkgKey = old.pkgKey;  ENDL
eindexprovidesnameprovides
CREATE INDEX providesname ON provides (name)
itableconflictsconflicts
CREATE TABLE conflicts (  name TEXT,  flags TEXT,  epoch TEXT,  version 
TEXT,  release TEXT,  pkgKey INTEGER )P
kindexpkgconflictsconflicts
CREATE INDEX pkgconflicts on conflicts (pkgKey)
itableobsoletesobsoletes
CREATE TABLE obsoletes (  name TEXT,  flags TEXT,  epoch TEXT,  version 
TEXT,  release TEXT,  pkgKey INTEGER )P
kindexpkgobsoletesobsoletes
CREATE INDEX pkgobsoletes on obsoletes (pkgKey)