我有一个RPM包mypackge
,最近的更改我的软件要求我添加OpenSSL v1.0.2作为依赖项。
最初RPM规范包含以下要求行:
Requires: openssl policycoreutils-python python2-pip ...
我已将此行更新为:
Requires: openssl >= 1.0.2 policycoreutils-python python2-pip ...
这似乎适用于新安装,新的依赖关系已按预期解决和安装。当我尝试更新现有安装时出现问题......
[root@vm]# yum install mypackage-1.2.1.4-1.x86_64.rpm
Loaded plugins: fastestmirror
Examining mypackage-1.2.1.4-1.x86_64.rpm: mypackage-1.2.1.4-1.x86_64
Marking mypackage-1.2.1.4-1.x86_64.rpm as an update to mypackage-1.2.1.3-1.x86_64
Resolving Dependencies
--> Running transaction check
---> Package mypackage-1.2.1.3-1 will be updated
---> Package mypackage-1.2.1.4-1 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================
Package Arch Version Repository Size
===========================================================================
Updating:
mypackage x86_64 1.2.1.4-1 /mypackage-1.2.1.4-1.x86_64.rpm 5.0 M
Transaction Summary
===========================================================================
Upgrade 1 Package
由于某种原因,新的OpenSSL依赖关系未得到解决或安装,是否存在这种预期行为?如果是这样,我应该如何向现有软件包添加其他依赖项?
提前致谢!
答案 0 :(得分:1)
问题与纪元编号有关。您的版本需要openssl >= 1.0.2
。但是openssl包提供了1:1.0.1
。 纪元号码是最重要的号码。事实上,rpm将您的需求openssl >= 1.0.2
读作openssl >= 0:1.0.2
。
如果你说:
你的问题将会解决Requires: openssl >= 1:1.0.2
注意:当您进行全新安装并且尚未安装openssl时; yum默认采用最新版本;这让你觉得你的要求奏效了。
进一步阅读;看here