Bug 26009 - requires information for perl modules not calculated correctly
Summary: requires information for perl modules not calculated correctly
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm-build
Version: 7.2
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-02-04 23:51 UTC by Ganesh Sittampalam
Modified: 2007-04-18 16:31 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2001-02-21 18:07:23 UTC
Embargoed:


Attachments (Terms of Use)
Makes find-requires.perl run perl.req on all .pm files, regardless of #! line (383 bytes, patch)
2001-02-05 16:20 UTC, Ganesh Sittampalam
no flags Details | Diff

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.


Note You need to log in before you can comment on or make changes to this bug.