On Sun, Sep 26, 2010 at 07:33:40PM +0530, Parag N(पराग़) wrote:
> Do .so files installed in %{python_sitearch} MUST be filtered?
I
> see one reference at
>
https://fedoraproject.org/wiki/Common_Rpmlint_issues#private-shared-objec...
> 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.
>
I talked with spot and then went through old meeting logs and found that
this was approved. on July 28, 2009. I've added the logs from that meeting
here:
https://fedoraproject.org/wiki/Packaging:Minutes/20090728
Here's the Guidelines page that resulted from that meeting:
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
Note that although we would like to filter out all of the unnecessary stuff,
there are some packages where we shouldn't because of rpm limitations:
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering...
The way to filter this out is probably something like this:
# we don't want to provide private python extension libs
%filter_provides_in %{python_sitearch}/.*\.so$
# actually set up the filtering
%filter_setup
I've linked that page to the Packaging:Python page and also to the rpmlint
page.
I also found that the Packaging:Perl page was recommending a different
recipe so I've put in a ticket to change those to the new macros:
https://fedorahosted.org/fpc/ticket/16
-Toshio