[Rpm-maint] regressions(?) in HEAD: db non backward compatible, src.rpm provide, rpm -K

Panu Matilainen pmatilai at redhat.com
Tue Dec 11 11:41:03 UTC 2007


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 -



More information about the Rpm-maint mailing list