如何在 RPM 规范文件中指定操作系统条件构建要求?

如何在 RPM 规范文件中指定操作系统条件构建要求?

我正在尝试使用规范文件中的 BuildPrereq 标志来解决问题。如果操作系统是特定版本,我希望包含一些先决条件。就像是

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

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

有什么办法可以达到上述目的吗?我也想听听对此的一些替代方案。问题是我有一段代码不需要在某些版本的操作系统上编译。所以我正在考虑混合条件编译和上述内容。

干杯!

答案1

要将您编写的内容直接转换为specfile宏:

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

您可能可以将第一个更改%endif为 an%else但我想使我的重写尽可能相似,以防涉及其他情况。

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

相关内容