Features/RPM4.8

= Update RPM to 4.8 =

Summary
Update RPM to 4.8 in Fedora 13.

Owner

 * Name: PanuMatilainen

Current status

 * Targeted release:  Fedora 13
 * Last updated: 2010-01-08
 * Rpm 4.8.0 final in rawhide now
 * Percentage of completion: 100%

Detailed Description
The RPM development team would like to update Fedora RPM to a pre-release version of 4.8 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 13.

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

The most visible improvements over previous versions:
 * Much improved ordering code: erasures are now ordered, improved dependency loop handling
 * Further performance improvements (see http://laiskiainen.org/blog/?p=19)
 * Big Python bindings revamp, including preliminary Python 3 support
 * Many many bugfixes all over the place

Scope
No new binary package-level incompatibilities have been introduced, so produced packages are fully compatible with RPM 4.7. Packages directly depending on librpm need to be rebuilt due to soname change, no other rebuilds necessary.

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.


 * Python bindings need special attention due to the amount of code changes. Yum and smartpm regularly tested but further testing needed.

User Experience

 * The new RPM changes very little in the average "user experience":
 * Faster installs/upgrades
 * Some annoying bugs have been fixed
 * Packaging experience has minor enhancements

Dependencies

 * No new dependencies.

Contingency Plan

 * Revert to 4.7. Some new macros and build-time spec features have been added, but as long as packagers avoid using them until final acceptance is gained, there are no incompatibilities introduced.

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

Release Notes
No need for release notes entry.

Comments and Discussion

 * See Talk:Features/RPM4.8