Bug 1701286
Summary: | Use RPM built wheels of setuptools and pip in Python's ensurepip | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Miro Hrončok <mhroncok> |
Component: | python3 | Assignee: | Charalampos Stratakis <cstratak> |
Status: | CLOSED ERRATA | QA Contact: | Lukáš Zachar <lzachar> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 8.1 | CC: | cstratak, hhorak, mhroncok, pviktori, torsava, yselkowi |
Target Milestone: | rc | ||
Target Release: | 8.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | python3-3.6.8-12.el8 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-11-05 22:03:43 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: | 1718031, 1718032, 1718033 | ||
Bug Blocks: | 1727309 |
Description
Miro Hrončok
2019-04-18 14:50:05 UTC
I propose that we do a slight adjustment for RHEL in regards to the wheel packages. As the python2 / python3 / (future) python38 / ... versions in RHEL8 should be independent, an update to setuptools/pip/wheel of one of them should not affect the others. Therefore I believe we should instead version the packages (e.g. python3-setuptools-wheel), and make one for each Python stack in RHEL8. This will also most likely necessitate a different file location, as `/usr/share/python-wheels/pip-19.0.3-py2.py3-none-any.whl` is not versioned either, and the files could clash. The modules make this indeed more complicated. I propose this path for modules: /usr/share/<module_name>-wheels/ E.g. /usr/share/python36-wheels/pip-19.0.3-py2.py3-none-any.whl Sounds good. Sounds good. This change has caused a noticeable increase in the size of the ubi8 base image. While I understand the reason for leaving Requires: platform-python-setuptools for platform-python, as many packages do rely on it at runtime, what would require pip at runtime that it too needs to be pulled in "just in case"? FWIW, as a point of reference in Fedora: $ dnf repoquery --whatrequires python3-pip --releasever=30 hatch-0:0.20.0-9.fc30.noarch mozilla-iot-gateway-addon-python-0:0.8.0-2.fc30.noarch parsero-0:0.81-12.fc30.noarch pipenv-0:2018.11.26-7.fc30.noarch python3-Lektor-0:3.0.1-6.fc30.noarch python3-django-markdownx-0:2.0.28-1.fc30.noarch python3-pipdeptree-0:0.13.1-3.fc30.noarch python3-pipdeptree-0:0.13.2-1.fc30.noarch python3-pypandoc-0:1.4-7.fc30.noarch python3-virtualenv-api-0:2.1.16-6.fc30.noarch thonny-0:3.1.1-1.fc30.noarch I don't think any of those are in RHEL, and if any are, it's certainly few enough to fix individually. (For comparison, python3-setuptools shows 384 reverse dependencies for F30.) If the Requires: platform-python-pip (which is by far the larger of the two) would be dropped from platform-python, that would help significantly with base image size. I've created bug 1756217 to discuss & fix size of platform-python dependencies. 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, 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/RHSA-2019:3520 |