0

現在、openjdk-6 を要件としてマークしている RPM を構築しています。openjdk-7 のサポートも追加したいと考えています。しかし、仕様ファイルを変更して openjdk6 または openjdk7 を要件として探す方法がわかりません。仮想パッケージの概念について読み、それを使用しようとしています。追加しています

Requires: libjvm.so

私の仕様では; %pre セクションで 6 または 7 をチェックします。しかし、ビルドされた RPM パッケージは libjvm.so を認識しません。

error: Failed dependencies:
        libjvm.so is needed by myapp.x86_64

rpm -q --provides java-1.6.0-openjdk を試してみましたが、一覧表示されます

libjvm.so()(64bit)
libjvm.so(SUNWprivate_1.1)(64bit)

仮想パッケージの依存関係を間違っていますか? またはJDK6/7を依存関係として言及する、よりクリーンで明白な方法はありますか?

4

1 に答える 1

1

前のセクションで既に openjdk 6 または 7 をチェックしている場合は、変数を設定して、チェックで返された値に基づいて require を設定しないのはなぜですか? openjdk の名前がそれほど悪くなく、値が真ん中にある場合は、 を使用できますがRequires: openjdk >= 1.6、バージョンの値を真ん中に置くことにしたため、うまくいかないと思います。

于 2013-09-02T00:11:35.697 に答える