1
我会用一个例子来展示我的意思,因为它很难解释。寻找一个宏来扩展名称+值的变量
我有一个spec
文件,用于本地和交叉编译。我使用--define
选项将许多变量传递给rpmbuild
。我想一个宏,将是这相当于:
%{?myvar:myvar=%{myvar}}
所以,当且仅当myvar
存在,我希望它扩大到myvar=%{myvar}
然后将myvar=myval
。
我试着玩%{expand:}
有点(src),但是当我有多个参数时会遇到麻烦。因为它看起来像一个宏的参数去EOL,我需要它们在最终输出的一行中,这也成为一个需求。
我不知道lua
,这可能有助于迭代的各种参数,例如:
%expvar myvar1 myvar2 myvar3
=>myvar1=myval1 myvar2=myval2 myvar3=myval3
感谢您的想法!
EOL是没有办法*结束*参数宏(我知道的),除了行尾。所以你可以这样做: './configure%expvar(myvar1 myvar2 myvar3)SOMETHING = SomethingElse' –
谢谢...明天将在工作中尝试。 –
啊,你需要'%{macro}'格式。添加了示例用法并更新了空格而不是换行符。我只用'rpm -E'测试了它,所以它可能无法正常工作,但我相信它应该(或者至少非常接近)。 –