Description of problem: python3-certbot appears to now have a dependency on python3-mock, but python3-mock is not in EPEL. So it is not currently possible to install certbot with only EPEL enabled. I found this bug requesting python3-mock in EPEL: https://bugzilla.redhat.com/show_bug.cgi?id=1772474 So enabling PowerTools would probably work, but I don't think it's intentional that certbot needs EPEL and PowerTools. Version-Release number of selected component (if applicable): certbot-1.3.0-3.el8.noarch How reproducible: always Steps to Reproduce: $ sudo dnf install certbot Actual results: Last metadata expiration check: 0:01:42 ago on Fri 10 Apr 2020 09:26:39 AM PDT. Package certbot-1.1.0-1.el8.noarch is already installed. Error: Problem: package certbot-1.3.0-3.el8.noarch requires python3-certbot = 1.3.0-3.el8, but none of the providers can be installed - cannot install the best candidate for the job - nothing provides python3-mock needed by python3-certbot-1.3.0-3.el8.noarch - nothing provides python3.6dist(mock) needed by python3-certbot-1.3.0-3.el8.noarch (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) Expected results: certbot is installed/upgraded Additional info:
tldr: You need to enable the PowerTools repo. Longer explanation: certbot provides the "certbot.tests" package which contains helper code to ease test writing for certbot plugins. That package is part of the public api and depends on python3-mock. Unfortunately in RHEL 8 python3-mock is not part of the main repositories but only available in the powertools repo (provided by Red Hat, not enabled by default but can be enabled easily). The EPEL guidelines recommend that EPEL8 users enable this repo ("on CentOS 8 it is recommended to also enable the PowerTools repository since EPEL packages may depend on packages from it"): https://fedoraproject.org/wiki/EPEL#Quickstart As you can see in the git history of certbot I tried to create a custom subpackage just for certbot.tests but in the end this became pretty complicated so I reverted the change and just shipped the upstream code with fewer modifications. The certbot developers are aware of the issue: https://github.com/certbot/certbot/issues/7886 *** This bug has been marked as a duplicate of bug 1821439 ***
Joe: I hope you don't mind me pasting the original explanation but mock is actually a "real" dependency of certbot currently. Fixing this requires a bit of actual (upstream) development. If you have further questions please just reopen this bug.
Mikel: I noticed you added a Red Hat Knowledge Base here. If dependency issues like python-mock cause a significant number of RH customer requests please get in touch with me so I can evaluate the impact of these changes better. As you are probably aware I'm planning to move certbot in EPEL 7 to use Python 3 and I would like to be aware of potential problems :-)