From Fedora Project Wiki

< Changes

Revision as of 09:44, 30 March 2021 by Pmatilai (talk | contribs) (Initial rpm 4.17 change draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Change Proposal Name

RPM 4.17

Summary

Update RPM to the 4.17 release.

Owner

Current status

  • Targeted release: Fedora Linux 35
  • Last updated: 2021-03-30
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

RPM 4.17 contains numerous improvements over previous versions

  • Much more robust install failure handling
  • Many macro improvements, in particular much improved Lua integration
  • Strict checking for unpackaged content in builds
  • Long needed transaction APIs enhancements
  • Improved documentation
  • Tentative (planned but not committed as of this writing)
    • Split debugedit to its own project and package
    • Split language-specific packaging aids to separate projects (Python, Perl, Ocaml...)
    • Dynamic spec generation

Feedback

Benefit to Fedora

See description for overall benefits, but in particular:

  • All users benefit from the more robust installation
  • 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
    • Adjust packaging to adhere to the strict buildroot content checking
  • Policies and guidelines: TODO: review the need to update guidelines wrt %exclude!


  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: no relation to current objectives

Upgrade/compatibility impact

  • Many existing packages will fail to build due to the strict buildroot content checking
  • Rpm no longer implicitly creates databases on read-only access, this may require changes to existing scripts/tooling

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

  • dnf and/or mock will likely need some adjusting for the lack of implicit database creation

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


Release Notes