|Summary:||%foo substitutions occur in .spec file comments; multiline %foo breaks out of a comment|
|Product:||[Retired] Red Hat Linux||Reporter:||D. Hugh Redelmeier <hugh>|
|Component:||redhat-rpm-config||Assignee:||Elliot Lee <sopwith>|
|Status:||CLOSED NOTABUG||QA Contact:|
|Fixed In Version:||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||2003-01-13 19:17:41 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description D. Hugh Redelmeier 2002-10-03 00:40:34 UTC
Description of Problem: A spec file that has worked for years does not work on RHL8.0. The reason appears to be that rpmbuild looks inside comments and gets confused. In particular, the following comment in the %install section caused the rpmbuild to fail. # This can be different from JOVEHOME for %build's make. If I change the ' to _, the rpmbuild succeeds! Version-Release number of selected component (if applicable): rpm-build-4.1-1.06 How Reproducible: always. Steps to Reproduce: 1. wget -N ftp://ftp.cs.utoronto.ca/pub/hugh/jove-dev/jove220.127.116.11.tgz 2. rpmbuild -ta jove18.104.22.168.tgz Actual Results: fails because it treats a large part of the script as if it were a single file name!?! The name starts with "'s make.". The error message is "No such file or directory". Expected Results: successful build (with warning about two files not being packaged) Additional Information: It is possible that the %build in the comment is part of the problem.
Comment 1 Jeff Johnson 2002-11-16 20:04:40 UTC
This WORKSFORME. However, watchout for redhat-rpm-config, which, if installed, may be overloading %build. Yes %foo tokens are expanded everywhere, including comments and within single and double quoted strings.
Comment 2 D. Hugh Redelmeier 2003-01-13 18:38:33 UTC
My problem was that %build was expanded inside a comment, and expanded to a multi-line thing, so it "broke out" of the comment. This is a really bad/surprising feature. I guess I should read the documentation. Oh, there is none that is current. Oh well :-) This needs to be documented or fixed.
Comment 3 Elliot Lee 2003-01-13 19:17:41 UTC
It is as well documented as any other part of RPM (as in, not really at all). Macros have to be expanded everywhere in order for many aspects of spec files to work, so this can't really be changed (rpm has no concept of comment lines at macro expansion time).