FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Packaging

 
 
LinkBack Thread Tools
 
Old 11-30-2010, 11:14 AM
Thomas Spura
 
Default AutoProvidesAndRequiresFiltering doesn't work

Hi list,

I'm using AutoProvidesAndRequiresFiltering [1] to filter out *.so libs
in %{python_sitearch}. Unfortunately, rpm can't detect the correct
requires anymore with that macro, so I didn't use this anymore, and let
the 'wrong' provides and requires propagate for now untill a new
solution is found.

It would be best to adjust that macro somehow, so rpm can still detect
the requires, but the wrong *.so files are not listed in Requires or
Provides.

Is and how is that possible?

Greetings,
Thomas

[1]
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Arch-specific_extensions_to_scripting_languages
[bug report for python-visual]
https://bugzilla.redhat.com/show_bug.cgi?id=657851
--
packaging mailing list
packaging@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/packaging
 
Old 11-30-2010, 11:27 AM
Kalev Lember
 
Default AutoProvidesAndRequiresFiltering doesn't work

On 11/30/2010 02:14 PM, Thomas Spura wrote:
> Hi list,
>
> I'm using AutoProvidesAndRequiresFiltering [1] to filter out *.so libs
> in %{python_sitearch}. Unfortunately, rpm can't detect the correct
> requires anymore with that macro, so I didn't use this anymore, and let
> the 'wrong' provides and requires propagate for now untill a new
> solution is found.

RPM is filtering out the requires because you are telling it [1] to do so:

6 %{?filter_setup:
7 %filter_provides_in %{python_sitearch}/.*.so*
8 %filter_requires_in %{python_sitearch}/.*.so*
9 %filter_setup
10 }

Just remove the %filter_requires_in line and you should get what you
were expecting.

[1]
http://pkgs.fedoraproject.org/gitweb/?p=python-visual.git;a=blob;f=python-visual.spec;h=faaabf7b0413ae2b1252784c9f852dd689f2 7865;hb=ac63a0857919bc63d18da4c755500402ba4c2a17#l 8

--
Kalev
--
packaging mailing list
packaging@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/packaging
 
Old 11-30-2010, 11:56 AM
Thomas Spura
 
Default AutoProvidesAndRequiresFiltering doesn't work

On Tue, 30 Nov 2010 14:27:32 +0200
Kalev Lember wrote:

> On 11/30/2010 02:14 PM, Thomas Spura wrote:
> > Hi list,
> >
> > I'm using AutoProvidesAndRequiresFiltering [1] to filter out *.so
> > libs in %{python_sitearch}. Unfortunately, rpm can't detect the
> > correct requires anymore with that macro, so I didn't use this
> > anymore, and let the 'wrong' provides and requires propagate for
> > now untill a new solution is found.
>
> RPM is filtering out the requires because you are telling it [1] to
> do so:
>
> 6 %{?filter_setup:
> 7 %filter_provides_in %{python_sitearch}/.*.so*
> 8 %filter_requires_in %{python_sitearch}/.*.so*
> 9 %filter_setup
> 10 }
>
> Just remove the %filter_requires_in line and you should get what you
> were expecting.
>
> [1]
> http://pkgs.fedoraproject.org/gitweb/?p=python-visual.git;a=blob;f=python-visual.spec;h=faaabf7b0413ae2b1252784c9f852dd689f2 7865;hb=ac63a0857919bc63d18da4c755500402ba4c2a17#l 8
>

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.

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

Thanks,
Thomas
--
packaging mailing list
packaging@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/packaging
 
Old 11-30-2010, 12:34 PM
Kalev Lember
 
Default AutoProvidesAndRequiresFiltering doesn't work

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
--
packaging mailing list
packaging@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/packaging
 
Old 11-30-2010, 12:57 PM
Thomas Spura
 
Default AutoProvidesAndRequiresFiltering doesn't work

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
--
packaging mailing list
packaging@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/packaging
 
Old 11-30-2010, 03:07 PM
Toshio Kuratomi
 
Default AutoProvidesAndRequiresFiltering doesn't work

On Tue, Nov 30, 2010 at 03:34:45PM +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
>
<nod>, that's a better recommendation for the guidelines to be making for
its examples. I'll put that into a new draft in a moment.

-Toshio
--
packaging mailing list
packaging@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/packaging
 

Thread Tools




All times are GMT. The time now is 03:48 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org