Perl autorequires failing for git-svn

Petr Pisar ppisar at redhat.com
Thu Jan 16 10:40:03 UTC 2014


On 2014-01-15, Todd Zullinger <tmz at pobox.com> wrote:
> Thanks Petr.  I knew that was the older method, but from what I read
> in the guidelines, I didn't think it was known to be broken.  The Perl
> guidelines say:
>
>      "In the past, several other methods were given for doing this
>      filtering. Those should be considered deprecated and packages0
>      should be updated to use the macros on [[2]] as time and the
>      natural rebuild cycle permits."
>
The guidelines are terribly wrong. E.g. there is this example in the
global guidelines:

%{?perl_default_filter}
%global __requires_exclude perl\\(VMS|perl\\(Win32|my_additional_pattern

while there is this warnign above:

These macros are not cumulative. With the macros defined here, the last
definition is the one that is used. [...]

So even the example contradicts the warning. And I do not dare to
dispute why perl-specific macros are in the global guidelines.

There are no explicit warnings about brokenes in the guidelines. But the
fact is that once you use the newer macros, it will inhibit the old
macros. In other words, both styles cannot be used at the same time.

Also the old macros break RPM file coloring which breaks multilib
support et cetera.

Unfortunatelly none of these problems are mentioned in the guidelines.
IMHO the old macros should be eradicted wherever possible.

And regarding Perl guidelines, the global guidelines takes precedence
as in any other case. Unfortunatelly there are political obstacles
preventing from updating the Perl guidelines.

First I do not recommend one spec file for Fedora and EPEL. You will get
a lot of cruft there not needed otherwise. But if you want do that,
write filters using both macro style and surround them with %if
statement to use only the right style with the right rpmbuild.

-- Petr



More information about the devel mailing list