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'測試了它,所以它可能無法正常工作,但我相信它應該(或者至少非常接近)。 –