Bug 752119 - perl.req from rpmbuild does not properly scan for module dependencies
Summary: perl.req from rpmbuild does not properly scan for module dependencies
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: rpm
Version: 6.4
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Panu Matilainen
QA Contact: Patrik Kis
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-08 15:47 UTC by josh
Modified: 2012-06-20 14:23 UTC (History)
3 users (show)

Fixed In Version: rpm-4.8.0-20.el6
Doc Type: Bug Fix
Doc Text:
Previously, certain multi-line brace constructs could cause the automatic perl dependency generator script to miss dependencies from pe. The generator has now been updated to properly handle these situations.
Clone Of:
: 832885 (view as bug list)
Environment:
Last Closed: 2012-06-20 14:23:13 UTC
Target Upstream Version:


Attachments (Terms of Use)
Patch to /usr/lib/rpm/perl.req to fix the issue (410 bytes, patch)
2011-11-08 15:47 UTC, josh
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0909 0 normal SHIPPED_LIVE rpm bug fix and enhancement update 2012-06-19 20:46:44 UTC

Description josh 2011-11-08 15:47:40 UTC
Created attachment 532316 [details]
Patch to /usr/lib/rpm/perl.req to fix the issue

Description of problem:
/usr/lib/rpm/perl.req scans for the opening brace type on lines, but then only scans for closing curly braces ('}') instead of the proper losing brace type when that closing brace occures on a different line.  This means that any use/require statements that occur after the multi-line q{} statement but before the first closing curly brace in the file will be ignored.

Version-Release number of selected component (if applicable):
rpm-build-4.8.0-16.el6_1.1

How reproducible:
Run /usr/lib/rpm/perl.req on any perl module that uses something other than curly braces for a q{} across multiple lines when there are use/require statements after it but before a closing curly brace.

Steps to Reproduce:
1. /usr/lib/rpm/prel/req /usr/lib64/perl5/B.pm
2.
3.
  
Actual results:
perl(Exporter)
perl(XSLoader)

Expected results:
perl(Exporter)
perl(XSLoader)
perl(strict)

Additional info:
This appears to exist going back to at lest RHEL5, possibly earlier, and results in incomplete auto-generated Perl dependencies when building RPMs.

Comment 3 Panu Matilainen 2011-12-14 15:20:00 UTC
Applied upstream, thanks for the patch.

Also ack for rhel 6.3.

Comment 8 Panu Matilainen 2012-05-24 12:38:51 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Previously, certain multi-line brace constructs could cause the automatic perl dependency generator script to miss dependencies from pe. The generator has now been updated to properly handle these situations.

Comment 9 errata-xmlrpc 2012-06-20 14:23:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0909.html


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