【发布时间】:2018-03-18 02:24:36
【问题描述】:
我有一个 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?也许新的 openssl 已经存在?也尝试看看 openssl 提供了什么:
rpm -q openssl --provides -
啊对;在尚未安装 openssl 的新机器上;如果可以,yum 将始终采用最新版本的软件包。
-
安装的openssl是1.0.1,--provides的输出是
openssl = 1:1.0.1e-60.el7和openssl(x86-64) = 1:1.0.1e-60.el7 -
这是一个完全干净的 CentOS 7.4 安装,只安装了我的原始包及其依赖项。