[Fedora-packaging] AutoProvidesAndRequiresFiltering doesn't work

Thomas Spura tomspur at fedoraproject.org
Tue Nov 30 13:57:12 UTC 2010


On Tue, 30 Nov 2010 15:34:45 +0200
Kalev Lember wrote:

> 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

This helps, thanks...

But I saw my method of filtering in other packages (don't know where
anymore). So that packages need changes too :(

Thanks Kalev,
   Thomas


More information about the packaging mailing list