Red Hat Bugzilla – Bug 480664
rpmlint -a crashes
Last modified: 2009-04-09 12:18:20 EDT
Description of problem:
Today I learned that rpmlint has "-a" option and also
was told that currently this option crashes.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. $ rpmlint -a
[root@localhost ~]# rpmlint -a
/usr/share/rpmlint/Pkg.py:16: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
0 packages and 0 specfiles checked; 0 errors, 0 warnings.
Traceback (most recent call last):
File "/usr/share/rpmlint/rpmlint.py", line 295, in <module>
File "/usr/share/rpmlint/rpmlint.py", line 139, in main
for item in ts.IDTXload():
AttributeError: 'rpm.ts' object has no attribute 'IDTXload'
Output some useful information
Looks like ts.IDTXload() has disappeared from rpm-python 4.6.0 (I'm still on F-9 and it is present and works there). I can't find anything about its removal in rpm's change logs or git commit messages - Panu, could you shed some light on this?
Will take a look at muting the popen2 deprecation warning (can't be just bluntly changed to use subprocess because rpmlint should work with python 2.3 and subprocess is not available in it).
Created attachment 329436 [details]
Use ts.dbMatch() for iterating over rpmdb contents
ts.IDTXload() was indeed removed in rpm 4.6.0 among the other rollback related functionality. Yes, rollback related - using ts.IDTXload() to iterate over rpmdb contents is, hmm, creative :)
Attached patch makes it use ts.dbMatch() which will work on any rpm version >= 4.1.
Ooh, based on rpmlint.py logs, credit for that creativity goes to... yours truly, from 2003. I've no idea where I got that from (and that I did it in the first place), but it's safe to say that at that time I was even more clueless with python and rpm bindings than these days ;)
Applied upstream, will be in the next rpmlint package revision. Thanks!
*** Bug 489407 has been marked as a duplicate of this bug. ***
rpmlint-0.87-1.fc10 has been submitted as an update for Fedora 10.
rpmlint-0.87-1.fc9 has been submitted as an update for Fedora 9.
rpmlint-0.87-1.fc10 has been pushed to the Fedora 10 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update rpmlint'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-2946
rpmlint-0.87-1.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.
rpmlint-0.87-1.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.