![如何在 RHEL OS 的 rpm .spec 文件中编写依赖规则](https://linux22.com/image/1413623/%E5%A6%82%E4%BD%95%E5%9C%A8%20RHEL%20OS%20%E7%9A%84%20rpm%20.spec%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%BC%96%E5%86%99%E4%BE%9D%E8%B5%96%E8%A7%84%E5%88%99.png)
我需要构建一个 rpm 包,它应该依赖于另一个 rpm 包的安装。
在我的PC上,依赖包已经安装,名字类似abcd-1425-a.x86_64
。
我编写了 .spec 文件如下:
Requires: abcd = 1425-a.x86_64
但是,安装过程中显示错误。
error: Failed dependencies:
abcd = 1425-a.x86_64 is needed by patch_xxxxxx
根据 rpm 依赖规则,我认为1425
应该是 rpm 版本,其中a.x86_64
应该是发行版。我也尝试过删除x86_64
,但没有成功。
这个规则该如何定义呢?
答案1
您的版本编号很奇怪,它可能会混淆 rpm。
通常需求是这样声明的:perl >= 1:5.6.0
。
我建议固定编号,或者使用序列标签。
使用序列标签,您可以有效地忽略版本号。
有关此论点的更多信息请参见此处:http://ftp.rpm.org/max-rpm/s1-rpm-depend-manual-dependencies.html
PS:max-rpm 是你构建 rpm 包所需的全部参考