Filtering requires/provides

Ralf Corsepius rc040203 at freenet.de
Thu Mar 2 04:35:30 UTC 2006


On Wed, 2006-03-01 at 22:05 +0200, Ville Skyttä wrote:
> On Wed, 2006-03-01 at 17:26 +0000, Paul Howarth wrote:
> 
> > %global filtered_requires sh -c '%{__perl_requires} "$@" | %{__sed} -e 
> > "/^perl(unwanted_require)$/d"'
> > %define __perl_requires %{filtered_requires}
> > 
> > Anyone see any problems with this?
> 
> I don't see any technical problems offhand,
It'll get very ugly if having to use escapes, and more complex sed
patterns.

>  but it'll sure get ugly when
> one needs to filter many provides/requires because IIRC the whole
> "%global ..." shebang needs to be on one line.
I prefer the current version, because the script inside is
plain /bin/shell without any escapes. This is less error prone in more
complex situations.


The only nastiness about the current implementation, I see, is it
relying on the %define being sequentially expanded inside of the spec.
This is likely to break in rpms which contain subpackages with diverging
"Versions:", similar to

..
Name:	 a
Version: x
Source0: a-sub1-x.tar.gz
Source1: a-sub2-y.tar.gz
%package sub1
Version: x
%package sub2
Version: y
..

I am facing such kind of %version related issues in a non-perl package,
which applies a customized find-requires, being generated on-the-fly.

Ralf






More information about the Fedora-perl-devel-list mailing list