Bug 1756473

Summary: dnf: package is excluded without explanation
Product: Red Hat Enterprise Linux 8 Reporter: Etienne CHAMPETIER <champetier.etienne>
Component: dnfAssignee: Jaroslav Mracek <jmracek>
Status: CLOSED ERRATA QA Contact: Jan Blazek <jblazek>
Severity: medium Docs Contact:
Priority: low    
Version: 8.0CC: amatej, james.antill, pkotvan, rjones, romank
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: 8.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libdnf-0.39.1-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:48:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1649352    

Description Etienne CHAMPETIER 2019-09-27 17:32:51 UTC
Description of problem:
Trying to install docker-ce (non modular package built for centos 7), some containerd.io dependency are excluded,
but there is no explanation why, what package it "conflicts" with, ...

Version-Release number of selected component (if applicable):
dnf.noarch 4.0.9.2-5.el8
libsolv.x86_64 0.6.35-6.el8

How reproducible:
100%

Steps to Reproduce:

1. Add CentOS 7 docker repo to CentOS 8
cat > /etc/yum.repos.d/docker.repo <<'EOF'
[docker-ce]
name=Docker-CE Repository
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
keepcache=0
gpgkey=https://download.docker.com/linux/centos/gpg
EOF

2. Try to install docker-ce
# dnf install docker-ce

Actual results:

Last metadata expiration check: 0:01:01 ago on Fri Sep 27 13:17:19 2019.
Error: 
 Problem: package docker-ce-3:19.03.2-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Expected results:

containerd.io packages are excluded with a clear explanation

Additional info:

All the excluded packages provide "runc" but are built without modularity
runc is provided in the AppStream repo and built with modularity

The exclusion is expected modularity behavior I think, but better error messages are required here

Comment 1 Etienne CHAMPETIER 2019-09-27 17:51:39 UTC
Notes from https://bugzilla.redhat.com/show_bug.cgi?id=1734081
you can force docker-ce install by putting module_hotfixes=True in /etc/yum.repos.d/docker.repo, but as pointed by jmracek, this is a dangerous override that can break your system
In this exact case if you try to install podman, it expects AppStream repo runc, not docker-ce repo runc version (included in containerd.io rpms)

Comment 2 Jaroslav Mracek 2019-11-11 09:26:47 UTC
*** Bug 1649754 has been marked as a duplicate of this bug. ***

Comment 3 Jaroslav Mracek 2019-11-11 09:40:03 UTC
I create a patch (https://github.com/rpm-software-management/libdnf/pull/840) that enhance the errors (see bellow). Please could you provide a feedback for the patch?

$ sudo dnf install --installroot /tmp/ddd meson --nogpgcheck --releasever=/ -x ninja-build-0:1.9.0-1.module_f30+2977+5b084e29.x86_64

Error: 
 Problem: conflicting requests
  - package meson-0.50.0-1.module_f30+3586+7354b37a.noarch requires ninja-build, but none of the providers can be installed
  - package meson-0.52.0-1.module_f30+6773+687c32a9.noarch requires ninja-build, but none of the providers can be installed
  - package ninja-build-1.8.2-4.module_2059+c8879cb0.x86_64 is excluded by modular filtering
  - package ninja-build-1.9.0-1.module_f30+2977+5b084e29.x86_64 is exclude by regular filtering
  - package ninja-build-1.9.0-2.fc30.x86_64 is excluded by modular filtering

Comment 7 Jaroslav Mracek 2019-11-22 07:55:37 UTC
*** Bug 1741913 has been marked as a duplicate of this bug. ***

Comment 12 errata-xmlrpc 2020-04-28 16:48:23 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:1823