14

RPMとしてパッケージ化しているJavaアプリがあります。理想的には、Javaを依存関係として指定したいと思います。Fedora環境とRHEL環境の両方にインストールする必要があります。問題は、RHEL Javaが「java」と呼ばれているのに対し、FedoraはOracle / Sunのディストリビューションを提供しておらず、OracleのWebサイトから手動でダウンロードする必要があることです。OracleのJavaディストリビューションは、選択したパッケージに応じて、「jre」または「jdk」と呼ばれます。

通常、RPMSPECファイルに次のように記述します。

依存:java> = 1.6

しかし、RHELは「java」を提供し、Sun / Oracle経由のFedoraは「jre」または「jdk」を提供するので(そして私はOpenJDKを使用できません)、私は少し拘束されています。これまでのドキュメントでは、'java> =1.6||を実行する方法が示されていません。jre> = 1.6 || jdk> = 1.6'など。Javaパッケージは私の管理下にないため、どちらか一方を変更して「Provides:Java」を指定することはできません。

現在、私には2つの選択肢しかありません。

  • 依存関係としてJavaを省略します
  • Fedora用に1つのRPMを作成し、RHEL用に1つ作成します

私はどちらのオプションにも熱心ではありません。プロバイダーがすべて異なる名前を持つJava依存関係を実現する他の方法はありますか?

編集:3番目のオプション-SunのJDKRPMに依存するFedora用の独自のJava仮想パッケージを作成します。

4

1 に答える 1

7

Sun の jdk rpm に依存する Fedora 用の独自の Java 仮想パッケージを作成しました。

他の人に役立つ場合に備えて、SPEC ファイルの関連部分:

Name: fedora-virtual-java
Version: 1.6
Provides: java
Requires: jdk > 1.6
于 2011-06-16T13:04:52.547 に答える