百胜不解决本地升级的新包依赖

Yum does not resolve new package dependencies on local upgrade

我有一个 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 默认使用最新版本;这让您误以为您的要求有效。

进一步阅读;看here