Yum无法解析本地升级的新程序包依赖性

时间:2017-10-06 09:52:03

标签: centos7 yum rpmbuild

我有一个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依赖关系未得到解决或安装,是否存在这种预期行为?如果是这样,我应该如何向现有软件包添加其他依赖项?

提前致谢!

1 个答案:

答案 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