The current suggestion on the Packaging/Perl wiki page is (for Requires, Provides works the same) is:

----------------------------------------------------------------------
# Filter unwanted Requires:
cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
  sed -e '/perl(unwanted_require)/d'
EOF

%define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}
----------------------------------------------------------------------

This won't work for the majority of perl modules because the build directory is %{_builddir}/MODULENAME-%{version} rather than %{_builddir}/%{name}-%{version}.

A simpler way that avoids generating script files at all might be:

%global filtered_requires sh -c '%{__perl_requires} "$@" | %{__sed} -e "/^perl(unwanted_require)$/d"'
%define __perl_requires %{filtered_requires}

Anyone see any problems with this?

P.S. I'm not an rpm macro expert and don't really know the significance of %global but using %define in its place results in a recursive macro definition, which doesn't work.

Paul.

--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
Fedora-perl-devel-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/fedora-perl-devel-list

Reply via email to