Bug 2027421

Summary: awscli will not install with python-rsa 4.8
Product: [Fedora] Fedora Reporter: Jason Montleon <jmontleo>
Component: awscliAssignee: David Duncan <davdunc>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bperkins, davdunc, fedora2021q2, gwync, lantw44, me
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: awscli-1.18.156-3.el8 awscli-1.19.100-3.fc34 awscli-1.21.7-4.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-12-08 00:33:31 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 Jason Montleon 2021-11-29 15:37:50 UTC
Description of problem:
I have submitted an update for python-rsa update to Fedora 36/rawhide, 35, 34, and epel8. While testing I noted awscli will not install with this version, but some basic testing suggests it works fine.

Version-Release number of selected component (if applicable):
awscli:
1.20.43-1
1.20.38-1
1.19.100-1
1.18.156-1

How reproducible:
Always

Actual results:
awscli cannot be installed or python-rsa cannot be updated.

Expected results:
awscli should remain installable and python-rsa updatable

Additional info:
I have submitted PRs for affected awscli branches
https://src.fedoraproject.org/rpms/awscli/pull-request/8
https://src.fedoraproject.org/rpms/awscli/pull-request/9
https://src.fedoraproject.org/rpms/awscli/pull-request/10
https://src.fedoraproject.org/rpms/awscli/pull-request/11

Comment 1 Fedora Update System 2021-11-29 20:22:43 UTC
FEDORA-2021-8897853cf4 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-8897853cf4

Comment 2 Fedora Update System 2021-11-29 20:22:44 UTC
FEDORA-2021-b248758b4c has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-b248758b4c

Comment 3 Fedora Update System 2021-11-29 20:22:45 UTC
FEDORA-EPEL-2021-91d16610fd has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-91d16610fd

Comment 4 Fedora Update System 2021-11-30 01:38:16 UTC
FEDORA-2021-b248758b4c has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-b248758b4c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-b248758b4c

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

Comment 5 Fedora Update System 2021-11-30 01:42:12 UTC
FEDORA-EPEL-2021-91d16610fd has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-91d16610fd

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

Comment 6 Fedora Update System 2021-11-30 02:20:28 UTC
FEDORA-2021-8897853cf4 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-8897853cf4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-8897853cf4

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

Comment 7 Fedora Update System 2021-11-30 03:03:21 UTC
FEDORA-2021-28ede6f789 has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-28ede6f789`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-28ede6f789

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

Comment 8 Jason Montleon 2021-12-06 13:06:30 UTC
It looks like rather than 4.5.0 the version specified in the 1.21.7 source is 4.8 so the sed on the Fedora 35 package needs to be fixed.
sed -i s/4.8/4.9/g setup.py
sed -i s/4.8/4.9/g setup.cfg

Otherwise it still wants to downgrade the package:
$ sudo dnf install awscli --enablerepo=updates-testing
Last metadata expiration check: 0:07:54 ago on Mon 06 Dec 2021 07:51:28 AM EST.
Dependencies resolved.
========================================================================================================================================================
 Package                              Architecture                  Version                                Repository                              Size
========================================================================================================================================================
Installing:
 awscli                               noarch                        1.21.7-3.fc35                          updates-testing                        2.1 M
Installing dependencies:
 paper                                x86_64                        2.3-3.fc35                             fedora                                  31 k
 perl-IPC-Run3                        noarch                        0.048-23.fc35                          fedora                                  39 k
Installing weak dependencies:
 groff                                x86_64                        1.22.4-8.fc35                          fedora                                 1.2 M
 psutils                              noarch                        2.06-2.fc35                            fedora                                  50 k
Downgrading:
 python3-rsa                          noarch                        4.7.2-1.fc35                           fedora                                  58 k

Transaction Summary
========================================================================================================================================================

Comment 9 Fedora Update System 2021-12-06 21:51:02 UTC
FEDORA-2021-66cfd01562 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-66cfd01562

Comment 10 Fedora Update System 2021-12-07 01:21:53 UTC
FEDORA-2021-66cfd01562 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-66cfd01562`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-66cfd01562

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

Comment 11 Fedora Update System 2021-12-08 00:33:31 UTC
FEDORA-EPEL-2021-91d16610fd has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2021-12-08 01:55:58 UTC
FEDORA-2021-b248758b4c has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 13 fednuc 2021-12-08 12:57:13 UTC
This is an insufficient/wrong fix, and the issue is still present, since it's replacing the rsa requirement for Python 2.7, not 3.x. The sed pattern is also IMO far too general, and introduces a risk of future breakage since it's replacing *any* occurrence of "4.5.0".

awscli.spec:

  # https://bugzilla.redhat.com/show_bug.cgi?id=1854288
  sed -i s/4.5.0/4.9/g setup.py
  sed -i s/4.5.0/4.9/g setup.cfg

setup.cfg:

  requires_dist =
          ...
          rsa>=3.1.2,<=4.5.0; python_version=='2.7'
          rsa>=3.1.2,<4.8; python_version>'2.7'

setup.py:

  install_requires = [
      ...
      'rsa>=3.1.2,<=4.5.0; python_version=="2.7"',
      'rsa>=3.1.2,<4.8; python_version>"2.7"',


Suggested sed command in awscli.spec:

  sed -Ei 's/^( *'"'"'?rsa>=[0-9.]+,)<=?[0-9.]+(.*)/\1<4.9\2/g' setup.cfg setup.py


Result:

  $ diff <(cat setup.cfg setup.py) <(sed -E 's/^( *'"'"'?rsa>=[0-9.]+,)<=?[0-9.]+(.*)/\1<4.9\2/g' setup.cfg setup.py)
  12,13c12,13
  <         rsa>=3.1.2,<=4.5.0; python_version=='2.7'
  <         rsa>=3.1.2,<4.8; python_version>'2.7'
  ---
  >         rsa>=3.1.2,<4.9; python_version=='2.7'
  >         rsa>=3.1.2,<4.9; python_version>'2.7'
  66,67c66,67
  <     'rsa>=3.1.2,<=4.5.0; python_version=="2.7"',
  <     'rsa>=3.1.2,<4.8; python_version>"2.7"',
  ---
  >     'rsa>=3.1.2,<4.9; python_version=="2.7"',
  >     'rsa>=3.1.2,<4.9; python_version>"2.7"',

Comment 14 fednuc 2021-12-08 13:02:36 UTC
Should have said that the above is for Fedora 34, sorry. The spec lines for F35/F36 are as follows, so do (currently) fix the issue, but still have the over-generality issue (as do a bunch of the other sed lines):

  # https://bugzilla.redhat.com/show_bug.cgi?id=1854288
  sed -i s/4.8/4.9/g setup.py
  sed -i s/4.8/4.9/g setup.cfg

Comment 15 Gwyn Ciesla 2021-12-09 14:34:53 UTC
I agree that it's problematic; I was present when I started working on these packages and I didn't want to radically disrupt things at the time. Your solution is cleaner; patching doesn't work well as these files change often.

Comment 16 Fedora Update System 2021-12-15 02:12:47 UTC
FEDORA-2021-66cfd01562 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.