4.8.1 -> 4.9.1.3 upgrade woes

Dash Four mr.dash.four at googlemail.com
Wed Jul 24 11:26:39 UTC 2013


Panu Matilainen wrote:
> Note that rpm 4.9.x works just fine with BDB 4.x versions too, there's 
> no requirement to use 5.x.
>
> As an aside, rpm 4.9.x is getting a bit long in the tooth already, why 
> not go with a newer stable version if upgrading?
Yep, I ended up going for 4.10 (I know it is not the latest version, but 
it was the first one to have the X-Unit* capabilities which is what I 
needed it for).

>> Trying "rpm --rebuilddb -v" wasn't of any use either as I ended up with
>> the following errors:
>>
>> error: db5 error(-30969) from dbenv->open: DB_VERSION_MISMATCH: Database
>> environment version mismatch
>> error: cannot open Packages index using db5 -  (-30969)
>
> When upgrading from a BDB version to another, you'll need to remove 
> the BDB environment, which is always incompatible between BDB versions:
> 'rm -f /var/lib/rpm/__db.*'
That is indeed the case - I figured it out later on. There is a 
"posttrans" scriptlet in the .spec file (I use FC), which *should* take 
care of this automatically, but doesn't. Why? Because there is a bug in 
the libdb-utils package (I used version 5.00).

libdb-utils 5+ *should* obsolete the db4-utils package (as it is a 
straight-forward replacement), but doesn't, hence the "postrtrans" 
scriptlet, which is dependent on an error message being displayed, 
doesn't work and it is why I was getting this error when trying to 
upgrade - the "old" db4-utils package is not deleted and because it 
shows no error message the __db.00? files are not deleted, so I had to 
delete them all manually in the end.

>> On a slightly separate note, during the new build, I failed about 32 rpm
>> checks - all caused by non-existing "/proc" directory (I am using mock,
>> so /proc isn't there, obviously), so that is something for the
>> developers to note for future releases.
>
> This should be taken care of in newer rpm versions already.
I can confirm that this is the case - I passed all tests when building 
version 4.10.x. I also ended up recompiling and installing about 10+ 
other packages - thank god I used mock and the whole thing didn't took long.


More information about the Rpm-list mailing list