Podman: centos-8: packaging podman-manpages in conflict with docker-ce

Created on 5 Jan 2020  路  25Comments  路  Source: containers/podman

This is clearly linked to https://bugs.centos.org/view.php?id=16892 see

  file /usr/share/man/man1/docker-attach.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-build.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-commit.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-container-prune.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-container.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-cp.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-create.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-diff.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-events.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-exec.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-export.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-history.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-image-prune.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-image.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-images.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-import.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-info.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-inspect.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-kill.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-load.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-login.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-logout.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-logs.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-pause.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-port.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-ps.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-pull.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-push.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-restart.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-rm.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-rmi.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-run.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-save.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-search.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-start.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-stats.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-stop.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-system-df.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-system-prune.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-system.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-tag.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-top.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-unpause.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-version.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-volume-create.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-volume-inspect.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-volume-ls.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-volume-prune.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-volume-rm.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-volume.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker-wait.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64
  file /usr/share/man/man1/docker.1.gz from install of podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch conflicts with file from package docker-ce-cli-1:19.03.5-3.el7.x86_64

This prevented installing podman when docker-ce was installed and based on the filenames, I am inclined to say that this is pure-podman fault. These man pages should not be in conflict, or at least be provided by th podoman-docker package instead of podman-manpages.

I am not sure who's in chage to fix here because I know that currently the rpm building made by libpod project itself does not produce podman-manpages for some other reasons.

Does anyone know some workarounds to make them co-exist?

Packaging

Most helpful comment

Workaround for people on or updating to CentOS 8.1:

Uninstall podman before updating it sudo yum -y remove podman and install it back w/o manpages:

# install all podman dependencies except podman-manpages
sudo yum -y install oci-systemd-hook libvarlink

# and install podman w/o dependencies
sudo rpm -Uvh --nodeps $(repoquery --location podman)

PS. When fixed, please provide podman packages to centos-stream so that people who enable centos-stream repos (via sudo yum -y install centos-release-stream) could solve their podman / docker confict without above workaround.

All 25 comments

@jnovy seems like an issue in RHEL8 ?

@jnovy @rhatdan maybe we should put these into podman-docker or create another subpackage called podman-docker-manpages ?

@lsm5 nope, this seems CentOS specific. I can't see anything like docker-ce* shipped in RHEL8. It's not present even in EPEL/Fedora 31.

@lsm5 nope, this seems CentOS specific. I can't see anything like docker-ce* shipped in RHEL8. It's not present even in EPEL/Fedora 31.

Those are vendor packages, for CentOS 7 (.el7)

https://docs.docker.com/install/linux/docker-ce/centos/

Thanks @afbjorklund - for the vendor 3rd party I'd suggest to create a new ticket with vendor and let them add explicit "Conflicts: podman-manpages" into their spec file to allow package manager to handle the conflict before the transaction takes place.

It would probably make much more sense to have it conflict with podman-docker-manpages, if so ?
(Not sure when manpages started to have their own packages, I thought they were documentation)

@jnovy : I _think_ that Docker for RHEL 8 has the same issue, as this one for CentOS 7 ?

(Or at least it seems natural, that the docker rpm should also feature docker manpages)

But it's only available in the EE (not the CE)

https://docs.docker.com/ee/docker-ee/rhel/

@afbjorklund We have no docker in RHEL8. The compatibility layer with docker is provided by podman-docker package.

The original suggestion, of moving the manpages from podman-manpages to podman-docker should fix both conflicts... I guess the user can decide, if they want to install podman-docker or the docker-xx-cli ?

But there is no reason why the regular podman shouldn't be able to co-exist with a docker installation. The "podman-manpages" should probably only have the man pages for the "podman" package itself.

@afbjorklund Maybe it makes sense to just make manpages part of the respective packages themselves (at least this is what common sense tells me). Then podman and podman-docker would be also split man-page content-wise and there won't be any surprise as in "No manual entry found podman" found.

Yes they should be separated.

In Fedora

$ rpm -q podman-manpages -l  | grep docker
$ rpm -qpl podman-docker | grep man.*docker | wc -l
97

Not sure why there is a podman-manpages separate package, I am fine with moving these into the main podman package. If people want smaller packages they could just tell the package not to install docs, which I believe would remove man pages.

Fedora and podman-1.6.4 is good (8.1.1 and 8.2.0 material). Just the podman and podman-manpages merge is needed. Currently working on it.

Workaround for people on or updating to CentOS 8.1:

Uninstall podman before updating it sudo yum -y remove podman and install it back w/o manpages:

# install all podman dependencies except podman-manpages
sudo yum -y install oci-systemd-hook libvarlink

# and install podman w/o dependencies
sudo rpm -Uvh --nodeps $(repoquery --location podman)

PS. When fixed, please provide podman packages to centos-stream so that people who enable centos-stream repos (via sudo yum -y install centos-release-stream) could solve their podman / docker confict without above workaround.

Same issue in debian + ubuntu packages
work around is sudo apt install -o Dpkg::Options::="--force-overwrite" podman

@jnovy where do we stand on this one?

@matihost It works.

remove podman and install docker ce.

sudo yum -y remove podman

I have a PR for installing on centos via OBS. PTAL: https://github.com/containers/podman.io/pull/201

Closing. Please re-open if issue persists with the latest OBS packages.

@snowdream thanks. Solved.

Is this still a problem on RHEL/Cent 8 packages? I was under the impression it was resolved with 1.6.4 on 8.2

Still an issue on CentOS 8.1 - workaround that worked for me is to remove podman-manpages explicitly:

sudo yum -y remove podman

I'm going to assume that this is fixed on 8.2, though? We're aware that 8.1 is problematic, but it's too late in the cycle to do anything about it there.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bbros-dev picture bbros-dev  路  5Comments

runlevel5 picture runlevel5  路  4Comments

floating-cat picture floating-cat  路  5Comments

MatMaul picture MatMaul  路  5Comments

yangm97 picture yangm97  路  5Comments