Bug 2243017 - Update of python3-botocore fails with python3-boto3 installed on CentOS Stream 9
Summary: Update of python3-botocore fails with python3-boto3 installed on CentOS Stream 9
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: python-boto3
Version: epel9
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Carl George 🤠
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-10-10 09:02 UTC by Amélie D
Modified: 2023-12-22 03:10 UTC (History)
7 users (show)

Fixed In Version: python-boto3-1.28.62-1.el9.next
Clone Of:
Environment:
Last Closed: 2023-12-22 03:10:54 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Amélie D 2023-10-10 09:02:00 UTC
On a CentOS Stream 9 machine with python3-botocore-1.25.10 and python3-boto3-1.22.10 installed from epel.
The dnf update python3-botocore command results in error:

Problem: package python3-boto3-1.22.10-1.el9.noarch from @System requires (python3.9dist(botocore) < 1.26 with python3.9dist(botocore) >= 1.25.10), but none of the providers can be installed
  - cannot install both python3-botocore-1.31.38-1.el9.noarch from appstream and python3-botocore-1.25.10-1.el9.noarch from @System
  - cannot install both python3-botocore-1.25.10-1.el9.noarch from epel and python3-botocore-1.31.38-1.el9.noarch from appstream
  - cannot install the best update candidate for package python3-botocore-1.25.10-1.el9.noarch
  - cannot install the best update candidate for package python3-boto3-1.22.10-1.el9.noarch

Seems that python3-botocore-1.31.38 is available in AppStream and causes the issue.

Comment 1 Carl George 🤠 2023-11-30 00:51:59 UTC
python3-botocore was indeed added to CentOS 9 and is currently at version 1.31.62-1.el9 (see bug 2236795).  When the same change is released with RHEL 9.4, the EPEL python3-botocore package will be retired.  I believe the solution is for the python3-boto3 package to be updated to work with the new python3-botocore.  This will likely need to be done in an epel9-next branch to not disturb the RHEL+EPEL installations of this.  It currently has a ranged dependency on python3-botocore that is causing the above error.

root@c9-container:~# dnf -q repoquery --requires python3-boto3 | grep botocore
(python3.9dist(botocore) < 1.26 with python3.9dist(botocore) >= 1.25.10)

Comment 2 Carl George 🤠 2023-11-30 01:03:35 UTC
From a quick investigation, it looks like these steps need to be taken by a maintainer of this package:

1. request an epel9-next branch
2. fast-forward merge that branch to the 1.28.62 commit from rawhide [0], which is compatible with the version of python3-botocore in CentOS 9 [1]
3. do an epel9-next build and bodhi update
4. when RHEL 9.4 is released, fast-forward merge the epel9 branch to match the epel9-next branch
5. do an epel9 build and bodhi update
6. untag the previous epel9-next build

If needed, I can help with all of the above steps except for the first one.


[0] https://src.fedoraproject.org/rpms/python-boto3/c/4199748bcc5f17f775fcdfba7bcacc2bef254f94?branch=rawhide
[1] https://github.com/boto/boto3/blob/1.28.62/setup.cfg#L6

Comment 3 Carl George 🤠 2023-12-05 23:51:06 UTC
If a maintainer can request the epel9-next branch, I can assist with the build and update as a proven packager.

Comment 4 Gwyn Ciesla 2023-12-06 19:14:28 UTC
Branch requested. Thank you!

Comment 5 Carl George 🤠 2023-12-08 21:17:11 UTC
After creating a build for this, I realized that it will also require an update to python-s3transfer.


root@c9-container:~# dnf install https://kojipkgs.fedoraproject.org//work/tasks/2700/110072700/python3-boto3-1.28.62-1.el9.next.noarch.rpm
Last metadata expiration check: 0:12:38 ago on Fri Dec  8 21:02:05 2023.
python3-boto3-1.28.62-1.el9.next.noarch.rpm                                                                                  405 kB/s | 164 kB     00:00    
Error: 
 Problem: conflicting requests
  - nothing provides (python3.9dist(s3transfer) < 0.8 with python3.9dist(s3transfer) >= 0.7) needed by python3-boto3-1.28.62-1.el9.next.noarch from @commandline
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)


Gwyn, would you mind requesting an epel9-next branch for that package as well?

Comment 6 Gwyn Ciesla 2023-12-08 21:24:34 UTC
Requested.

Comment 7 Fedora Update System 2023-12-13 03:22:28 UTC
FEDORA-EPEL-NEXT-2023-f687651475 has been submitted as an update to Fedora EPEL 9 Next. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-NEXT-2023-f687651475

Comment 8 Fedora Update System 2023-12-14 02:21:02 UTC
FEDORA-EPEL-NEXT-2023-f687651475 has been pushed to the Fedora EPEL 9 Next testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-NEXT-2023-f687651475

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2023-12-22 03:10:54 UTC
FEDORA-EPEL-NEXT-2023-f687651475 has been pushed to the Fedora EPEL 9 Next stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.