- Issued:
- 2012-06-20
- Updated:
- 2012-06-20
RHBA-2012:0909 - rpm bug fix and enhancement update
Synopsis
rpm bug fix and enhancement update
Type/Severity
Bug Fix Advisory
Topic
Updated rpm packages that fix multiple bugs and add various enhancements are now available for Red Hat Enterprise Linux 6.
Description
The RPM Package Manager (RPM) is a command-line driven package management system capable of installing, uninstalling, verifying, querying, and updating software packages.
This update fixes the following bugs:
-
Previously, presence of ELF files prevented cross-architecture obsoletion of packages on multi-arch systems, causing file conflicts when a supposedly obsoleted package was not removed. With this update, obsoletes are now processed for all matching package names regardless of their contents, allowing scenarios like eliminating no longer needed 32-bit package variant on 64-bit multi-arch systems to work as expected. (BZ#799317)
-
Previously, a bug in execution of package scriptlets utilizing RPM's embedded Lua interpreter could have caused RPM's working directory to change inadvertently, resulting in a failure to install remaining local packages in the transaction unless absolute paths were used to address the packages on the "rpm" or "yum" command line. With this update, the Lua scriptlet execution now always saves and restores the current working directory, ensuring correct operation regardless of whether absolute or relative paths to packages are used. (BZ#746190)
-
Previously, the "-D" shortcut option for "--define" was incorrectly taken as a shortcut for "--predefine", which led to incorrect macro evaluation when attempting to override macros from system configuration. The "-D" shortcut option now equals "--define" as intended and documented. (BZ#785236)
-
Previously, RPM's "--last" query format output could have been ambiguous on multi-arch systems such as AMD64/Intel 64 as package architecture was omitted. Package's architecture is now included in "--last" output as well, making it non-ambiguous and also consistent with the default query output format. (BZ#768516)
-
As the build dependencies recorded in source packages can vary depending on the architecture where the source packages happened to be generated, using the yum-builddep utility on a source package does not always report correct results. RPM's Python bindings have now been enhanced to permit yum-builddep to operate on spec files directly, ensuring that the correct build dependency information for the local system is used. (BZ#664427)
-
Previously, certain multi-line brace constructs could have caused the automatic Perl dependency generator script to miss dependencies from pe. The generator has now been updated to properly handle these situations. (BZ#752119)
Additionally, this update introduces the following feature enhancements:
-
When building packages on file systems with a very high number of files, the on-disk inode numbers could have been truncated in RPM's 32bit-integer-based hardlink tracking, resulting in incorrect package generation and, consequently, installation. RPM now uses per-package virtual numbering for hardlink tracking to eliminate the possibility of truncation, ensuring correct operation regardless of physical inode numbers at package build time, in a backwards compatible way. (BZ#714678)
-
Previously, RPM ignored any exit codes from %pretrans package scriptlets. This was inconsistent with semantics of other scriptlets and prevented the possibility of early abort of package installation before the transaction really starts. RPM now treats %pretrans failure similarly to that of %pre: the package with failing %pretrans scriptlet is not installed at all. (BZ#736960)
-
Packages for Fedora 17 or later require a special rpmlib() dependency provided by RPM to track the /usr merge that was completed in Fedora 17, otherwise it will no be possible to use, for example, mock chroot to install and build packages for that distribution. This special tracking dependency has been added to RPM now to allow Red Hat Enterprise Linux 6 to be used as a host for building packages for these newer Fedora versions. (BZ#761000)
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
| Product | Version | Arch |
|---|---|---|
| Red Hat Enterprise Linux for Scientific Computing | 6 | x86_64 |
| Red Hat Enterprise Linux for Power, big endian | 6 | ppc64 |
| Red Hat Enterprise Linux for IBM z Systems | 6 | s390x |
| Red Hat Enterprise Linux Workstation | 6 | x86_64 |
| Red Hat Enterprise Linux Workstation | 6 | i386 |
| Red Hat Enterprise Linux Server | 6 | x86_64 |
| Red Hat Enterprise Linux Server | 6 | i386 |
| Red Hat Enterprise Linux Server from RHUI | 6 | x86_64 |
| Red Hat Enterprise Linux Server from RHUI | 6 | i386 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support | 6 | x86_64 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support | 6 | i386 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension | 6 | x86_64 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension | 6 | i386 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems) | 6 | s390x |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems) | 6 | s390x |
| Red Hat Enterprise Linux Desktop | 6 | x86_64 |
| Red Hat Enterprise Linux Desktop | 6 | i386 |
Updated Packages
- rpm-cron-4.8.0-27.el6.noarch.rpm
- rpm-4.8.0-27.el6.ppc64.rpm
- rpm-4.8.0-27.el6.i686.rpm
- rpm-4.8.0-27.el6.x86_64.rpm
- rpm-python-4.8.0-27.el6.s390x.rpm
- rpm-build-4.8.0-27.el6.x86_64.rpm
- rpm-devel-4.8.0-27.el6.i686.rpm
- rpm-debuginfo-4.8.0-27.el6.x86_64.rpm
- rpm-debuginfo-4.8.0-27.el6.s390.rpm
- rpm-python-4.8.0-27.el6.ppc64.rpm
- rpm-4.8.0-27.el6.s390x.rpm
- rpm-python-4.8.0-27.el6.x86_64.rpm
- rpm-build-4.8.0-27.el6.i686.rpm
- rpm-build-4.8.0-27.el6.s390x.rpm
- rpm-debuginfo-4.8.0-27.el6.s390x.rpm
- rpm-libs-4.8.0-27.el6.x86_64.rpm
- rpm-devel-4.8.0-27.el6.ppc.rpm
- rpm-libs-4.8.0-27.el6.ppc.rpm
- rpm-debuginfo-4.8.0-27.el6.i686.rpm
- rpm-devel-4.8.0-27.el6.x86_64.rpm
- rpm-build-4.8.0-27.el6.ppc64.rpm
- rpm-apidocs-4.8.0-27.el6.noarch.rpm
- rpm-python-4.8.0-27.el6.i686.rpm
- rpm-libs-4.8.0-27.el6.ppc64.rpm
- rpm-devel-4.8.0-27.el6.s390.rpm
- rpm-devel-4.8.0-27.el6.s390x.rpm
- rpm-devel-4.8.0-27.el6.ppc64.rpm
- rpm-4.8.0-27.el6.src.rpm
- rpm-debuginfo-4.8.0-27.el6.ppc64.rpm
- rpm-libs-4.8.0-27.el6.i686.rpm
- rpm-libs-4.8.0-27.el6.s390x.rpm
- rpm-debuginfo-4.8.0-27.el6.ppc.rpm
- rpm-libs-4.8.0-27.el6.s390.rpm
Fixes
- This content is not included.BZ - 746637
- This content is not included.BZ - 752119
- This content is not included.BZ - 761000
- This content is not included.BZ - 785236
CVEs
(none)
References
(none)
Additional information
- The Red Hat security contact is This content is not included.secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.