APT-RPM and rpm 4.5?

Panu Matilainen pmatilai at laiskiainen.org
Tue May 29 13:53:05 PDT 2007


On Mon, 28 May 2007, Gary L. Greene, Jr. wrote:

> On Monday 28 May 2007 13:47, Panu Matilainen wrote:
>> On Mon, 28 May 2007, Panu Matilainen wrote:
>>> On Sun, 27 May 2007, Gary L. Greene, Jr. wrote:
>>>> I'm interested in getting apt-rpm working with rpm 4.5. Have there been
>>>> any attempts at getting the code working against it?
>>>
>>> No by me at least, I don't usually look at new (jbj's) rpm releases until
>>> somebody reports a problem building/using apt with one :)
>>>
>>>> From the wording, I take it you tried it and it failed... any specifics
>>>
>>> what kind of problems you encountered?
>>
>> Uh, I see.
>>
>> The attached quick and dirty patch makes the current apt-rpm git head
>> kinda build against rpm-4.5-0.3, once you patch rpm a bit to make g++
>> accept rpmevr.h (second attached patch).
>>
>> Whether it actually works with these kludges... I'd be more than a little
>> surprised if it does, considering the amount and type of changes that
>> went into rpm 4.4.9.
>>
>>  	- Panu -
>
> I was talking to jbj on #rpm on freenode and he tells me that 4.4.6 is most
> likely to be compatible.

Yup, I think 4.4.6 is the latest I've actually verified apt-rpm to work 
with.

> However, 4.4.7 has parentdir and filelinto deps and stops using rpmrc 
> files unless requested. Additionally, 4.4.9 has some changes to EVR 
> comparison that should be largely transparent, but from what I recall, 
> apt cares deeply about EVR comparisons. And finally, 4.5 should be 
> compatible to 4.4.9.

The changes might be mostly transparent to some users (eg python bindings) 
I've a feeling they're anything but transparent to apt-rpm...

Part of that is apt-rpm using ancient rpmlib API's and "knowing" way too 
much about rpm internals, which at least in part comes from the fact older 
rpmlib API didn't provide ways to do certain things and nobody bothered to 
change working code in apt-rpm even when rpmlib API improved. Until 
somebody breaks the old API... :)

I don't mind API breakage when it's for a good cause (and hiding the ugly 
internal details from API users actually is one) What I don't get is the 
versioning. RPM API has been mostly compatible for several years (from 4.1 
to 4.4.6), and then 4.4.9 breaks it big time.

 	- Panu -



More information about the Apt-Rpm mailing list