[Freeipa-devel] import rpm causes failure during IPA caless install

Jan Cholasta jcholast at redhat.com
Fri Jan 8 13:22:47 UTC 2016


On 8.1.2016 14:13, Martin Basti wrote:
>
>
> On 08.01.2016 14:14, Jan Cholasta wrote:
>> On 8.1.2016 14:09, Martin Basti wrote:
>>>
>>>
>>> On 08.01.2016 14:00, Martin Kosek wrote:
>>>> On 01/08/2016 01:45 PM, Martin Basti wrote:
>>>>> Hello all,
>>>>>
>>>>> fix for ticket https://fedorahosted.org/freeipa/ticket/5535
>>>>> requires to import rpm module
>>>>>
>>>>> This import somehow breaks nsslib in IPA
>>>>> https://fedorahosted.org/freeipa/ticket/5572
>>>>>
>>>>>
>>>>> We have 2 ways how to fix it:
>>>>>
>>>>> 1) move import rpm to body of methods (attached patch)
>>>>> We are not sure how stable is this solution.
>>>>>
>>>>> 2) use solution with rpmdevtools proposed here:
>>>>> https://www.redhat.com/archives/freeipa-devel/2016-January/msg00092.html
>>>>>
>>>>> This should be rock stable but it needs many dependencies (rpm-python
>>>>> too, perl)
>>>>>
>>>>> The second way looks safer, so I would like to reimplement it, do you
>>>>> all agree
>>>>> or do you have better idea?
>>>>> Feedback welcome, please ASAP.
>>>>>
>>>>> Martin^2
>>>> Since it's Friday, I invested 15 minutes to practice my C skills and
>>>> use the
>>>> python-cffi library to call rpm rpmvercmp library call directly
>>>> (attached):
>>>>
>>>> $ python rpm.py 4.2.0-15.el7 4.2.0-15.el7_2.3
>>>> 4.2.0-15.el7 < 4.2.0-15.el7_2.3
>>>>
>>>> This would not introduce any additional dependency besides rpm-devel,
>>>> right? :-)
>>
>> Not rpm-devel, but rpm-libs (you should dlopen "librpm.so.3").
>>
>>> I'm afraid that this can cause the same issue as import rpm, because the
>>> nsslib is used from C library
>>
>> I would be surprised if NSS was used in this particular function.
>>
> I will try it

No NSS here: 
<https://github.com/rpm-software-management/rpm/blob/master/lib/rpmvercmp.c>

Anyway, the function looks simple, so it might be safer to just rewrite 
it to Python, with no new dependencies.

-- 
Jan Cholasta




More information about the Freeipa-devel mailing list