[Fedora-packaging] private-shared-object-provides in python packages

Paul Howarth paul at city-fan.org
Mon Sep 27 10:10:36 UTC 2010


On 27/09/10 09:57, Thomas Spura wrote:
> On Sun, 26 Sep 2010 13:01:54 -0400
> Toshio Kuratomi wrote:
>
>> On Sun, Sep 26, 2010 at 07:33:40PM +0530, Parag N(पराग़) wrote:
>>> Hi,
>>>     Do .so files installed in %{python_sitearch} MUST be filtered? I
>>> see one reference at
>>> https://fedoraproject.org/wiki/Common_Rpmlint_issues#private-shared-object-provides
>>> but the filtering policy is not added to Python packaging
>>> guidelines. Also, why rpmlint complains it as warning and not an
>>> error? e.g. one case I see is
>>> pyorbit.x86_64: W: private-shared-object-provides
>>> /usr/lib64/python2.6/site-packages/ORBit.so ORBit.so()(64bit)
>>> A shared object soname provides is provided by a file in a path
>>> from which other packages should not directly load shared objects
>>> from.  Such shared objects should thus not be depended on and they
>>> should not result in provides in the containing package.  Get rid
>>> of the provides if appropriate, for example by filtering it out
>>> during build.  Note that in some cases this may require disabling
>>> rpmbuild's internal dependency generator.
>>>
>> Thanks for bringing this up!
>>
>> I was looking at this for a package a few weeks ago and found that
>> this guideline was in the normal packaging guidelines:
>>
>> https://fedoraproject.org/wiki/PackagingDrafts/AutoProvidesAndRequiresFiltering
>>
>> but I did not remember approving it.  It was moved into the main
>> packaging Guidelines when spot made the changes that moved the
>> backlog of approved guidelines from the Todo list into the main
>> guidelines.  I found where we had discussed it the first time:
>> https://fedoraproject.org/wiki/Packaging:Minutes/20090602#t12:39
>>
>> but after that meeting we (FPC) didn't meet for a while due to
>> different people being on vacation and thus not being able to make
>> quorum.  Meeting logs are not present during this time so I can't
>> tell if I was on vacation and it was approved or if it got moved into
>> the main Guidelines by mistake.
>>
>> This guideline would impact what we do for filtering private python
>> provides as it specifies:
>>
>> """
>> MUST: Packages must not provide RPM dependency information when that
>> information is not global in nature, [...]
>> MUST: When filtering automatically generated RPM dependency
>> information, the filtering system implemented by Fedora must be used
>> [...] """
>
> Would it be possible to first make the macros.filtering linked from the
> wiki page from above available by default?
> http://fedorapeople.org/~cweyl/macros.filtering
>
> Then it would be far easier to filter unwanted provides out, than
> currently possible.

They have been available by default (included in redhat-rpm-config) 
since Fedora 10.

Paul.


More information about the packaging mailing list