From Fedora Project Wiki
(Announcing the Change proposal)
(→‎Detailed Description: Replaced links to the PR to the official documentation that is now online)
Line 42: Line 42:
* x86-64 architecture levels (v2-v4) as architectures
* x86-64 architecture levels (v2-v4) as architectures
* Support for %preuntrans and %postuntrans scriptlets
* Support for %preuntrans and %postuntrans scriptlets
* Creating User and Groups from sysusers.d files including Provides and Requires or Recommends ([https://github.com/rpm-software-management/rpm/pull/2432 PR], [https://github.com/rpm-software-management/rpm/discussions/2277 Discussion])
* [https://rpm-software-management.github.io/rpm/manual/users_and_groups.html Creating User and Groups] from sysusers.d files including Provides and Requires or Recommends
* [https://rpm-software-management.github.io/rpm/manual/dynamic_specs.html Dynamic Spec generation]
* [https://rpm-software-management.github.io/rpm/manual/dynamic_specs.html Dynamic Spec generation]
** find_lang now being able to generate language sub packages
** find_lang now being able to generate language sub packages

Revision as of 08:13, 31 March 2023

RPM 4.19

Important.png
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Update RPM to the 4.19 release.

Owner


Current status

  • Targeted release: Fedora Linux 39
  • Last updated: 2023-03-31
  • devel thread
  • 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.19 contains various improvements over previous versions. Many of them are internal in nature such as moving from automake to cmake, improvements to the test suite, stripping copies of system functions, splitting translations into a separate project and more. There are still several user facing changes:

  • New rpmsort(8) utility for sorting RPM versions
  • x86-64 architecture levels (v2-v4) as architectures
  • Support for %preuntrans and %postuntrans scriptlets
  • Creating User and Groups from sysusers.d files including Provides and Requires or Recommends
  • Dynamic Spec generation
    • find_lang now being able to generate language sub packages

The 4.19 alpha release is expected in April and the final release is expected in time for the Fedora 39 release cycle as usual.

Feedback

Benefit to Fedora

This release comes with many improvements. It opens the possibility for Fedora to adopt the new major features mentioned above.

Scope

  • Proposal owners:
    • Release RPM 4.19 alpha
    • Rebase RPM
    • Assist with dealing with incompatibilities
    • Integrate new User/Group handling
      • Conflicts with the current one including the Provides generation in systemd-rpm-macros
  • Other developers:
    • Test new release, report issues and bugs
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

  • %patch without arguments and options is an error
  • %patchN syntax is deprecated
  • File globbing is now more consistent


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

There are no major differences in the normal user experience.

Dependencies

  • Deprecated APIs are removed. This may require adjustments to software still using them.
  • so-name of librpm changes. Packages depending on it are expected to need a re-build
  • Packages running in the changes mentioned in the Upgrade/compatibility impact section might need adjusting. This should be relatively rare, though.

Contingency Plan

  • Contingency mechanism: Revert back to RPM 4.18
  • Contingency deadline: Beta freeze
  • Blocks release? No

Documentation

Release notes at https://rpm.org/wiki/Releases/4.19.0 and reference manual at https://rpm-software-management.github.io/rpm/manual/

Release Notes

https://rpm.org/wiki/Releases/4.19.0 (still work in progress)