マイナーなパッケージがdpkgに依存するのはなぜですか?

マイナーなパッケージがdpkgに依存するのはなぜですか?

私は最近、単一のパッケージをインポートし、それをサポートするために必要な依存関係を処理する最小限のシステムを探索してきました。

dpkgさまざまな場所で依存関係がポップアップするのを見て、依存関係を持つ理由がほとんどないパッケージについて驚きました。例えばreadline-common。パッケージには次のファイルのみが含まれています。

/usr/share/readline/inputrc
/usr/share/lintian/overrides/readline-common
/usr/share/doc/readline-common/changelog.Debian.gz
/usr/share/doc/readline-common/copyright
/usr/share/doc/readline-common/changelog.gz
/usr/share/doc/readline-common/inputrc.arrows
/usr/share/man/man3/readline.3readline.gz
/usr/share/man/man3/history.3readline.gz
/usr/share/info/rluserman.info.gz

これはpostinstスクリプトprerm参照でもなく、dpkg明らかに関連するものでもありません。

同様にpython3-minimal

dpkgなぜtrivialパッケージの依存関係として現れるのか疑問に思います。

答え1

おそらく、特定または最小バージョンのdpkg。 (それは実際にはDebianではありません。)システムはもはや壊れた混乱です。Essential: yesdpkg

たとえば、依存:行を表示すると、python3-minimal次のようになります。

Depends: dpkg (>= 1.13.20)

これは、dpkgバージョン1.13.20以降が必要であることを意味します。このバージョンの依存関係は、python3-minimal少なくともそのバージョンがインストールされるまでインストールまたはアップグレードされないようにします。

全然知らないなぜ python3-minimalそのバージョンが必要です。パッケージマネージャは、このバージョンが以前のバージョンと互換性がないことを知っているか発見したと想定dpkgできます。python3-minimalおそらく、辞書/後のスクリプトの1つには、dpkgバージョン1.13.20まで表示されていなかった機能が必要になるでしょう。

本当に知りたかったが、実際に知りたくない場合は :-) から変更ログを読むか、/usr/share/doc/python3-minimalでバグレポートの履歴を読むことができます。bugs.debian.org。言及された理由を見つける可能性が最も高いところです。または多分Debian 開発アーカイブまたはメーリングリスト、ドキュメント、ポリシーDebian Python チーム


繰り返しますが、バージョン1.15.4readline-common以降に応じて、または次のようになります。dpkginstall-info

Depends: dpkg (>= 1.15.4) | install-info

を見ると、/usr/share/doc/dpkginstall-infoへの言及がほぼ100個に達することがわかります。 1.15.4(2009年9月6日)の変更ログエントリは次のとおりです。

  • インストール情報をGNUインストール情報のラッパーに置き換えます。 +1押すと包装紙が落ちます。 dpkgは今壊れています。以前のバージョンのinfobrowserは、実際の機能を提供するために新しくインストールされたinfopackageには依存しません。休店:#9771、#523980

関連情報