RPM Community Forums

Mailing List Message of <rpm-users>

Re: Compiling RPM-5.1.9 with external Berkley

From: Jeffrey Johnson <n3npq@me.com>
Date: Thu 21 Nov 2013 - 13:58:53 CET
Message-id: <BEE10695-ADC4-4F15-AC79-3ABE5C0ED6DB@me.com>

On Nov 21, 2013, at 5:04 AM, bishwajit goswami wrote:

> Hi  Sriram,
> 
> Thanks for your reply.
> The dbpath in my case is set properly as usr/local/rpm5. root assigned as /tmp is supposed to create the rpmdb using dbpath /tmp/usr/local/rpm5/.
> I am already working with RPM 5.1.9 compiled with internal Berkley and everything works fine, except when I try to use the same dbpath to be queried by RPM 4.8 causing RPMDB incompatibility. 
> 


So you want rpm-5.1.9 and rpm-4.8.x to be able to query the same database?

These are rpm releases from different projects with different goals.

rpm-5.1.9.src.rpm was released on April 18, 2009:
	/files/rpm/rpm-5.1/
rpm-4.8.0.tar.bz2 was released on June 11, 2010:
	http://rpm.org/releases/rpm-4.8.x/

Its kinda hard to test rpm-5.1.9 interoperability with rpm-4.8.0 source
code that hadn't been written at the time of the release.

You likely can do rpm --rebuilddb with whatever version you wish
to use and achieve interoperability.

Note that in rpm-5.3 and later, ACID behavior from Berkeley DB is enabled,
which is an entirely different database model preventing transparent interoperability.

hth

73 de Jeff

> Thanks and Regards,
> Bishwajit
> 
> 
> ---------- Forwarded message ----------
> From: Sriram Narayanan <sriram@belenix.org>
> Date: Wed, Nov 20, 2013 at 11:18 PM
> Subject: Re: Compiling RPM-5.1.9 with external Berkley
> To: rpm-users@rpm5.org
> 
> 
> Let me try quoting that error again: Please see the error referring to a specific path -> "rpmdb: stat: /tmp/usr/local/rpm5/__db.
> Basenames: No such file or directory"
> 
> See this for more info:
> 
> http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch19s03.html
> 
> -- Ram
> 
> 
> On Wed, Nov 20, 2013 at 11:44 AM, Sriram Narayanan <sriram@belenix.org> wrote:
> What's your rpmdb path ?
> 
> Please see the error:
> 
> rpmdb: stat: /tmp/usr/local/rpm5/__db.Basenames: No such file or directory
> 
> 
> On Wed, Nov 20, 2013 at 9:17 AM, bishwajit goswami <bswjt.callmebish@gmail.com> wrote:
> Hi,
> 
> We use Berkley DB 4.8 for some DB transactions. The DB utilities are
> already exported for Berkley DB 4.8. Berkley 4.8 is also used in our case
> to link with RPM 4.8.
> 
> However, we are planning to migrate to RPM 5.1.9. As part of this
> migration, I am able to compile RPM 5.1.9 externally with Berkley 4.8. I
> can also use the built rpm for queries etc.
> 
> The problem comes when I try to install a package with --nodeps and
> initialize an RPMDB. A snippet is pasted below:
> 
> [root@bgl-ng-install-vxr1 rpm-5.1.9]# ./rpm -ivh --nodeps --root=/tmp
> /tmp/cai-pkg-ncs6k-64.rp_lc-5.0.0-Default.x86_64.rpm
> 
> Preparing...                rpmdb: DB_ENV->add_data_dir: method not
> permitted after handle's open method
> 
> rpmdb: stat: /tmp/usr/local/rpm5/__db.Basenames: No such file or directory
> 
> rpmdb: Basenames: No such file or directory
> 
> error: cannot open Basenames(1117) index using db3 - No such file or
> directory (2)
> 
> rpm: rpmdb.c:3693: rpmdbFindFpList: Assertion mi !=3D ((void *)0)&#39;
> failed.</p>
> 
> <p class=3D"MsoNormal" style=3D"margin-bottom:0.0001pt;line-height:normal">=
> Aborted (core dumped)</p>
> 
> <br></div><div>I am not sure what sort of changes would be needed to get th=
> is working. <br></div><div>I looked over the forum but failed to find any p=
> atches available for RPM 5.1.9 to support external Berkley.<br></div><div>
> 
> <br><br></div>Thanks and Regards,<br><div><div>Bishwajit Goswami<br>
> </div></div></div>
> </div><br></div>
> 
> 
> 
> -- 
> Belenix: www.belenix.org
> 
> 
> 
> -- 
> Belenix: www.belenix.org
> 
> 
> 
> 
> -- 
> Bishwajit Goswami
> Software Engineer,
> Cisco Systems India Pvt. Lmited
> Bangalore
Received on Thu Nov 21 13:59:03 2013
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.