| Summary: | "yum reinstall" generates the wrong rpmdb versions, due to not dropping old cached rpmdb entries | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | James Antill <james.antill> |
| Component: | yum | Assignee: | James Antill <james.antill> |
| Status: | CLOSED ERRATA | QA Contact: | Red Hat Satellite QA List <satqe-list> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.1 | CC: | borgan, ksrot, syeghiay, tcapek |
| Target Milestone: | rc | Keywords: | Regression |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
When a package was reinstalled, yum generated RPM database entries that included both the old and new versions of the package, leading to various issues. This bug has been fixed and now only correct RPM database entries are generated for reinstalled packages.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-05-19 13:34:24 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
When a package was reinstalled, yum generated RPM database entries that included both the old and new versions of the package, leading to various issues. This bug has been fixed and now only correct RPM database entries are generated for reinstalled packages.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-0602.html |
"yum reinstall bash" will generate an rpmdb version that includes both the old and new bash entries. You can easily see this via: yum version nogroups yum reinstall bash -y yum history info yum version nogroups ...both of the later two things will say that you have a different "rpmdb version". This screws up a bunch of stuff, and is a regression from 6.0 ... so we need to fix it before 6.1. Patch is trivial: commit a88eb710dac54118034507c131e31eced54234d2 Author: James Antill <james> Date: Thu Apr 14 13:48:27 2011 -0400 Fix dropCachedDataPostTransaction() for reinstall packages. diff --git a/yum/rpmsack.py b/yum/rpmsack.py index 5c18c7c..cd79ecc 100644 --- a/yum/rpmsack.py +++ b/yum/rpmsack.py @@ -343,6 +343,11 @@ class RPMDBPackageSack(PackageSackBase): if txmbr.output_state in constants.TS_INSTALL_STATES: self._pkgname_fails.discard(txmbr.name) precache.append(txmbr) + if txmbr.reinstall: + ipo = self._tup2pkg[txmbr.pkgtup] + _safe_del(self._idx2pkg, ipo.idx) + _safe_del(self._tup2pkg, txmbr.pkgtup) + if txmbr.output_state in constants.TS_REMOVE_STATES: _safe_del(self._idx2pkg, txmbr.po.idx) _safe_del(self._tup2pkg, txmbr.pkgtup)