Red Hat Bugzilla – Bug 26009
requires information for perl modules not calculated correctly
Last modified: 2007-04-18 12:31:09 EDT
The /usr/lib/rpm/find-requires.perl script decides whether to call
perl.req for a particular file based on whether there is a "#!perl" line
at the top of the file. This means that perl modules, which don't have
this line as they are not designed to be executed directly, don't get
their dependencies correctly calculated.
rpm does not automagically detect perl module requirements using
You will need to package your perl modules differently, enabling
See any Red Hat CPAN package for an example.
Created attachment 9021 [details]
Makes find-requires.perl run perl.req on all .pm files, regardless of #! line
I'm using the Redhat cpanflute script to generate CPAN rpms, and it does enable
find-requires.perl; the problem is that this script decides whether to call
perl.req for a particular script by looking for #!/usr/bin/perl at the top.
For example, the redhat powertools RPM perl-Convert-BER-1.26-6.i386.rpm fails
to list perl(Math::BigInteger) and perl(bytes) as dependencies, despite the
fact that these are not in the standard distribution.
I've uploaded a patch that works for me, but it does open up other problems
because the perl package is not marked as providing things like Perl
(syscall.ph) which perl.req detects as a requirement for some packages.
I believe this problem is fixed in rpm-4.0.4 /usr/lib/rpm/perl.req.
Please reopen if I'm wrong.