Bug 507701

Summary: obsoletes cannot be matched in rpm-python interface
Product: Red Hat Enterprise Linux 5 Reporter: seth vidal <svidal>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED NEXTRELEASE QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: low    
Version: 5.3CC: james.antill, tcallawa
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 507702 (view as bug list) Environment:
Last Closed: 2010-03-16 08:34:29 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:

Description seth vidal 2009-06-23 20:01:13 UTC
Description of problem:
Debugging a yum depsolving problem I noticed I wasn't getting results back when I checked to see if an installed package obsoleted a package that was being proposed to be installed.

I started testing various tests and found that nothing is ever returned as matching obsoletes by name or complete. 



Example code:
import rpm
ts = rpm.TransactionSet()
mi = ts.dbMatch(1090, 'mod_gzip')
for hdr in mi:
    print hdr['name']

on the system I have it  should return 'httpd', at the least.

I also tested it using rpm.RPMTAG_OBSOLETES, rpm.RPMTAG_OBSOLETENAME  to no avail.

Finally, I noticed some odd output in rpm -qa --obsoletes for example:
(none)(none)(none)baobab

in any case - I'm pretty sure ts.dbMatch() used to work against obsoletes, but it doesn't seem to work anymore.

Comment 1 Panu Matilainen 2010-03-16 08:34:29 UTC
This will work in RHEL 6, but as it involves adding a new index, there's no way to make it reliably available in RHEL 5.