From Fedora Project Wiki
(→‎Detailed Description: update the builders)
(→‎Dependencies: clarify)
Line 72: Line 72:


== Dependencies ==
== Dependencies ==
 
* >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
* 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. Especially it requires the builders to be updated to rpm-4.12, too
* >4GB support requires the infrastructure to support those file sizes to be usable.


Those features not being useful from the start is not a blocker for the change, though. Actual use of those features can (and is expected to) be postponed to upcoming Fedora releases.
These dependencies do not actually block updating RPM.


== Contingency Plan ==
== Contingency Plan ==

Revision as of 09:01, 2 April 2014

RPM-4.12

Summary

Update RPM to the upcoming 4.12 release.

Owner

Current status

  • Targeted release: Fedora 21
  • Last updated: 2014/04/01
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

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

  • Support for weak dependencies
  • Support for files > 4GB
  • New API for accessing files and file contents
  • New tool for converting rpm packages to tar files
  • Internal plugin interface
    • Improved SELinux handling

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.

Scope

  • 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: Check infrastructure for compatibility. Check for 64bit readiness as soon as builders are updated, too (F22 time frame).
  • 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 pakcages to tar files instead of the outdated cpio format
    • The new tool will work with files >4GB while cpio (and though rpm2cpio) does not

Dependencies

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

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.

Documentation

Add link to upstream release notes here.

Release Notes