Bug 116194

Summary: Prefix directive silently redefines macro "prefix"
Product: Red Hat Enterprise Linux 3 Reporter: NN Poster <nnposter>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED WONTFIX QA Contact: Mike McLean <mikem>
Severity: low Docs Contact:
Priority: low    
Version: 3.0CC: msw
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-02-19 10:19:24 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 NN Poster 2004-02-18 21:59:08 UTC
Description of problem:
Use of "Prefix: /foo" will silently redefine macro %{prefix} 
to "/foo". This seems like either a bug or a bad idea because the 
macro is not "_prefix" or "__prefix", just a plain "prefix", hence it 
is not expected that it gets manipulated behind the scenes. (See Red 
Hat RPM Guide, p.305)

Also, this feature is not documented in Red Hat RPM Guide, p.222)


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

How reproducible:
always

Steps to Reproduce:
1.  %define prefix /foo
2.  Prefix: %{prefix}
3.  Prefix: /anotherprefix
4.  %{error: value is %{prefix}}

Actual results:
error:  value is /anotherprefix

Expected results:
error:  value is /foo

Additional info:

Comment 1 Jeff Johnson 2004-02-19 10:19:24 UTC
rpm has always associated macros with tags like Prefix:, and cannot
be changed without breaking some build somewhere.

Whether this a good/bad/documented behavior is a different question.