在CentOS 5.5上没有定义rpmbuild%{dist}?

我试图在我的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

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native