2016-03-23 5 views
0

私たちの独自のソフトウェア用のDebian * .debパッケージをビルドしています。 ソフトウェアはJavaベースであるため、debパッケージがインストールされているJavaパッケージを最初にチェックすると良いと思いました。Debian debパッケージでJava 7またはJava 8の依存関係を設定するには?

Package: [[name]] 
Version: [[version]] 
Section: non-free 
Priority: low 
Architecture: all 
Description: [[description]] 
Maintainer: company <email @ address> 
Homepage: http://product.website 
Depends: java7-runtime-headless 

問題:OracleのJDK 7がインストールされている場合

  • これが失敗しました。これは、OpenJDK 7パッケージのみをチェックするためです。 Javaパッケージ、OracleおよびOpenJDKの両方を確認するにはどうすればよいですか?
  • OpenJDK 8がインストールされているにもかかわらず失敗します。私たちのソフトウェアはJava 7とJava 8で動作します。JDK 7またはJDK 8を確認するにはどうすればよいですか?

概要:私は、バージョン7または8で任意のJava/JDKパッケージのようdpkgチェック私のパッケージのDepends:セクションを設定するにはどうすればよいですか?

答えて

1

"ANY" Java/JDKパッケージをチェックするには、Depends:行にパイプ記号( "|")を使用できます。

Depends: libtomcat7-java (>= 7.0.56-3), default-jre-headless | java6-runtime-headless | java6-runtime | java-6-runtime 

は、しかし、あなたがDepends:ラインを使用する場合、dpkgはそれだけが知っているパッケージによって、それが満たさ検討することに注意してください。たとえば、ここではジェシーでtomcat7-commonパッケージのラインです。 dpkgを使用せずにOracle JavaなどのベンダーのJDKをインストールした場合、または行に適切なキーワードがリストされていない場合は動作しません。だから、あなたはSuggests:またはRecommends:行でもっと良いかもしれません。

+0

ありがとうございました!あなたは正しい、「依存する:」はあまりにも厳しいようだ。代わりに 'Suggests:'を使用して、インストール前に手動でJavaバージョンをチェックするようユーザに勧めます。 – ToFi

関連する問題