我正在尝试为 RHEL/CentOS/SL 5 和 6 编写单个 rpm 规范。此规范适用于 python 应用程序,因此构建过程没有区别。但在 RHEL/CentOS5 上,我需要添加一个额外的依赖项。
我该如何定义仅针对 el5 的依赖项?我尝试了以下方法:
%if 0%{?redhat} == 5 || 0%{?centos} == 5
Requires: kmod-coretemp
%endif
不起作用(在 CentOS5 上构建不会添加 kmod-coretemp 依赖项)。
我也尝试过以下操作:
%if %{?dist} == "el5"
它报告语法错误。我确定 dist 宏已设置并包含“el5”。但我不确定 rpm 中的 if 条件语法是什么?rpmguide 没有详细答案。
答案1
答案2
与往常一样,Fedora wiki 提供了有关打包的最佳指南。请查看包装:DistTag页面。您可以使用%{el5}
变量和简写条件来确保Require
在为 EL5 构建包时使用相关行。
%{?el5:Requires: kmod-coretemp}
您可能需要将dist
标签添加到版本字段以避免以后包之间发生混淆:
Release: 1%{?dist}