https://fedoraproject.org/wiki/Changes/RPM-4.17

== Summary ==
Update RPM to the [https://rpm.org/wiki/Releases/4.17.0 4.17] release.

== Owner ==
* Name: [[User:pmatilai|Panu Matilainen]]
* Email: [pmati...@redhat.com]


== 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
* Strict checking for unpackaged content in builds
* Libraries no longer need executable permission for dependency
generation and is automatically removed for non-executable libraries
* 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

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.


== 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
** Adjust packaging to adhere to the strict buildroot content checking

* Release engineering: [https://pagure.io/releng/issue/10072 #10072]

* Policies and guidelines:
** Guidelines have nothing on unpackaged contents in buildroot, so
don't necessarily need updating. Many packages will fail to build
because of the stricter checking though: with rpm >= 4.17 unpackaged
content is not permitted in the buildroot at all.
** 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 ==
* Many existing packages will fail to build due to the stricter
buildroot content checking. Fixing this in the packaging is always
backwards compatible. We could temporarily set
`%_unpackaged_files_terminate_build 0` in rawhide to alleviate initial
impact if necessary.
* 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 ==
* dnf and/or mock will likely need some adjusting for the lack of
implicit database creation. If necessary, rpm maintainers will provide
patches prior to landing this change.
* 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


-- 
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to