我正在尝试使用规范文件中的 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。