Bug 1756217

Summary: Lower footprint of platform-python
Product: Red Hat Enterprise Linux 8 Reporter: Lukáš Zachar <lzachar>
Component: python3Assignee: Tomas Orsava <torsava>
Status: CLOSED ERRATA QA Contact: Lukáš Zachar <lzachar>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.1CC: cstratak, fedoraproject, mhroncok, pviktori, torsava, vstinner, yselkowi
Target Milestone: rc   
Target Release: 8.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python3-3.6.8-22.el8 Doc Type: No Doc Update
Doc Text:
This is about the internal platform-python-pip, not the user facing python3-pip, therefore I don't think we should document this.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:07:22 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 Lukáš Zachar 2019-09-27 06:16:22 UTC
Description of problem:

To make ubi8 image as small as possible and thus good choice for building own images on top we should get rid of unnecessary dependencies. 

One of such deps is probably pip (and friends) installed by platform-python.


Version-Release number of selected component (if applicable):
platform-python-3.6.8-15.el8


Additional info:
Discussion started in bug 1701286#c7

Comment 1 Tomas Orsava 2019-10-03 09:53:37 UTC
First we need to decide what dependencies from platform-python to drop (if any):
- 1.9M    platform-python-pip-9.0.3-15.el8.noarch.rpm
- 632K    platform-python-setuptools-39.2.0-5.el8.noarch.rpm

pip seems like an obvious candidate, as there are not that many packages that could possibly rely on it, and it's much larger. With setuptools I'd be hesitant.


And if we decide to drop dependencies, we should do it as soon as `rhel-8.2.0` branches are created and send a heads-up to rhel-devel mailing list, to give everyone plenty of time to react.

Comment 2 Miro Hrončok 2019-10-03 11:12:19 UTC
If we are worried about RPM packages which BuildRequire pip or setuptools but are not declaring that, this has a solution:

https://src.fedoraproject.org/rpms/python3/pull-request/128

Comment 3 Tomas Orsava 2019-10-03 11:21:14 UTC
(In reply to Miro Hrončok from comment #2)
> If we are worried about RPM packages which BuildRequire pip or setuptools
> but are not declaring that, this has a solution:
> 
> https://src.fedoraproject.org/rpms/python3/pull-request/128

I would say we're worried both that:
- the BuildRequires won't be there which will change the build, but the devel won't notice it (however, thanks to RPM diff, I think this is not as pressing)
- the Requires isn't there and the package will crash / miss-behave when used by the customer - this is the bigger issue, I think.

Comment 4 Miro Hrončok 2019-10-03 11:25:52 UTC
(In reply to Tomas Orsava from comment #3)
> - the BuildRequires won't be there which will change the build, but the
> devel won't notice it (however, thanks to RPM diff, I think this is not as
> pressing)
> - the Requires isn't there and the package will crash / miss-behave when
> used by the customer - this is the bigger issue, I think.

To clarify, https://src.fedoraproject.org/rpms/python3/pull-request/128 only solves the BuildRequires case.

Comment 5 Charalampos Stratakis 2019-10-08 13:38:17 UTC
From the python3 SPEC file:

RHEL8 was forked from F28 and thus required python3-setuptools/pip here
for the rewheel module to work. We've since backported the use of RPM
prepared wheels from F29+ into RHEL8, and thus this dependency isn't
strictly needed.

However, it is possible, that some packages in BaseOS actually depend on
setuptools/pip without declaring the dependency in their spec file. Thus
we're keeping these dependencies here to avoid the possibility of breaking
them.

Comment 11 James Cassell 2020-02-03 22:58:57 UTC
It's a good change, but I think it'd be better to drop even the Recommends unless there is system functionality that is enhanced/enabled by having this package present.  Seems like the packages actually depending upon this one should just Require it themselves.  Installed, it is 7.4 M on disk.

Comment 14 errata-xmlrpc 2020-04-28 16:07:22 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, 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-2020:1764