[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rpmorg-maint
Subject:    [Rpm-maint] regressions(?) in HEAD: db non backward compatible, src.rpm provide, rpm -K
From:       pmatilai () redhat ! com (Panu Matilainen)
Date:       2007-12-11 11:41:03
Message-ID: alpine.LFD.0.9999.0712111322450.2915 () localhost ! localdomain
[Download RAW message or body]

On Tue, 11 Dec 2007, Pixel wrote:

> I've hit the following pbs. Any clue would help :)
>
> ----------------------------------------
> after "rpm -Uvh" to rpm rpms built from HEAD,
> then going back to 4.4.2.2 rpms, i get:
>
> % rpm -q glibc
> error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery
> error: error(-30977) getting "glibc" records from Name index
> package glibc is not installed
> error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery
> % rpm --rebuilddb
> rpmdb: page 1: illegal page type or format
> rpmdb: PANIC: Invalid argument
> rpmdb: /var/lib/rpm/Packages: pgin failed for page 1
> error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery
> rpmdb: PANIC: fatal region error detected; run recovery
> error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery
> rpmdb: PANIC: fatal region error detected; run recovery
> error: db4 error(-30977) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery
> % rpm -qa
>
> # oops, no db anymore...
>
> is this a known behaviour?

Urgh.. yes. HEAD has BDB 4.6.x internally which is on-disk incompatible 
with anything older. The DB is resurrectable by using BDB 4.6.x 
(rpm)db_dump and piping to BDB 4.3.x (or 4.5.x) (rpm)db_load but it's not 
exactly nice...

I've been avoiding this by building + using against an external BDB 4.5.x 
which is on-disk compatible with BDB 4.3.x (which is what 4.4.2.2 has) 
while offering the possibility of automatic stale lock removal.

> ----------------------------------------
> src.rpm built with rpm.org HEAD seems to provide themself:
>
> % rpm -qp --provides foo-1-1.src.rpm
> foo = 1-1
>
> just like binary rpms. Any reason for this change?

Not intended, I'll have a look in a minute.

> ----------------------------------------
> after upgrading to rpm.org HEAD, "rpm -K" doesn't work anymore:
>
> % rpm -K glibc-2.6.1-5mdv2008.1.i586.rpm
> glibc-2.6.1-5mdv2008.1.i586.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#26752624)

Hmm.. works for me.

> strace /usr/lib/rpm/rpmk shows it tries to open /secmod.db, and calls 
> netstat...

What version of NSS are you using? I see the /secmod.db open attempt too 
(which is totally bogus) but no netstat here...

BTW thanks for reporting - I'm planning to branch off for release 
stabilization in near future and now is a very good time to dig for 
regressions :) Most likely we'll have to revert some half-baked things in 
HEAD for the release to be able to cut a release in reasonable timeframe.

 	- Panu -


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic