Bug 64189

Summary: confusing output from rpm -b without rpm-build installed
Product: [Retired] Red Hat Public Beta Reporter: Kjetil T. Homme <kjetilho>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: skipjack-beta2Keywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-04-28 14:54:54 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 Kjetil T. Homme 2002-04-28 14:54:50 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020408

Description of problem:
Novice users have little chance of figuring out what's wrong when they try to
rebuild packages without rpm-build installed.

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


How reproducible:
Always

Steps to Reproduce:
1.# rpm -bp /usr/src/redhat/SPECS/lvm.spec 
/usr/src/redhat/SPECS/lvm.spec: No such file or directory
2.# ls -l /usr/src/redhat/SPECS/lvm.spec 
-rw-rw-r--    1 root     root         3928 Mar 27 22:13
/usr/src/redhat/SPECS/lvm.spec

	

Expected Results:  it would be nice if rpm warned 

"please install rpm-build to use the -b option"

when /usr/lib/rpm/rpmb is missing.

Additional info:

Comment 1 Jeff Johnson 2002-04-29 13:14:34 UTC
Invoke rpmbuild not rpm. The build modes
of rpm have moved to a separate executable,
and the final "fix" will be to remove legacy
compatibility, thereby changing the error message
to
	rpm -ba ...
	-ba: unknown option

Comment 2 Kjetil T. Homme 2002-04-29 13:20:10 UTC
ok.

I hope there will be an interim stage (== RH 7.3), where rpm -b gives the
diagnostic "-b is obsolete.  use rpmbuild(1)" or something to that effect :)

Comment 3 Jeff Johnson 2002-04-29 13:37:42 UTC
All of Red Hat 7.x was an "interim stage",
the change was made almost 2 years ago, that's
more than enough time to convert IMHO.

Comment 4 Kjetil T. Homme 2002-04-29 13:59:46 UTC
strange, I can't remember reading anything about this change in the release notes.

this is not an obvious change.  you need to give people notification before
changing this interface.  commercial vendors (vmware, nvidia) has not picked up
on this (how could they?) and updated their documentation.

Comment 5 Jeff Johnson 2002-04-29 14:12:58 UTC
Again 2 years is more than enough time to convert.

There's even a rpmbuild man page since rpm-4.0.3.


Comment 6 Kjetil T. Homme 2002-04-29 14:19:46 UTC
I may be spoiled by Solaris.  their developers don't think to themselves, "from
now on, people shouldn't be doing that", they actually put it to paper and tell
their users that this and that will be changing in the NEXT release.

I really can't see the need for changing the interface with no prior warning.

Comment 7 Jeff Johnson 2002-04-29 14:43:03 UTC
FWIW, the interface is not changed, but merely resident
in a different binary. The new binary is even executed
in a legacy compatible manner iff the rpm-build
package is installed. Furthermore, a better error message
cannot be produced without changing (i.e. breaking) the popt
library API, which introduces even worse incompatibilities.
In essence you're asking one binary to report an error message
when given options for another binary, that's how popt aliases
work.

So either
	1) install the rpm-build package and be happy.
	2) type rpmbuild, not rpm, when building and be happy.
	3) use dpkg on Solaris.