Re: Why this rpmlint error with Perl provides

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Sep 11, 2006, at 8:20 PM, Al Pacifico wrote:

I'm packaging a CPAN module POE::Queue and my rpm
builds fine, but 'rpmlint -i
../RPMS/noarch/perl-POE-Queue-0.37-1.noarch.rpm' gives
the following errors:
E: perl-POE-Queue useless-explicit-provides
perl(POE::Kernel)
This package provides 2 times the same capacity. It
should only provide it
once.

E: perl-POE-Queue useless-explicit-provides
perl(POE::Loop::Tk)
This package provides 2 times the same capacity. It
should only provide it
once.

My .spec does not explicitly list the provides; I'm
relying on RPM to find them automatically.

I noticed that 'find ../BUILD/POE-0.37 -type f -exec
/usr/lib/rpm/perl.prov {} \; | sort | uniq' lists both
provides with and without a trailing number, as in:

<snip>
perl(POE::Kernel)
perl(POE::Kernel) = 2116
<snip>
perl(POE::Loop::Tk)
perl(POE::Loop::Tk) = 1980
<snip>


rpmlint is complaining about a redundant dependency.

There is a dependency on any perl(POE::Kernel) as well as on a specific version.

No other provide is listed twice, though some list
with trailing numbers (what do they mean?) and some
list without.


Run
	rpm -qp --filerequire perl-POE-Queue-0.37-1.noarch.rpm
to find which files are generating the dependencies.

Are these errors important? What do I do to make them
go away?


The errors are likely harmless.

Change one of the two "use ..." statements in the files to be like the other
so that perl-req.pl extracts one, not two, dependencies.

Alternatively, you can override %__perl_requires with a wrapper
that looks something like this in your spec file:

    Source9: myperlrequires.sh

    %define __perl_requires	%{SOURCE9}

and the contents of myperlrequires.sh should look something like
    #!/bin/sh
/usr/lib/rpm/perl.req | sed -e 's/perl(POE::Kernel = 2116)//' -e 's/perl(POE::Loop::Tk) = 1980//'

In other words just post process the perl dependency extractor to remove unwanted dependencies.

Patching the perl scripts is the better fix however.

(all the above is untested, watch for typos)

hth

73 de Jeff

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux