従来のリリースモデルでは、リリース内のすべてのパッケージは、同じバージョンのライブラリに対して同じバージョンのコンパイラでコンパイルされ、リリースチームは、競合を避けるために、一緒にうまく機能するソフトウェアバージョンを慎重に選択します。
Gentooのようなローリングリリースソースディストリビューションでは、システムにインストールされているライブラリバージョンに対して各パッケージを自分でビルドします。2つのパッケージが同じライブラリの異なるバージョンに依存している場合は、これらの異なるバージョンを異なるスロットにインストールできます。したがって、競合を回避するための適切なメカニズムがあります。
最近、ローリングリリースモデルを備えた別のディストリビューションであるArchLinuxを発見しました。これは、バイナリパッケージに基づいています。また、スロットをサポートしていないようです。
今、私は困惑しています。 ArchLinuxで、インストールしたものとは異なるバージョンのライブラリに依存するパッケージをインストールしようとするとどうなりますか?ライブラリをアップグレードする必要がありますか?しかし、2つのパッケージが異なるバージョンのライブラリに依存している場合はどうなりますか?
パックマンでさまざまなArchLinuxWikiページを調べましたが、舞台裏の説明は見つかりませんでした。
Archでは、明示的なバージョンとの依存関係はまれです。ほとんどのパッケージは、依存関係の最新バージョンがインストールされることを単に期待しています。 (ユーザーは選択的なアップグレードを実行することは想定されていませんが、allインストールされたパッケージを最新バージョンに維持することになっています。)
まれに、ABIが異なる2つのバージョンが必要な場合、古いバージョンを異なる名前のパッケージとして提供できます。たとえば、libpng
(最新)、libpng14
(1.4)、libpng12
(1.2)。