[Fedora-packaging] AutoProvidesAndRequiresFiltering doesn't work

Kalev Lember kalev at smartlink.ee
Tue Nov 30 13:34:45 UTC 2010


On 11/30/2010 02:56 PM, Thomas Spura wrote:
> I do %filter_requires_in because of:
> rpm -i x86_64/python-visual-5.40-1.fc13.x86_64.rpm
> error: Failed dependencies:
> 	cvisualmodule.so.3()(64bit) is needed by
> python-visual-5.40-1.fc13.x86_64
>
> With %filter_provides_in I strip the cvisualmodule.so out, but this is
> still required, when leaving requires_in out. So I'm forced to do
> either both, or nothing...
>
> What excactly should %filter_requires_in do? I expect it to filter the
> *.so files, which are coming from %{python_sitearch}/.*\.so*, but not
> the requires that those *.so files have to other system libs.

%filter_requires_in prevents the matching files from being scanned for
requires.

The way dynamic linking works is that every elf binary has DT_NEEDED
entries for libraries it needs at runtime. RPM scripts extract that info
from binaries and store it in the RPM metadata. Now, %filter_requires_in
prevents the matching .so files from being scanned by rpm dependency
extracting scripts, so anything these .so files might need will be lost.


> Currently %filter_requires_in leaves out the cvisualmodule.so AND the
> system libs, but I need the system libs as requires...

Try this:
%filter_from_requires /cvisualmodule\.so/d


Hope it helps,
Kalev


More information about the packaging mailing list