Bug 2024629

Summary: dnf copr plugin doesn't work on CentOS Stream 8
Product: Red Hat Enterprise Linux 8 Reporter: Sandro Bonazzola <sbonazzo>
Component: dnf-plugins-coreAssignee: Copr Team <copr-team>
Status: CLOSED ERRATA QA Contact: swm-qe
Severity: high Docs Contact: Mariya Pershina <mpershin>
Priority: high    
Version: CentOS StreamCC: amusil, bstinson, carl, james.antill, jwboyer, mbanas
Target Milestone: rcKeywords: Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-plugins-core-4.0.21-14.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-08 10:53:15 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: 1994154    
Bug Blocks:    

Description Sandro Bonazzola 2021-11-18 14:22:43 UTC
Trying:
```
dnf copr enable ovirt/ovirt-master-snapshot
```
on CentOS Stream 8.

It's currently failing reporting:
```
Error: This repository does not have any builds yet so you cannot enable it now.

```

The issue is that copr plugin is not recognizing "CentOS Stream" and assign the repo with:

```
chroot = ("epel-%s-x86_64" % dist[1].split(".", 1)[0])
```

with dist being ('CentOS Stream', '8', '')

so trying to match epel-8-x86_64.

But builds in copr pointing to CentOS Stream have roots like `centos-stream-8-x86_64` so it fails.

Please add CentOS Stream to dnf copr for CentOS 8.

It seems to work fine on CentOS Stream 9.

Comment 1 Silvie Chlupova 2021-11-29 10:28:47 UTC
Hi Sandro, the reason it works on centos stream 9 (but not on centos stream 8) is that my commit https://github.com/rpm-software-management/dnf-plugins-core/commit/9a00b1e405b421ae6c33c62f0442770fa6ba590e is in release 4.0.24 of the dnf-plugins-core package which has only build for centos stream 9.

@jmracek Do you want to backport it to RHEL8?

Comment 2 Carl George 🤠 2022-02-25 05:07:59 UTC
Please do not backport this to EL8.  The behavior there is currently correct.  `dnf copr enable` should pick the epel-8 chroot on c8s.  The problem we have is that it does not pick the epel-9 chroot for c9s, see bug 2058471.

Comment 5 Martin Banas 2022-06-27 09:12:48 UTC
Could QE get the list of missing patches / specification of what would be changed so that we can construct the AC and know the scope of the change?
Thanks.

Comment 6 Lukáš Hrázký 2022-06-29 12:20:48 UTC
Martin, this is the list of commits for the copr plugin in RHEL 9.1:
$ git log --oneline 4.0.21..4.1.0 -- plugins/copr.py 
10e010c copr: allow specifying protocol as part of --hub
1a4dbdb Better error message for dnf copr enable
75d55ac Shorter verification that the project exists
3c56690 copr: migrate all calls to APIv3
fd8f0e2 copr: don't traceback on empty lines in /etc/os-release
37fd98a Silence a deprecation warning in plugins/copr.py
9a00b1e Fix baseurl for centos stream chroot
810a1ca Disable dnf playground command
841b00a Fix 'dnf copr enable' on Fedora 35

And this is the list of commits in RHEL 8.7:
$ git log --oneline 4.0.21..rhel-8.7 -- plugins/copr.py
54b7c5f copr: migrate all calls to APIv3
ebacba8 copr: don't traceback on empty lines in /etc/os-release

So all the commits from RHEL 9.1 besides the two in 8.7 would need to be backported, quite a sizeable amount.

Comment 13 Jaroslav Mracek 2022-07-19 06:41:53 UTC
Because additional patch is already in upstream - moving to POST

Comment 20 errata-xmlrpc 2022-11-08 10:53:15 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 (dnf-plugins-core bug fix and enhancement update), 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-2022:7759