他のパッケージに依存するが代替パッケージをインストールする適切なインストールパッケージ

他のパッケージに依存するが代替パッケージをインストールする適切なインストールパッケージ

インストールしようとしていますが、subuser状況によって異なりますdocker.io

subuser : Depends: docker.io but it is not going to be installed

しかし、私はすでにdocker-ceそれをインストールしました。

私は以下を使用してdebパッケージを作成しました。equiv-control

Section: local
Priority: optional
Package: my-docker-dependencies
Version: 1.0
Maintainer: ctrl-alt-delor
Depends:  docker-ce
Provides: docker.io
Description: docker

しかし、紛争が発生しました。

Breaks existing package 'docker-ce' that conflict: 'docker.io'. But the 'my-docker-dependencies_1.0_all.deb' provides it via: 'docker.io'docker-ceすでにインストールされています)。

この衝突は意味がありますがsubuser

subuserインストールはしましたが、docker-ceインストールしない場合はどうすればよいですかdocker.io

答え1

docker-ceそれ自体が.と競合するので、docker.io他のものを追加して提供できる方法はないと思いますdocker.io

subuserインストールする唯一の方法は、代替依存関係を使用して再構築することdocker-ceです。subuser

Depends: ${misc:Depends}, ${sphinxdoc:Depends}, ${python3:Depends}, python3-pkg-resources, git, docker.io | docker-ce

全体のレシピは

apt source subuser
cd subuser-*
sed -i 's/Depends:.*/& | docker-ce/' debian/control
dch -n "Allow docker-ce instead of docker.io."
dch -r ignored
dpkg-buildpackage -us -uc

関連情報