1

この質問を非常に短い方法で言います。どうすればこのようなことを達成できますか:

BuildRequires:  mylib >= 1.0.0
BuildRequires:  mylib < 2.0.0

一行で?パッケージがメジャー バージョン 1 の任意のバージョンに依存するようにしたいが、それ以外は依存しない。私は試した:

BuildRequires:  mylib = 1

しかし、それはうまくいきません。何か案は?

4

1 に答える 1

2

パッケージに適切にバージョン管理されたライブラリ ファイルが含まれている場合、mylibこれは必要ありません。RPM をパッケージ化すると、アプリケーションがリンクするライブラリのバージョンが自動的に選択され、異なるバージョンのライブラリを持つパッケージのバージョンをシステムにインストールできないようにする必要があります。

rpm は、アプリケーションが使用するバージョン管理されたライブラリ シンボルも取得する必要があります。これは、これが誤って発生するのを防ぐのにも役立ちます。

あなたが望むものをより文字通りの方法で手に入れる方法があることを私は知りません。

編集: ライブラリのバージョン管理に関するいくつかのリンク。私は後者の 2 つを読んでおらず、最初の 1 つを少し前に読みましたが、かなりまともだったことを思い出します (少なくとも私が理解した範囲では)。

  1. ライブラリのバージョン管理
  2. 共有ライブラリの分析
  3. 共有ライブラリ
于 2014-08-01T13:56:03.437 に答える