Issued:
2013-02-20
Updated:
2013-02-20

RHBA-2013:0461 - rpm bug fix and enhancement update


Synopsis

rpm bug fix and enhancement update

Type/Severity

Bug Fix Advisory

Topic

Updated rpm packages that fix several bugs and add two enhancements are now available for Red Hat Enterprise Linux 6.

Description

The RPM Package Manager (RPM) is a powerful command-line driven package management system that can install, uninstall, verify, query and update software packages.

This update fixes the following bugs:

  • 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#664696)

  • 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#727872)

  • 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#730473)

  • 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#743229)

  • 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#773503)

  • 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#802839)

  • 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#825147)

  • 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#829621)

  • 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#858731)

  • 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#869667)

  • This update contains several minor fixes and corrections in the rpm(8) manual page. (BZ#804049, BZ#845065)

This update adds the following enhancements:

  • 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#825087)

  • This update adds the description of the --eval, --setperms and --setugid parameters to the rpm(8) manual page. (BZ#839126, BZ#845063)

All users of rpm are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.

Solution

Before applying this update, make sure all previously-released errata relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to use the Red Hat Network to apply this update are available at https://access.redhat.com/knowledge/articles/11258

Affected Products

ProductVersionArch
Red Hat Enterprise Linux for Scientific Computing6x86_64
Red Hat Enterprise Linux for Power, big endian6ppc64
Red Hat Enterprise Linux for IBM z Systems6s390x
Red Hat Enterprise Linux Workstation6x86_64
Red Hat Enterprise Linux Workstation6i386
Red Hat Enterprise Linux Server6x86_64
Red Hat Enterprise Linux Server6i386
Red Hat Enterprise Linux Server from RHUI6x86_64
Red Hat Enterprise Linux Server from RHUI6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems)6s390x
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems)6s390x
Red Hat Enterprise Linux Desktop6x86_64
Red Hat Enterprise Linux Desktop6i386

Updated Packages

  • rpm-build-4.8.0-32.el6.i686.rpm
  • rpm-build-4.8.0-32.el6.x86_64.rpm
  • rpm-devel-4.8.0-32.el6.s390.rpm
  • rpm-devel-4.8.0-32.el6.i686.rpm
  • rpm-libs-4.8.0-32.el6.i686.rpm
  • rpm-python-4.8.0-32.el6.x86_64.rpm
  • rpm-debuginfo-4.8.0-32.el6.s390x.rpm
  • rpm-debuginfo-4.8.0-32.el6.ppc.rpm
  • rpm-apidocs-4.8.0-32.el6.noarch.rpm
  • rpm-libs-4.8.0-32.el6.ppc64.rpm
  • rpm-4.8.0-32.el6.src.rpm
  • rpm-cron-4.8.0-32.el6.noarch.rpm
  • rpm-debuginfo-4.8.0-32.el6.x86_64.rpm
  • rpm-4.8.0-32.el6.ppc64.rpm
  • rpm-libs-4.8.0-32.el6.s390.rpm
  • rpm-debuginfo-4.8.0-32.el6.i686.rpm
  • rpm-4.8.0-32.el6.s390x.rpm
  • rpm-4.8.0-32.el6.x86_64.rpm
  • rpm-debuginfo-4.8.0-32.el6.s390.rpm
  • rpm-debuginfo-4.8.0-32.el6.ppc64.rpm
  • rpm-build-4.8.0-32.el6.s390x.rpm
  • rpm-python-4.8.0-32.el6.ppc64.rpm
  • rpm-libs-4.8.0-32.el6.x86_64.rpm
  • rpm-build-4.8.0-32.el6.ppc64.rpm
  • rpm-python-4.8.0-32.el6.i686.rpm
  • rpm-devel-4.8.0-32.el6.ppc64.rpm
  • rpm-devel-4.8.0-32.el6.x86_64.rpm
  • rpm-libs-4.8.0-32.el6.ppc.rpm
  • rpm-libs-4.8.0-32.el6.s390x.rpm
  • rpm-devel-4.8.0-32.el6.ppc.rpm
  • rpm-python-4.8.0-32.el6.s390x.rpm
  • rpm-devel-4.8.0-32.el6.s390x.rpm
  • rpm-4.8.0-32.el6.i686.rpm

Fixes

CVEs

(none)

References

(none)


Additional information