複数のライブラリ依存関係の定義

複数のライブラリ依存関係の定義

ローカルリポジトリからDebian 9にFreeRadius 3.0.16をインストールしようとしています。

しかし、インストールしようとすると、次のエラーが発生します。

The following packages have unmet dependencies:
 freeradius : Depends: libssl1.0.0 (>= 1.0.1e-2+deb7u5) but it is not installable

犯人は元のソースコードにありますfreeradius-server/debian/rules

# Add dependency on distribution specific version of openssl that fixes Heartbleed (CVE-2014-0160).
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
       SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1f-1ubuntu2)"
else
       SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1e-2+deb7u5)"
endif

Debian 9をチェックすることは、複数のDebianバージョンに合わせてコンパイルできるため、理想的な状況ではありません。

もしそうなら、Debianのバージョンをチェックすることに加えて、Defines for DebianをDefinesの代わりに定義する他の方法はありますかlibssl1.1 (>= 1.1)

答え1

これらのコード行を削除すると、単一のパッケージで他のパッケージを安全にアップグレードできなくなります。

見たらDebian パッケージrules、そんなことがないことがわかります。とにかく指摘したように、Debian 9はOpenSSLに別のパッケージ名を使用しているため、依存関係は機能しません。

(適切なパッケージのアップグレードを強制するために分離を理解することは可能ですが、努力する価値はないと思います。)

関連情報