我正在为RHEL / CentOS / SL 5和6编写一个单独的rpm规范。这个规范是针对python应用程序的,所以在构build过程中没有任何区别。 但在RHEL / CentOS5上,我需要添加一个额外的依赖项。
我将如何定义只依赖于el5? 我试过以下内容:
%if 0%{?redhat} == 5 || 0%{?centos} == 5 Requires: kmod-coretemp %endif
不起作用(在CentOS5上build立不增加kmod-coretemp依赖)。
我也试过以下:
%if %{?dist} == "el5"
它报告语法错误。 我确信distmacros被设置并包含'el5'。 但我不知道什么是条件在rpm的语法? rpmguide没有详细的答案。
Dist标签包装准则
像往常一样,Fedora wiki提供了有关打包的最佳指导。 看看打包:DistTag页面。 您可以使用%{el5}variables和一个简写条件来确保在构buildEL5包时使用相关的Require行。
%{?el5:Requires: kmod-coretemp}
您可能需要将生成的二进制RPM标记为.el5和.el6以避免以后出现混淆。