2011-02-18 61 views
1

我正在开发内部程序包的RPM规格文件。该软件包取决于libuuid,该软件包可在Fedora上以libuuid软件包的形式获得,但标准RPM软件库中没有用于CentOS 5的libuuid软件包。我们可以通过e2fsprogs-devel开发RPM(e2fsprogs-devel安装libuuid及相关联的头文件)满足CentOS的依赖性。我想指定我们的RPM取决于libuuid,这样在安装我们的RPM期间就可以在Fedora上安装libuuid软件包,但在安装CentOS时安装e2fsprogs-devel。有没有一种方法可以在RPM spec文件中将依赖项指定为“libuuid或e2fsprogs-devel之一”?将RPM依赖关系指定为“以下之一”

回答

1

编号使用Dist Tag来区分Fedora及其衍生产品之一。

2

您可以直接指定文件作为要求,但这很丑陋。也不要使用%dist来区分。

您应该只依赖构建过程。如果一个特定文件根据发行版位于不同的软件包中,那么您应该在每个您希望支持的发行版上重新构建软件包(不允许禁用AutoReq/AutoReqProv)。