In rpm < 4.4.3 there is a bug in the Key() method of python/rpmte-py.c. In my sample code, when Key() is called twice in a row, the following output is seen: (<rpm.hdr object at 0xb79f33e0>, '../strace-4.5.11-1.i386.rpm') (<refcnt 0 at 0xb79e1b8c>, '../strace-4.5.11-1.i386.rpm') This causes the Key() method to not be usable. However, I would like to have it working in FC5 to facilitate the addition of transaction logging to Yum. I'll attach a patch from rpm-4.4.3 for consideration.
Created attachment 124877 [details] patch from rpm 4.4.3 that fixes the reference counting in the Key() method
UPSTREAM so I don't have to stare at my own damn patches.
Jeff please can you not close fedora bugs.
This is also rpm bugzilla, and UPSTREAM is a valid closure. Take away my bug closing privileges, and me and rpm are gone, if you wish bugzilla to be Fedora's only. I find it quite ironic that my fix, and my patch delivered to dgregor, and my closing an rpm bug as UPSTREAM are somehow at odds with each other.
If a bug is being filed against a Fedora or RHEL release, then although CLOSED->UPSTREAM is accurate of the upstream state, I may still need to track that bug against that release.
Fix committed to rpm.org tree.
Fixed in next rawhide push by rpm 4.4.2.1-rc1