Change format of the RPM Database from Berkeley DB to RPM's own format.
- Name: Florian Festi
- Email: email@example.com
- Release notes owner:
Due to unexpected technical challenges we postpone this Change one release to F25.
The current implementation of the RPM Database is based on Berkeley DB. There are doubts about the its future and level of maintenance. In addition rpm's use of the database has multiple issues on its own. As a result RPM upstream is working to replace the database format with a new implementation.
Benefit to Fedora
Getting rid of Berkeley DB as a dependency of one of the core components. (Actually not in F24 as we will keep the DBD support for now. But this is the required first step.)
- Proposal owners:
- Test and release the already implemented database format.
- Make sure it is supported by all important tools
- Tools using librpm should not be affected
- Libsolv is the most prominent tool accessing the rpmdb directly and needs adjustment
- Tooling for converting existing databases.
- Other developers:
- Release and update libsolv
- Release engineering: None (hopefully).
- List of deliverables: None
- Policies and guidelines: Not needed
- Trademark approval: N/A (not needed for this Change)
Conversion to the new format will make the RPM DB incompatible to older versions of rpm. The new version will be able to convert between the two formats.
How To Test
- Update to (not yet available) rpm and libsolv version
- Convert to new rpmdb format (details tbd)
- Check if package based operations still work in rpm, yum, dnf, rpm-ostree and all other tools
- Query installed packages
- Install, remove and update packages
This change should influence the user experience.
- Contingency mechanism: Stay with the current format (which will continue to be supported). May need manual work for the testers to convert their rpmdb back.
- Contingency deadline: beta freeze
- Blocks release? Yes. If there are issues the default setting of the rpmdb format might be needed to be changed back before the release.
The format of the rpm database changed and can not be read by older rpm versions to convert back to the old format XXX.