(→Detailed Description: New features) |
(Update ToDo items) |
||
(103 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
= RPM 4.19 = | = RPM 4.19 = | ||
== Summary == | == Summary == | ||
Line 15: | Line 13: | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF39]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 31: | Line 29: | ||
ON_QA -> change is fully code complete | ON_QA -> change is fully code complete | ||
--> | --> | ||
* FESCo issue: | * [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/6HKEDAU4FWUOMI4QJ4P4UQLE5QP4VSH2/ devel thread] | ||
* Tracker bug: | * FESCo issue: [https://pagure.io/fesco/issue/2980 #2980] | ||
* Release notes tracker: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2187480 #2187480] | ||
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/979 #979] | |||
=== Completed items === | |||
* Acquire a side tag: f39-build-side-67564 | |||
* Build rpm with bundling old libraries | |||
* Rebuild reverse dependencies ([https://koji.fedoraproject.org/koji/builds?inherited=0&tagID=67564 current state]): | |||
** abrt-2.17.0-1.fc39 | |||
** abrt-java-connector-1.3.2-3.fc39 | |||
** anaconda-39.16-2.fc39 - build-requires s390utils, run-requires dnf | |||
** annobin-12.10-3.fc39 | |||
** deltarpm-3.6.3-9.fc39 | |||
** dnf5-5.0.11-3.fc39 | |||
** fapolicyd-1.2-5.fc39 | |||
** freeipa - dlopens librpm for an unchanged rpmvercmp() [https://bugzilla.redhat.com/show_bug.cgi?id=2208570], skipped. | |||
** frr-8.5.1-2.fc39 - build-requires net-snmp | |||
** gnome-software-44.1-2.fc39 | |||
** libappstream-glib-0.8.2-3.fc39 | |||
** libdnf-0.70.1-3.fc39 | |||
** libdnf-plugin-swidtags-0.8.8-8.fc39 - build-requires libdnf | |||
** libextractor-1.10-10.fc39 | |||
** libguestfs-1.51.3-2.fc39 | |||
** libsolv-0.7.24-4.fc39 | |||
** libzypp-17.31.8-2.fc39 | |||
** microdnf-3.9.0-3.fc39 - build-requires libnf, run-requires dnf | |||
** net-snmp-5.9.3-3.fc39 | |||
** openscap-1.3.7-3.fc39 | |||
** PackageKit-1.2.6-8.fc39 - build-requires libappstream-glib, libdnf | |||
** perl-RPM-VersionCompare-0.1.1-45.fc39 | |||
** perl-RPM2-1.4-23.fc39 | |||
** php-pecl-rpminfo-0.6.0-9.fc39 | |||
** rpmconf-1.1.10-1.fc39 - needs adapting to RPM 4.19 Python API, patch proposed [https://github.com/xsuchy/rpmconf/pull/52 upstream] and [https://src.fedoraproject.org/rpms/rpmconf/pull-request/4 downstream], this one can wait until later (not critical for the RPM update) | |||
** rpminspect-1.11-2.fc39 | |||
** rpm-ostree-2023.4-3.fc39 - build-requires libsolv, frequent updates | |||
** rpmreaper-0.2.0-30.fc39 | |||
** rust-blsctl-0.2.3-11.fc39 | |||
** s390utils-2.26.0-2.fc39 - build-requires net-snmp | |||
** satyr-0.42-2.fc39 | |||
** scl-utils-2.0.2-22.fc39 | |||
** supermin-5.3.3-5.fc39 | |||
** systemtap-4.9-2.fc39 | |||
** transactional-update-3.6.2-6.fc39 | |||
** rpm-git-tag-sort-1.0-12.fc39 | |||
* Synchronize packages updated in parallel in Rawhide | |||
* Create a Bodhi update from the side-tag | |||
* Check update test results | |||
* Push the update into Rawhide | |||
* Rebuild rpm without old libraries and push into rawhide | |||
* Final rpm 4.19 release and update package in Fedora | |||
=== In progress items === | |||
=== To be done items === | |||
== Detailed Description == | == Detailed Description == | ||
RPM 4.19 contains various improvements over previous versions. Many of them are internal in nature 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: | 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 | * New rpmsort(8) utility for sorting RPM versions | ||
* x86-64 architecture levels (v2-v4) as architectures | * [https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels 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://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 | |||
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 == | == Feedback == | ||
Line 51: | Line 101: | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
This release comes with many improvements. It opens the possibility for Fedora to adopt the new major features mentioned above. | |||
== Scope == | == Scope == | ||
Line 60: | Line 108: | ||
** Rebase RPM | ** Rebase RPM | ||
** Assist with dealing with incompatibilities | ** Assist with dealing with incompatibilities | ||
** Integrate/Disable new User/Group handling | |||
*** Conflicts with the current one including the Provides generation in ''systemd-rpm-macros'' | |||
*** Switching this on will need another global change (if Fedora decides to do so) | |||
* Other developers: | * Other developers: | ||
Line 83: | Line 134: | ||
* %patch without arguments and options is an error | * %patch without arguments and options is an error | ||
* %patchN syntax is deprecated | * %patchN syntax is deprecated | ||
* | * File globbing is now more consistent | ||
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? --> | <!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? --> | ||
Line 105: | Line 156: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
* | * 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 Plan == | ||
Line 115: | Line 168: | ||
== Documentation == | == Documentation == | ||
Release notes at https://rpm.org/wiki/Releases/4.19.0 and reference manual at | |||
Release notes at https://rpm.org/wiki/Releases/4.19.0 | |||
https://rpm-software-management.github.io/rpm/manual/ | https://rpm-software-management.github.io/rpm/manual/ | ||
== Release Notes == | == Release Notes == | ||
https://rpm.org/wiki/Releases/4.19.0 | https://rpm.org/wiki/Releases/4.19.0 |
Latest revision as of 08:41, 6 October 2023
RPM 4.19
Summary
Update RPM to the 4.19 release.
Owner
- Name: Florian Festi
- Email: ffesti@redhat.com
Current status
- Targeted release: Fedora Linux 39
- Last updated: 2023-10-06
- devel thread
- FESCo issue: #2980
- Tracker bug: #2187480
- Release notes tracker: #979
Completed items
- Acquire a side tag: f39-build-side-67564
- Build rpm with bundling old libraries
- Rebuild reverse dependencies (current state):
- abrt-2.17.0-1.fc39
- abrt-java-connector-1.3.2-3.fc39
- anaconda-39.16-2.fc39 - build-requires s390utils, run-requires dnf
- annobin-12.10-3.fc39
- deltarpm-3.6.3-9.fc39
- dnf5-5.0.11-3.fc39
- fapolicyd-1.2-5.fc39
- freeipa - dlopens librpm for an unchanged rpmvercmp() [1], skipped.
- frr-8.5.1-2.fc39 - build-requires net-snmp
- gnome-software-44.1-2.fc39
- libappstream-glib-0.8.2-3.fc39
- libdnf-0.70.1-3.fc39
- libdnf-plugin-swidtags-0.8.8-8.fc39 - build-requires libdnf
- libextractor-1.10-10.fc39
- libguestfs-1.51.3-2.fc39
- libsolv-0.7.24-4.fc39
- libzypp-17.31.8-2.fc39
- microdnf-3.9.0-3.fc39 - build-requires libnf, run-requires dnf
- net-snmp-5.9.3-3.fc39
- openscap-1.3.7-3.fc39
- PackageKit-1.2.6-8.fc39 - build-requires libappstream-glib, libdnf
- perl-RPM-VersionCompare-0.1.1-45.fc39
- perl-RPM2-1.4-23.fc39
- php-pecl-rpminfo-0.6.0-9.fc39
- rpmconf-1.1.10-1.fc39 - needs adapting to RPM 4.19 Python API, patch proposed upstream and downstream, this one can wait until later (not critical for the RPM update)
- rpminspect-1.11-2.fc39
- rpm-ostree-2023.4-3.fc39 - build-requires libsolv, frequent updates
- rpmreaper-0.2.0-30.fc39
- rust-blsctl-0.2.3-11.fc39
- s390utils-2.26.0-2.fc39 - build-requires net-snmp
- satyr-0.42-2.fc39
- scl-utils-2.0.2-22.fc39
- supermin-5.3.3-5.fc39
- systemtap-4.9-2.fc39
- transactional-update-3.6.2-6.fc39
- rpm-git-tag-sort-1.0-12.fc39
- Synchronize packages updated in parallel in Rawhide
- Create a Bodhi update from the side-tag
- Check update test results
- Push the update into Rawhide
- Rebuild rpm without old libraries and push into rawhide
- Final rpm 4.19 release and update package in Fedora
In progress items
To be done items
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/Disable new User/Group handling
- Conflicts with the current one including the Provides generation in systemd-rpm-macros
- Switching this on will need another global change (if Fedora decides to do so)
- Other developers:
- Test new release, report issues and bugs
- Release engineering: #Releng issue number
- 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/