Bug 58509 - find-*.perl inadvertently uses filename glob patterns
find-*.perl inadvertently uses filename glob patterns
Status: CLOSED WONTFIX
Product: Red Hat Linux
Classification: Retired
Component: rpm-build (Show other bugs)
7.2
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jeff Johnson
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-01-18 07:31 EST by Russell King
Modified: 2008-05-01 11:38 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-01-18 07:31:41 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Russell King 2002-01-18 07:31:36 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:0.9.6) Gecko/20011120

Description of problem:
find-provides.perl and find-requires.perl both use:
      tr [:blank:] \\n
Unfortunately, the [:blank:] isn't quoted, so the shell treats it as a filename
globbing pattern.  If you happen to have a file called 'l' in the current
directory when you start a build of a perl package, the dependencies get
completely messed up.

Version-Release number of selected component (if applicable):
4.0.2-8

How reproducible:
Always

Steps to Reproduce:
1. obtain perl-DBD-MySQL source package.
2. create a file called 'l' in the current directory
3. rpm --rebuild perl-DBD-MySQL-1.2216-4.src.rpm
4. Check the build log for errors at the find-provides stage:
   /usr/lib/rpm/perl.prov: Could not open file: '/var/tmp/per' : No such file or
directory
5. rpm -q --requires -p perl-DBD-Mysql-1.2216-4.*.rpm

Actual Results:  Wrong dependency information generated.

Expected Results:  Correct dependency information. 8)

Additional info:

its a pain, because when it happens, the cause is very non-obvious, and isn't
easy to track down.

The fix is simple - just add single quotes around the two [:blank:] in
find-provides.perl and one [:blank:] in find-requires.perl

The perl package also has its own find-provides and find-requires which seems to
suffer the same problem.
Comment 1 Jeff Johnson 2002-01-26 13:40:57 EST
Both find-{requires,provides}.perl are obsolete in rpm-4.0.4-0.19,
and now execute perl.{req,prov} used for all builds.

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