RPM Community Forums

Mailing List Message of <rpm-devel>

Re: Error when installing a new system with HEAD from a couple of days ago

From: Bernhard Rosenkränzer <bero@arklinux.org>
Date: Tue 26 Jan 2010 - 12:27:56 CET
Message-ID: <a20f9bf501766fcadb31625208978426@blankpage.ch>
On Tue, 26 Jan 2010 10:26:23 +0100, Bernhard Rosenkränzer
<bero@arklinux.org> wrote:
> On Mon, 25 Jan 2010 23:42:37 -0500, Jeff Johnson <n3npq@mac.com> wrote:
>> On Jan 25, 2010, at 3:22 PM, Bernhard Rosenkränzer wrote:
>>> trying to install a new system into a chroot jail currently fails:
>>> # rpm -r /mnt/dest -ivh /RPMS/*.rpm
>>> rpm: rpmdb.c:254:dbiOpen: Assertion `__dbapi == 3 || __dbapi == 4'
>>> failed.
>
> /usr/lib/rpm/macros and /usr/lib/rpm/macros.d are both there,
> /usr/lib/rpm/macros has %_dbapi 3 set, and rpm (same binary) looks into
> that file on an installed system.

Figured it out:

Recently,

%{load:%{_usrlibrpm}/macros.d/selinux}

was added to /usr/lib/rpm/macros

That file exists in the installed system, but not in the minimal bootstrap
system we're installing from.
Looks like rpm aborts parsing a macros file if it contains a load
statement referring to a nonexistant file, without giving an error message
about it.

It's a user error for leaving that load statement in, but an error message
(or better yet, a warning message plus continued parsing of the file) would
be nice...

ttyl
bero
Received on Tue Jan 26 12:23:00 2010
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.