Bug 65068 - bug in rpm-build?
Summary: bug in rpm-build?
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm-build
Version: 7.2
Hardware: i386
OS: Linux
high
high
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-05-16 22:35 UTC by Dmitry S. Makovey
Modified: 2008-05-01 15:38 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2002-05-16 22:35:24 UTC
Embargoed:


Attachments (Terms of Use)

Description Dmitry S. Makovey 2002-05-16 22:35:18 UTC
Description of Problem:
In default installation of RH 7.2 with latest rpm-build from erratas script 
/usr/lib/rpm/perl.req doesn't have execution permissions, and in 
/usr/lib/rpm/find-requires condition '[ -x /usr/lib/rpm/perl.req -a -n 
"$perllist" ]' doesn't allow to make auto-dependencies for perl modules.

Version-Release number of selected component (if applicable):
rpm-build-4.0.4-7x

How Reproducible:
build any perl-module from spec-file without explicit specification of 
libraries on which it relies.

Steps to Reproduce:
1. grab any src.rpm like perl-DBD-Mysql
2. remove hard-linked requirements to libraries
3. rpm -ba specfile

Actual Results:
requires only .so's, perl, sh but no .pm

Expected Results:
.so's, sh, perl, perl(...)

Additional Information:
as soon as /usr/lib/rpm/perl.req gets +x everything is back to normal.

Comment 1 Jeff Johnson 2002-05-16 22:46:11 UTC
This is a (ahem) requested "feature", not a bug, for
Red Hat 7x.

Do
	chmod +x /usr/lib/rpm/perl.req
if you want auto-generated perl dependencies.

Comment 2 Dmitry S. Makovey 2002-05-16 23:45:21 UTC
But isn't that easier to make at least additional flag for 
/usr/lib/rpm/find-requires to activate perl.req on purpose? Because now, if I 
want perl requirements to generate automaticly I should chmod +x perl.req and 
if I don't want to - I should chmod -x perl.req. I there was a flag like 
--check-perl or something it would be easier to make custom .spec files. By 
the way - with current model most of rpm's are built without proper 
dependencies :( and it's an implied problem from what I describe.
Or, maybe, it's a good question for rpm.org?


Comment 3 Jeff Johnson 2002-05-17 14:16:01 UTC
The right thing to do is to turn on auto-generation
of perl Requires: IMHO, that leads to better packaging.

There is little need to have Yet Another Option because
chmod +/-x is at least as effecient as any other
mechanism for enabling/disabling perl dependencies.

Comment 4 Dmitry S. Makovey 2002-05-17 14:43:48 UTC
For every package turn on and off in the build-time (depending on a 
package)? Noncense. As far as I understand how src.rpm & rpm-build should 
work is to be as much independent as possible - that means that if I use for 
example a "bad" package with bad provides in "Requires" and option of 
running perl autodependencies is on (chmod +x), than I'm in a big trouble on 
some installations because rpm wouldn't find requested feature (e.q. 
perl(URI)), and vice versa - if option is off by default then all "good" 
packages which rely on perl autodependencies will have almost nothing in 
"Requires" (this is my situation) and when I'll go with installation on my 
server it finally turns out that this package should reuire couple of other 
packages but it doesn't.
It took me half of day to find out why autodependencies don't work only in 
case of perl. And, by the way not all packages provide valid information 
about themselves. Some of them (perl-Digest-MD5, perl-URI and others) don't 
provide "Provides" in style perl(Digest::MD5), perl(URI) and sometimes it's 
better (but not good) to turn off autogeneration for perl modules, but it's 
better to be "on" by default IMHO.

Comment 5 Jeff Johnson 2002-05-17 14:47:31 UTC
We agree that auto-geberated perl dependencies
should be "on" by default. 'Twasn't my call,
and I lost the argument. <shrug>

Comment 6 Dmitry S. Makovey 2002-05-17 15:08:34 UTC
so would you fix that or it is gonna be "requested feature"? :)


Comment 7 Jeff Johnson 2002-05-17 15:12:49 UTC
The perl dependencies are "on" by default
in rpm-4.1. That's the best I could do.
Yes it's weird having different versions
of rpm performing different actions. Again,
not my call.

Enabling a CLI switch (other than chmod +x)
just leads to a mess IMHO.


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