On Jun 15, 2009, at 11:14 AM, Thomas Jarosch wrote:
> Jeff,
>
> On Monday, 8. June 2009 21:00:16 Jeff Johnson wrote:
>> On Jun 8, 2009, at 2:39 PM, Thomas Jarosch wrote:
>>> I haven't tried it yet as I remember there was some threading
>>> related
>>> berkley db trouble when Redhat 7.x was released with rpm 4.0.x,
>>> though I'm blurry on the details. So I'll try to get convertdb1
>>> running with the latest version that included it.
>>
>> While your memory may be long, all known "threading"
>> issues have long since been "fixed" in RPM.
>
> Nice.
>
>> But these are hysterical factoids, Berkeley DB (and signature/digest
>> checking)
>> have long since been implemented in RPM, known good, all that
>> remains is
>> to assist helping laggards (like you ;-) in upgrading. I don't mean
>> to
>> offend
>> at all, its a duty and obligation for me.
>>
>> Holler if you need help building rpm-4.0.4 in your environment. I
>> know
>> all the issues if you tell me what problems you see.
>
> I managed to convert the rpm 3.x database using convertdb1. It
> worked both
> with rpm 4.4.2 and even with 4.7.0 from Fedora 11. I cross-checked
> various database dumps and they looked very sane.
>
> If someone else tries this stunt: I was getting strange error
> messages like
> "read only database cursor" during the update, adding the "private"
> keyword
> to this line in /usr/lib/rpm/macros solved it:
>
This error needs to be fixed in other ways. What is needed is to
add DB_WRITECURSOR to indicate that a db cursor will be used
for writing (i.e. adding to an rpmdb index/table).
E.g.
rc = dbiCopen(dbi, dbi->dbi_txnid, &dbcursor, DB_WRITECURSOR);
is getting a cursor for use with put/del, not just get.
> %__dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb private
>
Note that "private" disables ALL locking. Thats perfectly OK
iff you have other means to guarantee that nothing accesses an rpmdb.
Glad to hear the conversion wasn't too painful
73 de Jeff
Received on Mon Jun 15 17:50:20 2009