From Fedora Project Wiki
(Update ToDo items)
 
(24 intermediate revisions by 3 users not shown)
Line 38: Line 38:
* Build rpm with bundling old libraries
* Build rpm with bundling old libraries
* Rebuild reverse dependencies ([https://koji.fedoraproject.org/koji/builds?inherited=0&tagID=67564 current state]):
* Rebuild reverse dependencies ([https://koji.fedoraproject.org/koji/builds?inherited=0&tagID=67564 current state]):
** anaconda-39.15-2.fc39 - build-requires s390utils, run-requires dnf
** 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
** dnf5-5.0.11-3.fc39
** fapolicyd-1.2-5.fc39
** fapolicyd-1.2-5.fc39
Line 51: Line 55:
** libsolv-0.7.24-4.fc39
** libsolv-0.7.24-4.fc39
** libzypp-17.31.8-2.fc39
** libzypp-17.31.8-2.fc39
** microdnf-3.9.0-3.fc39 - build-require libnf, run-requires dnf
** microdnf-3.9.0-3.fc39 - build-requires libnf, run-requires dnf
** net-snmp-5.9.3-3.fc39
** net-snmp-5.9.3-3.fc39
** openscap-1.3.7-3.fc39
** openscap-1.3.7-3.fc39
Line 58: Line 62:
** perl-RPM2-1.4-23.fc39
** perl-RPM2-1.4-23.fc39
** php-pecl-rpminfo-0.6.0-9.fc39
** php-pecl-rpminfo-0.6.0-9.fc39
** rpm-ostree-2023.4-3.fc39 - build-requiers libsolv, frequent updates
** 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
** rpmreaper-0.2.0-30.fc39
** rust-blsctl-0.2.3-11.fc39
** rust-blsctl-0.2.3-11.fc39
** s390utils-2.26.0-2.fc39 - build-requires net-snmp
** s390utils-2.26.0-2.fc39 - build-requires net-snmp
** satyr-0.42-2.fc39
** satyr-0.42-2.fc39
** scl-utils-2.0.2-22.fc39
** supermin-5.3.3-5.fc39
** supermin-5.3.3-5.fc39
** systemtap-4.9-2.fc39
** systemtap-4.9-2.fc39
** transactional-update-3.6.2-6.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 ===
=== In progress items ===
* Rebuild reverse dependencies:
** abrt - needs adapting to RPM 4.19 C API, [https://github.com/abrt/abrt/pull/1637 patch] merged upstream, unrelated [https://github.com/abrt/abrt/actions/runs/5015127433/jobs/8995678179 build failure] yet to be resolved
** abrt-java-connector - no changes required, will be built by Matej Grabovsky, the owner of abrt, as well
** rpminspect - needs adapting to RPM 4.19 C API, [https://github.com/rpminspect/rpminspect/pull/1182 patch] proposed upstream
** rpmconf - needs adapting to RPM 4.19 Python API, [https://github.com/xsuchy/rpmconf/pull/52 patch] proposed upstream, may need to be downstream-only though
** rpm-git-tag-sort-1.0-12.fc39 - unrelated FTBFS [https://koji.fedoraproject.org/koji/taskinfo?taskID=101335134 build failure], [https://bugzilla.redhat.com/show_bug.cgi?id=2208579 bug report]
=== To be done items ===
=== To be done items ===
* Rebuild reverse dependencies:
** annobin - a racing update: annobin-12.10-2.fc39
* Rebuild rpm without old libraries
* Synchronize packages updated in parallel in Rawhide
* Create a Bodhi update from the side-tag
* Check update test results


== Detailed Description ==
== Detailed Description ==
Line 171: Line 172:


== Release Notes ==
== Release Notes ==
https://rpm.org/wiki/Releases/4.19.0 (still work in progress)
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


Current status

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:

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
  • 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