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