Hi! When upgrading to Fedora 10, the newer Berkeley-DB version used in F10 causes the following error messages after RPM itself has been upgraded: -------------------- 8< -------------------- rpmdb: Program version 4.5 doesn't match environment version 0.128 error: db4 error(-30972) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages index using db3 - (-30972) error: cannot open Packages database in /var/lib/rpm -------------------- 8< -------------------- This is because some environment files (__db.00*) of the rpm-database remain from the previous version. To work around this error, rpm has a posttrans scriptlet that deletes those environment files: -------------------- 8< -------------------- posttrans scriptlet (using /bin/sh): # XXX this is klunky and ugly, rpm itself should handle this dbstat=/usr/bin/db45_stat if [ -x "$dbstat" ]; then if "$dbstat" -e -h /var/lib/rpm 2>&1 | grep -q "doesn't match environment version \| Invalid argument"; then rm -f /var/lib/rpm/__db.* fi fi exit 0 -------------------- 8< -------------------- However, this scriptlet is called after the rpm transaction has finished, so any other rpm that follows the rpm-upgrade in the same transaction and that calls rpm inside one of its scriptlets will produce the error and the corresponding script will fail. When doing a dist-upgrade, even when only upgrading rpm as a first step, the packages needed to satisfy the dependencies will cause the above error. (E.g. openldap-servers contains a call to "rpm -q" in order to check if the ldap-database needs to be migrated.) Is there any workaround for this problem? Cheers, --leo -- e-mail ::: Leo.Bergolth (at) wu-wien.ac.at fax ::: +43-1-31336-906050 location ::: Computer Center | Vienna University of Economics | Austria _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxxxxx http://lists.rpm.org/mailman/listinfo/rpm-list