Ubuntu向けの自作アプリを作成しています。debパッケージで配布するのでDEBIAN/controlDepends:に依存パッケージ情報を記述しておき、debパッケージをビルドしています。

私のアプリはOpenSSLを使用するので、libsslが必要なのですが、Ubuntu18におけるそれはlibssl1.0.0(1.0.2g)で、Ubuntu19におけるそれはlibssl1.1(1.1.1b)となっています。ここで問題なのは、「libssl」というパッケージ名ではなく、「libssl1.0.0」と「libssl1.1」というように、パッケージ名自体にバージョン番号が組み込まれており、これが意味するところは、libssl1.0とlibssl1.1は関係ない別のものとして、Ubuntu標準パッケージに収められていることです。

私のアプリは今までUbuntu16/18を対象としており、Depends: libssl1.0.0のように定義されているため、これをUbuntu19にインストールしようとすると、依存パッケージが解決できないとしてエラーになります。できればUbuntu16/18およびそれ以降に対応できるパッケージを作りたいです。

この解決方法にはどのようなものがあるでしょうか?

  • libssl1.0.0またはlibssl1.1のどちらにも対応できるDepends:の書き方がある?
  • あきらめてlibssl1.1系用パッケージを別に作る
  • OpenSSLをスタティックリンクする
  • その他いいアイディア