Bug 26009

Summary: requires information for perl modules not calculated correctly
Product: [Retired] Red Hat Linux Reporter: Ganesh Sittampalam <ganesh>
Component: rpm-buildAssignee: Jeff Johnson <jbj>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: low Docs Contact:
Priority: medium    
Version: 7.2   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-02-21 18:07:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Makes find-requires.perl run perl.req on all .pm files, regardless of #! line none

Description Ganesh Sittampalam 2001-02-04 23:51:33 UTC
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.

Comment 1 Jeff Johnson 2001-02-05 16:02:05 UTC
rpm does not automagically detect perl module requirements using
find-requires.perl.

You will need to package your perl modules differently, enabling
find-requires.perl.
See any Red Hat CPAN package for an example.

Comment 2 Ganesh Sittampalam 2001-02-05 16:20:43 UTC
Created attachment 9021 [details]
Makes find-requires.perl run perl.req on all .pm files, regardless of #! line

Comment 3 Ganesh Sittampalam 2001-02-05 16:22:23 UTC
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.


Comment 4 Jeff Johnson 2001-02-21 18:07:19 UTC
Changing component

Comment 5 Jeff Johnson 2002-02-05 17:57:36 UTC
I believe this problem is fixed in rpm-4.0.4 /usr/lib/rpm/perl.req.
Please reopen if I'm wrong.