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:
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.