7.218. rpm

Updated rpm packages that fix several bugs and add two enhancements are now available for Red Hat Enterprise Linux 6.
The RPM Package Manager (RPM) is a powerful command-line driven package management system that can install, uninstall, verify, query and update software packages.

Bug Fixes

BZ#664696
Previously, PGP keys were loaded even if they were not needed. Consequently, under certain conditions, RPM could not be opened. With this update, the PGP keys are loaded only when needed and RPM no longer fails to start.
BZ#727872
The debuginfo packages contained only one symbolic link per build ID. When multiple identical binaries existed on the system, only one of them was linked. With this update, numbered symbolic links are created instead.
BZ#730473
Setting the %defattr macro in a package's spec file overrode the directory permissions given by the %attr macro so that directories were created with incorrect permissions during installation of the package. This update modifies the underlying RPM code to prevent the %defattr macro from overriding the %attr macro. The directories are now created with the correct permissions by RPM.
BZ#743229
The value of the %_host macro was set to "x86_64-unknown-linux-gnu" by default. With this update, the word "unknown" is replaced by "redhat" as is expected by several parts of the build chain.
BZ#773503
Previously, using the "rpmbuild" command caused the [patched].orig file to be created without any indication, which could confuse the user. This update modifies the underlying source code so that rpmbuild no longer runs the patch utility with the "-s" command line option.
BZ#802839
When a large package was sent to the standard input (stdin), the rpm2cpio utility terminated. With this update, the underlying source code has been modified and rpm2cpio works as expected in this situation.
BZ#825147
Previously, using the RPM API for parsing spec files caused macros defined in a spec file to remain in the RPM macro "environment" after the parsing routine exited. This behavior affected the parsing results if more than one spec file was parsed per process lifetime. To resolve the problem, this update backports the reloadConfig() method from RPM 4.10's Python API. Multiple spec files can now be safely processed within a single process.
BZ#829621
An attempt to import multi-key PGP armors caused the rpm utility to fail, which could lead to memory corruption or RPM database corruption. With this update, rpm has been modified to reject multi-key PGP armors. As a result, when importing multi-key PGP armors, the "unsupported=multikey packets/armors" error message is returned.
BZ#858731
Due to the lack of DWARF 3 and 4 format support, the rpmbuild utility was not able to produce usable debug packages with newer compilers. This update adds the required support for the debugedit utility to RPM, and DWARF 3 and 4 formats are now supported as expected.
BZ#869667
Previously, RPM returned the 0 exit code even if the import of a PGP key failed. The underlying source code has been modified to fix this bug and RPM no longer returns 0 if key import fails.
BZ#804049, BZ#845065
This update contains several minor fixes and corrections in the rpm(8) manual page.

Enhancements

BZ#825087
This enhancement improves RPM to support the dpkg-style tilde character ("~") in the package's version and the release string to signify lower priority in version comparison. Note that this enhancement could affect packages that already have the tilde character in their version or release and the updated version of RPM do not work with packages that were built with an old RPM version.
BZ#839126, BZ#845063
This update adds the description of the --eval, --setperms and --setugid parameters to the rpm(8) manual page.
All users of rpm are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.