RPM 4.17
Summary
Update RPM to the 4.17 release.
Owner
- Name: Panu Matilainen
- Email: [pmatilai@redhat.com]
Current status
- Targeted release: Fedora Linux 35
- Last updated: 2021-06-23
- FESCo issue: #2593
- Tracker bug: #1951105
- Release notes tracker: #684
Detailed Description
RPM 4.17 contains numerous improvements over previous versions
- More robust install failure handling
- Many macro improvements, in particular much improved Lua integration
- Libraries no longer need executable permission for dependency generation and is automatically removed for non-executable libraries
- Automatic removal of .la files from buildroot
- Long needed transaction APIs enhancements
- Improved documentation
- Split debugedit to its own project and package (Review bug: #1953633)
- Split Python-specific packaging aids to its own project and package
The plan is to get 4.17-alpha into rawhide as early as possible (during April) to sort out any initial rough edges long before the general feature deadline rush. Final version is expected to be released well in time before F35 beta.
Feedback
Benefit to Fedora
See description for overall benefits, but in particular:
- All users benefit from the more robust installation
- Packaging sanity wrt libraries
- Macro authors will have a much saner experience creating complex macros in Lua
- DNF for the enhanced transaction APIs
Scope
- Proposal owners:
- Rebase RPM
- Assist with dealing with incompatibilities
- Other developers:
- Test new release, report issues and bugs
- Release engineering: #10072
- Policies and guidelines:
- Libraries no longer need to be executable for dependency generation, and executable bit will in fact be removed if invalidly set on a library. Guidelines only have a vague "executable if appropriate" mention so it does not *need* changing but could now be clarified/tightened if desired.
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives: no relation to current objectives
Upgrade/compatibility impact
- Rpm no longer implicitly creates databases on read-only access, this may require changes to existing scripts/tooling. Ensuring mock/dnf works is a pre-requisite to landing this change into rawhide, and will be handled, one way or the other, by the rpm maintainers.
How To Test
Rpm receives a thorough and constant testing via every single package build, system installs and updates. New features can be tested specifically as per their documentation.
User Experience
The user-experience remains largely as-is, but install failures are handled more gracefully.
Dependencies
- soname bump is not expected so rebuilds should not be required
Contingency Plan
- Contingency mechanism: Revert back to RPM 4.16, but the risk of having to do should be negligible
- Contingency deadline: Beta freeze
- Blocks release? No
Documentation
Work-in-progress release notes at https://rpm.org/wiki/Releases/4.17.0 and reference manual at https://github.com/rpm-software-management/rpm/blob/master/doc/manual/index.md