2017-10-06 9 views
0

私はRPMパッケージmypackgeを持っています。私のソフトウェアはOpenSSL v1.0.2を依存関係として追加する必要があります。当初はRPMのスペックは以下が含まれていYumはローカルアップグレードの新しいパッケージ依存関係を解決しません

はラインを必要とします。私は、この行を更新した

Requires: openssl policycoreutils-python python2-pip ... 

:これは、新規インストールのために完璧に動作するようです

Requires: openssl >= 1.0.2 policycoreutils-python python2-pip ... 

、新しい依存関係が解決され、期待どおりにインストールされます。問題私は、既存のインストールを更新しようとすると、新しいOpenSSLの依存関係が解決またはインストールされていないいくつかの理由

[[email protected]]# 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 

...来て、この予想される動作であり、どのように私は追加の依存関係を追加して行く必要がありそうであれば既存のソフトウェアパッケージ?

ありがとうございます!

+0

これは予期しない動作です。実行しているマシンにはどのopensslがインストールされていますか?多分、新しいopensslはすでに存在していますか? opensslが提供するものも見てみてください: 'rpm -q openssl --provides' –

+0

ああ、 opensslがまだインストールされていない新しいマシンで実行します。可能であれば、yumは常にパッケージの最新バージョンを使用します。 –

+0

インストールされているopensslが1.0.1で、--providesの出力が 'openssl = 1:1.0.1e-60.el7'で、' openssl(x86-64)= 1:1.0.1e-60.el7' –

答えて

1

問題はエポックにリンクされています。あなたのバージョンにはopenssl >= 1.0.2が必要です。しかし、opensslパッケージは1:1.0.1を提供します。 エポックが最も重要な番号です。実際にrpmはあなたの要求openssl >= 1.0.2openssl >= 0:1.0.2と読んでいます。

あなたが言う場合はあなたの問題は解決されます。

Requires: openssl >= 1:1.0.2 

は注意:あなたが作るとき、クリーンインストールとOpenSSLがまだインストールされていませんでした。 yumはデフォルトで最新のバージョンになります。あなたの要求が働いたと思うようにあなたを誘惑しました。

look here

+0

これは私にとって完璧なおかげで素晴らしい作品です!私は唯一の混乱は今、なぜこれがクリーンインストール(openssl 1.0.1eはCentOSディストロにデフォルトでインストールされている)で動作するのかということですね。 –

関連する問題