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