From Fedora Project Wiki



Update RPM to the upcoming 4.12 release.


Current status

  • Targeted release: Fedora 21 with follow ups in the next release(s)
  • Last updated: 2014/06/30
  • Tracker bug: #1086274

Detailed Description

The current upstream repository contains several improvements that need to get released and integrated into Fedora:

  • Support for weak dependencies
  • Support for packaging files > 4GB
  • Support for real package reinstallation
  • New API for accessing files and file contents
  • New tool for converting rpm packages to tar files
  • Internal plugin interface
  • Massive code clean ups
  • Many bug fixes

Some of these features require the new version to reach the builders. So actually introducing them in Fedora will take longer that the Fedora 21 release. Nevertheless updating RPM in F21 is the first step to make this happen.

Benefit to Fedora

The above plus closing the gap between RPM upstream and the Fedora version.


  • Proposal owners: The RPM code base needs to get stabilized and release ready. The release candidates need to be tested in rawhide.
  • Other developers: Will test the release candidates during normal operation in raw hide. Need to report issues and bugs.
  • Release engineering: Have a look for compatibility issues.
  • Policies and guidelines: Packaging policies might need reconsidering in the light of the new options (F22 or even F23 time frame).

Upgrade/compatibility impact

Using some of the new feature will break forward compatibility. Packages using these features will not be able be build or be installed on older Fedora versions. Backward compatibility is expected to be maintained.

How To Test

Testing is done in full operation.

User Experience

  • Packagers will be able to package files >4GB
  • Packagers will be able to use weak dependencies
  • API users will be able to access file data more cleanly and access payload data for the first time
  • A new tool rpm2archive will allow converting rpm packages to tar files instead of the outdated cpio format
    • The new tool will work with files >4GB while cpio (and though rpm2cpio) does not


  • >4GB support and weak dependencies require the builders to be updated to rpm-4.12, too.
  • Weak dependencies need to be supported by create_repo, and the updaters (and may be the packaging policy) to be useful
  • >4GB support requires the infrastructure to support those file sizes to be usable.

These dependencies do not actually block updating RPM.

Contingency Plan

  • Contingency mechanism: Go back to rpm-4.11. It is unlikely that this requires reverting some changes in other packages as the new features will probably not already be used in F21. In case something really bad happens it might be necessary to rebuild all packages built with the broken version - although there are no new features that suggest such thing being likely.
  • Contingency deadline: Alpha Release
  • Blocks release? Yes
  • Blocks product? -


Release notes:

Release Notes