Bug 1821439

Summary: certbot cannot be updated due to missing mock dependencies
Product: [Fedora] Fedora EPEL Reporter: alex
Component: certbotAssignee: Felix Schwarz <fschwarz>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: epel8CC: anon.amish, fschwarz, itamar, james.hogarth, nb, nick, rbu, redhat, skontar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-07 09:18:05 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:

Description alex 2020-04-06 20:00:23 UTC
Description of problem:

Cannot update certbot

Version-Release number of selected component (if applicable):

EPEL on CentOS 8

How reproducible:

Steps to Reproduce:
1.
$ sudo dnf update

Actual results:

Last metadata expiration check: 0:00:55 ago on Mon 06 Apr 2020 07:55:24 PM UTC.
Error: 
 Problem 1: cannot install the best update candidate for package python3-certbot-1.1.0-1.el8.noarch
  - 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
 Problem 2: 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 update candidate for package certbot-1.1.0-1.el8.noarch
  - 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 updated

Comment 1 Felix Schwarz 2020-04-07 05:21:53 UTC
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 because pretty complicated so I reverted the change and just shipped the upstream code with fewer modifications.

Comment 2 alex 2020-04-07 08:59:56 UTC
Sweet! Thank you, I did not read the EPEL instructions properly. I don't mind this being closed.

Comment 3 Felix Schwarz 2020-04-10 20:12:35 UTC
*** Bug 1822959 has been marked as a duplicate of this bug. ***

Comment 4 Felix Schwarz 2020-05-15 20:52:35 UTC
*** Bug 1836412 has been marked as a duplicate of this bug. ***