如何.rpm根据_foobar设置的定义有条件地包含文件?define _foobar将包含构建根目录中的绝对路径.文件在那里.
根据文档,我希望以下工作(注意:这里有更多的文件 %files节中,但这是要点):
%files
%if %{_foobar}
%{_foobar}
%endif
Run Code Online (Sandbox Code Playgroud)
然而,这给了我错误:
error: parse error in expression
error: /path/to/specfile:LINENO: parseExpressionBoolean returns -1
Run Code Online (Sandbox Code Playgroud)
其中/path/to/specfile:LINENO是.spec文件的路径和行的行号%if.
感谢这篇博文,我发现了一个适合我的版本:
%files
%if %{?_foobar:1}%{!?_foobar:0}
%{_foobar}
%endif
Run Code Online (Sandbox Code Playgroud)
这样做是为了扩展到%if 1如果设置了define,%if 0否则.
如果其他人有更好的解决方案,请回答.我当然更愿意接受别人对自己的回答.
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |