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仮想パッケージを作成します。