On 18. 03. 22 21:34, Neal Gompa wrote:
On Fri, Mar 18, 2022 at 4:28 PM Miro Hrončok <mhron...@redhat.com> wrote:
On 16. 03. 22 17:12, Tomáš Orsava wrote:
Hi Python-devel,
we are considering splitting the alternative Python versions from a
single-package format (e.g. python3.11) to multiple subpackages (e.g.
python3.11{,-libs,-devel,-tkinter,-test,-idle}). We do this already with the
main `python3` package: it requires less disk space to install and speeds up
download times, because you can chose which bits are important to you. For
example, if you decide you don't need python3-tkinter, you save yourself ~18
dependent packages leading to a total savings of ~20MBs, while skipping
python3-test saves you further ~10MBs.
What do you think?
The push came from [BZ#2063227] where the reporters would welcome to have a
smaller python3.11 package for containers and VMs for local testing, CI
purposes and more.
This would be a larger amount of work, so our initial reaction was hesitant.
We'll have to change the already complicated spec file %bcond logic, and adjust
the ecosystem to work with the new subpackages. For example tox would need to
Recommend `python3.11-devel`, as `python3.11` would bring in only the bare
interpreter. And of course a thorough integration testing would be in order.
However, we already do separate subpackages for alternative stacks in
Enterprise Linux (CentOS /Stream, RHEL, EPEL) and as a general rule we consider
it good to have fewer differences between Fedora and EL. This helps to test
things earlier, and there are fewer surprises in user experience. So perhaps
the effort in doing this would be well spent.
To cut down on the amount of work, we're considering changing only the
`python3.11` package (and any future newer versions) right now. If later we
consider it worth it, we could switch the older alternative interpreters as
well, or we might let them die out as they are.
We're currently in the brainstorming stage, so you're feedback is welcome.
[BZ#2063227] https://bugzilla.redhat.com/show_bug.cgi?id=2063227
Note that I was originally against this because I though it would make things
more complex/complicated and the "flat" Python packages are simple.
However, we build the "flat" package vs. the "split" package based on a %bcond
-- the spec is needlessly complex/complicated already and this could make it
much simpler (so it would no longer resemble a nuclear power plant).
My only remaining fear was that it will be a huge amount of work across all our
interpreters, but the idea to only do it in 3.11+ for now is intriguing. (In
fact, I'd do it in 3.10+ so when we update main python to 3.10 in Fedora 37,
Python 3.10 remains split.)
Hence, I am in favor of this idea. Let's see how much cleanup this can bring to
the spec file and how much integration work would be needed (we use reverse
weak deps in tox, so it should be painless).
Thanks, Tomáš, for writing it down.
I'm in favor of it myself as well. I brought it up a while back on
this list last year even:
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/WNNAZWWHDU7LE4EJBDKREJO5FJQ6SXRX/
So I'd love to see this happen.
I am quite convinced about the subpackages split, but I haven't thought about
(not) providing python(abi). I don't want packages that fail to rebuild with
new Python version to depend on the older one.
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org
Do not reply to spam on the list, report it:
https://pagure.io/fedora-infrastructure