Bug 13561

Summary: rpm doesn't cope with symlinks for prereqs
Product: [Retired] Red Hat Linux Reporter: Cameron Simpson <cs>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-07-07 07:31:23 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 Cameron Simpson 2000-07-07 07:31:22 UTC
Installing afterstep and some other rpms, it complained that is
needed /usr/bin/perl. On our systems, this is a symlink to a nonredhat
perl install. The links is present, with that name, but it appears that
rpm does not consider that ok.

I feel it should be doing a stat() rather than an lstat() for that check.

Example complaint, with ls -ld of perl underneath:

[home/cameron]#tiomkin*> rpm -Uv 4home/AfterStep-*
error: failed dependencies:
        /usr/bin/perl is needed by AfterStep-1.8.0-1
        /usr/bin/perl is needed by AfterStep-APPS-20000124-6
[home/cameron]#tiomkin*4> ls -ld /usr/bin/perl
lrwxrwxrwx   1 root     root           18 Mar 31 11:31 /usr/bin/perl ->
/opt/perl/bin/perl
[home/cameron]#tiomkin*> ls -ldL /usr/bin/perl
-rwxrwxr-x   2 cameron  cameron    734315 Apr 20 17:33 /usr/bin/perl

Comment 1 Jeff Johnson 2000-07-10 19:18:58 UTC
Rpm manages packages, not files. Basically, that means that you would have to
create
a package containing the /usr/bin/perl symlink for rpm to correctly identify the
symlink.

Meanwhile, here's how to satisfy the dependency without creating a package
	echo 'Provides: /usr/bin/perl" >> /etc/rpmrc
Note that this functionality will be removed in some future release of rpm in
favor of
building a package.