Features/RPM4.7

= Update RPM to 4.7 =

Summary
Update RPM to 4.7 in Fedora 11.

Owner

 * Name: PanuMatilainen/DeniseDumas

Current status

 * Targeted release:  Fedora 11
 * Last updated: 2009-04-14
 * No known regressions left as of RPM 4.7.0-rc1
 * Percentage of completion: 100% (rc1 is very close to what final is expected to be)

Detailed Description
The RPM development team would like to update Fedora RPM to a pre-release version of 4.7 as early as possible to leverage the wide testing that Fedora rawhide and beta releases get. A stable upstream version of the new RPM is expected be released in time for Fedora 11.

Benefit to Fedora
The full description can be found in http://rpm.org/wiki/Releases/4.7.0 (Draft)

By far the most visible improvements over previous versions are in the area of performance:
 * Memory consumption in transactions has been reduced dramatically. A testcase of "everything install" of Fedora 10 used to top at near 1.5GB memory consumption, now the peak with the same package set is just over 300MB. Also gone is the quadratic memory consumption on large number of identical basenames. After the peak during Preparing-stage, heap consumption drops to mere megabytes during the actual transaction.
 * File conflict checking / fingerprinting runs an order of magnitude faster, especially for upgrades and erasures.

Scope
No package rebuilds required. Compatible with 4.6.

Test Plan

 * Has survived dist-upgrades, huge installs, rebuilds of complex packages, yum updates, and the included test suite.


 * Fedora build infrastructure
 * Building packages individually with rpmbuild (dist-cvs and otherwise). Tested on a large package set, no known major issues.
 * Building packages in mock: a large number of packages of varying complexity (kernel, gcc, glibc, glib2, anaconda...) have been successfully built in mock with the new rpm.
 * Building packages in koji will be tested today

User Experience

 * The new RPM changes very little in the average "user experience":
 * Much faster upgrades
 * Some annoying bugs have been fixed
 * Much improved handling of failed upgrades
 * Packaging experience has minor enhancements

Dependencies

 * No new packages need to be introduced.
 * Two other optional new dependencies on libacl and libcap. Neither will be enabled at this point but both already exist in Fedora.
 * Note that lzma / xz is out of the question as we have no idea if/when that upstream is going to release a stable version

Contingency Plan

 * Revert to 4.6

Documentation
Release note draft document can be found in http://rpm.org/wiki/Releases/4.7.0

Release Notes
Fedora release notes should include pointer to http://rpm.org/wiki/Releases/4.7.0

Comments and Discussion

 * See Talk:Features/RPM4.7