Bug 134497
| Summary: | rpm obsoletes not functioning | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Seth Vidal <skvidal> | ||||||
| Component: | rpm | Assignee: | Paul Nasrat <nobody+pnasrat> | ||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Mike McLean <mikem> | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | medium | ||||||||
| Version: | 2 | CC: | icon, katzj, nobody+pnasrat, tao | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | Linux | ||||||||
| URL: | http://linux.duke.edu/~skvidal/broken/ | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2005-04-19 18:47:10 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: |
|
||||||||
|
Description
Seth Vidal
2004-10-04 02:55:36 UTC
with these packages it appears to occur on fc1 and el3u3 just tested on rhl9 - everything works there. Created attachment 104715 [details]
working obsoletes rpm -Uvvh output from rhl9
Created attachment 104716 [details]
broken obsolete rpm -Uvvh output from fc2
looks like if the version of the obsoleting package is not <= then it will work correctly. but if obspackage-evr is <= installedpackage-evr then it won't remove the other. Relevant diff between RHL9 to HEAD, reversed on HEAD
--- depends.c 2003-03-03 22:12:00.000000000 +0000
+++ /export/anu/home/pauln/src/rpm/lib/depends.c 2004-04-01
13:56:54.000000000 +0100
@@ -305,7 +305,8 @@
*/
if (rpmdsEVR(obsoletes) == NULL
|| rpmdsAnyMatchesDep(oh, obsoletes, _rpmds_nopromote))
- xx = removePackage(ts, oh, rpmdbGetIteratorOffset(mi),
pkgKey);
+ if (rpmVersionCompare(h, oh))
+ xx = removePackage(ts, oh,
rpmdbGetIteratorOffset(mi), pkgKey);
}
mi = rpmdbFreeIterator(mi);
}
The added line prevents obsoleting package with identical NEVR. This was important bug fix for major customer (I can tell from when the fix went in), but for the life of me, I cannot remember the problem report. Perhaps relocated packages, perhaps multilib. it also prevents obsoleting package identical EVR, not just NEVR Fixed (by reverting the 1 line change) in rpm-4.3.2-9. Can we get this fixed in RHEL-3 branch as well, please? Closing due to inactivity. If this issue still occurs with current releases, please reopen and set the release in which you've encountered the problem. |