Hello,

as Ralf explained in another thread, there are some specific
requirements for rpm dependencies in Fedora.
In general, we wish that the package, when installed, can be used
in its full strength, so we want to bring in most of the "optional"
requirements.  (We might think about soft dependencies,
"suggestions", but it has not much practical impact because, as
Marcela pointed out, it is not currently available in Fedora.)

This requirement is matched quite well by the current scripts for
automatically generated requires.  There are cases when it needs a
correction, like with the perl(Win32::API) requirement that triggered
this thread.  But, generally speaking, the current situation is not
that bad, and of it is amended properly, it should suffice.

Please consider also the software engineering view.  Deploying a
totally different method for perl requires generating would induce
a substantial amount of work: you would have to determine the
differences between requires generated by both methods and review
them to minimize regressions.

And now to the actual solution of the problem.  A few months ago
Chris Weyl introduced rpm macros designed to amend the automatic
requires generating procedure.  I believe it should be used in every
perl-*.spec file.  The simplest form is:

%perl_default_filter

This switches the filtering on, with some default filtering, like
"do not look into /usr/share/doc for requires nor provides".

There are additional macros that enable you skip files so that they
are not scanned for provides/requires, and another macros enable you
to alter the computed provides/requires list.  In our case, we need:

%filter_from_requires /^perl(Win32::/d
%perl_default_filter

It is customary to provide a minimal support for building the srpm on
other systems (older Fedora installs, other rpm distros), so it is
customary to write:

%{?filter_setup:
%filter_from_requires /^perl(Win32::/d
%?perl_default_filter
}

This makes sure that people who do not have perl filtering macros
available can at least build the srpm, though they will probably need
to instal it with --nodeps.

Have a nice day,
        Stepan Kasal
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

Reply via email to