After upgrading rpm from 2.5.5-5.2 to 2.94-6, any freshen (-F) operations would fail silently, as though there were nothing to upgrade. Running an upgrade (-U) gave the message that the rpm database needed to be rebuilt due to database changes. After a database rebuild, the previous freshen operation worked as expected.
jeff, maybe this could be done as a postinstall thingie ?
We don't do a --rebuilddb in the rpm %post for two reasons: 1) it normally isn't needed. The current change to a hashed db is done once and once only. 2) the disk space and time requirements for installing rpm would become indeterminate.