我试图在我的RPM规范文件中使用
%{dist}
标签来提供Fedora Core(例如fc12),CentOS 5(例如el5)和Amazon的Linux AMI之间的特定分销依赖关系:
Release: %_svn_revision%{?dist}
和
# Depencencies %{?rhel:Requires: ...} %{?fedora:Requires: ...}
不幸的是,%{dist}似乎没有在CentOS 5.5中定义,我还没有找到匹配CentOS 5.5的分发特定条件(我认为el5会匹配,但不会出现)。 This机票报告了2008年CentOS中的失踪%{dist},但自2009年以来未更新。
如何在CentOS中定义%{dist},我应该使用什么条件来匹配CentOS 5?
任何RPM大师都可以指出我的方向正确吗?
在CentOS 5中没有定义dist宏,因为它不在/etc/rpm/macros.disttag中 – 有一个名为buildsys-macros-rhel的RPM,或者是fedora上的buildsys-mac,但是由于某些原因它不是由Centos重新包装。
选项1)从here下载并安装fedora build-macros
选项2)每次调用rpmbuild –define’dist .el5′
选项3)手动编辑/etc/rpm/macros.disttag以添加rhel(5)和dist(.el5)的宏定义。
然后,您可以在spec文件中使用这样的条件:
%if 0%{?rhel} == 5 %{Requires: foo} %endif