如何在RPM规范文件中指定OS条件构建要求?

Modified on: Sat, 30 Jun 2018 08:09:00 +0800

我正在尝试使用spec文件中的BuildPrereq标志。
如果操作系统是特定版本,我想要包含一些先决条件。

之类的东西

if os == fedora 4
 BuildPrereq >= apr0.9
endif

if os == feodra 10
 BuildPrereq >= apr2.0
endif 

有没有办法实现上述目标?另外,我想听听一些替代方案。问题是我有一段代码,不需要在几个版本的OS上编译。所以我正在考虑混合条件编译和上面的内容。

干杯!

最佳答案

将您直接写入的内容翻译成specfile宏:

%if 0%{?fedora} == 4
BuildPrereq >= apr0.9
%endif 
%if 0%{?fedora} == 10
BuildPrereq >= apr2.0
%endif

您可以将第一个%endif更改为%else,但我希望尽可能保持重写,以防其他情况发生。

如果您想在fc4和f10或更高版本之间支持fedora版本,您也可以使用> =和< =。如果您关心RHEL,那么%{rhel}的评估结果为RHEL4为4,RHEL5为5。

作者:,jsbillings

相关问答

添加新评论