我有一个 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依赖项未解析或安装,这是预期行为吗,如果是,我应该如何向现有软件包添加其他依赖项?
提前感谢!
该问题与纪元编号有关。您的版本需要 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 默认采用最新版本; 这欺骗了您,让您认为您的要求有效。
如需进一步阅读;请看这里