Bug 229819

Summary: rpmbuild find to much dependencies in perl modules
Product: Red Hat Enterprise Linux 4 Reporter: Klaus Ethgen <Klaus+rhbz>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.4CC: mej
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: 2012-06-20 16:09:15 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:

Description Klaus Ethgen 2007-02-23 17:12:19 UTC
First of all, there is no rpm-build in the component list so I'm not able to 
report the bug for the correct package. But rpm is near enough.

Description of problem:
I have a perl module with has a HERE text in the following mather:
...
print <<HERE;
blabla
require further blabla
HERE
...

When I try to make a rpm from this I get the dependency for perl(further) witch 
is completely wrong behaviour!

Version-Release number of selected component (if applicable):
rpm-build-4.3.3-18_nonptl

Comment 1 Jeff Johnson 2007-03-14 09:55:40 UTC
perl dependencies are extracted using regex's which can match other data.

Either rewrite the here document, or filter out the mis-matches.

Comment 2 Klaus Ethgen 2007-03-14 11:57:14 UTC
> perl dependencies are extracted using regex's which can match other data.

I know. I saw the source.

> Either rewrite the here document, or filter out the mis-matches.

Neither is a good solution.
- The first is not always intended. "require" is a very common English word.
- The second is not robust and I also do not know, as the documentation is very
  silent in this case, how to do that filtering in the middle of the build
  process instead of having "AutoReq: no".

Both ways are only _workarounds_ for the bug, no solution.

The perl language is very good to parse. So a bit better regex would be much
more useful. And matching Strings in a regex is never a good idea.


Comment 3 Michael Jennings (KainX) 2007-03-14 12:49:17 UTC
(In reply to comment #2)
> The perl language is very good to parse.

False.  The Perl language is a horrible language to parse.  The only thing that
can reliably parse perl is perl.

> So a bit better regex would be much more useful.

Also false.  No regular expression can compensate for all the different ways of
doing things that do, and that do not, create a dependency.  "eval"...'Nuff said.

Search elsewhere in Bugzilla (which, of course, you should've done already...but
since you created this bug, it's pretty clear you didn't) for a "perldeps.pl"
that does a much better job.


Comment 4 Jiri Pallich 2012-06-20 16:09:15 UTC
Thank you for submitting this issue for consideration in Red Hat Enterprise Linux. The release for which you requested us to review is now End of Life. 
Please See https://access.redhat.com/support/policy/updates/errata/

If you would like Red Hat to re-consider your feature request for an active release, please re-open the request via appropriate support channels and provide additional supporting details about the importance of this issue.