Bug 752119

Summary: perl.req from rpmbuild does not properly scan for module dependencies
Product: Red Hat Enterprise Linux 6 Reporter: josh
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED ERRATA QA Contact: Patrik Kis <pkis>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.4CC: mvadkert, pkis, pknirsch
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
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.
Story Points: ---
Clone Of:
: 832885 (view as bug list) Environment:
Last Closed: 2012-06-20 14:23:13 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
Patch to /usr/lib/rpm/perl.req to fix the issue none

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