Unified database for DNF
Summary
Replacing obsoleted YUM/DNF databases (yumdb, historydb, groups.json) with new unified sqlite database adapted to the current needs of DNF.
Owner
- Name: Eduard Čuba
- Email: ecuba@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 27
- Last updated: 2017-08-08
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
Unified software database for DNF is replacing outdated and obsolete databases behind the DNF. It comes with shared library for accessing the database used by DNF and PackageKit. Library providing database access should be part of libdnf.
Benefit to Fedora
Using single unified database with shared interface enhances data integrity, safety and performance of package managers in Fedora. Database is easily expandable for new features (Modularity support in DNF will use SWDB).
Scope
- Proposal owners: Port DNF to SWDB (patches has been already sent), Port PackageKit to SWDB
- Other developers: PackageKit developers should review proposed changes in libdnf for logging PackageKit transactions into SWDB instead of yumdb. In addition PackageKit developers should consider using SWDB for reading transaction data instead of using its own backend.
- Release engineering: #6886 (a check of an impact with Release Engineering is needed)
- List of deliverables: Change affects whole distro rather than some derivable
- Policies and guidelines: Nothing is required
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Data from obsolete databases are migrated to SWDB with first use of ported DNF. There is no backward migration available.
How To Test
Use DNF in normal operation (especially history commands).
User Experience
Increase of history related DNF commands performance.
Dependencies
Changing DNF databases in the background should not affect other packages.
Contingency Plan
- Contingency mechanism: Write tool to convert to old db format and revert change
- Contingency deadline: Beta Freeze
- Blocks release? Yes (not sure)
- Blocks product? -
Documentation
Not written yet.