Debian パッケージング: バージョンによる「プロバイダ」の関係

Debian パッケージング: バージョンによる「プロバイダ」の関係

alpha現在beta 1.0.1、andに依存する.debパッケージがあるとしましょうgamma 1.0.1。私の新しいバージョンにはすべてbeta 2.0.1が含まれますgammaProvidesにバージョン関連キーワードを含めることはできますかdebian/control?たとえば、beta制御ファイルから

Package: beta
Architecture: any
Depends: python3, foo, bar
Provides: gamma (but only in version >=2.0.1)
...

それとも、この場合、Depends逆方向依存関係の制御ファイルでそれに応じてフィールドを更新する必要がありますかalpha

ベストアンサー1

Providesこれを含むパッケージにのみ適用されます。以前のbetaパッケージには対応するフィールドがない可能性があるため、依存関係を提供せず、gamma満たしていません。 2.0.1バージョンをパッケージにalpha追加すると、パッケージは依存関係を提供して満たされますが(一部の制限を含む)、突然以前のバージョンはそれを満たさなくなります。Provides: gammabetagammabeta

さらに詳しく説明すると、既存のbeta1.0.1パッケージはおそらく次のようになります。

Package: beta
Version: 1.0.1
Priority: …
Section: …

新しい2.0.1パッケージは次のように言います。

Package: beta
Version: 2.0.1
Priority: …
Section: …
Provides: gamma

この新しいエントリは 2.0.1 パッケージにのみ適用され、1.0.1 パッケージに変更はありません。

バージョンのないものは、Providesバージョンのない依存関係のみを満たします。バージョン制限alphaに依存する場合(gamma例えば >= 2.0)バージョンが必要ですProvidesが、beta何の意味もありません。betagammaバージョン、そのバージョンのみ。

バラよりDebian Policy セクションProvidesもっと学ぶ。

おすすめ記事