Neal Gompa píše v So 26. 12. 2020 v 10:21 -0500:
On Sat, Dec 26, 2020 at 10:02 AM Ben Greiner <code@bnavigator.de> wrote:
my apologies in advance if this mail reaches you up to three times, but in my opinion the topic is relevant and important to reach people subscribed to all three mailing lists.
First of all, I would like to thank Ben for the gigantic amount of work he spent helping to make this working. Understanding our packaging macros is feat which is not simple, and he made it working mostly on his own. THANK YOU!
I'm still not convinced this is a good idea. This fundamental change to how the Python stack works means that we will have to deal with this for all the different modules, and there are packages that deliberately don't use the "singlespec" model because it doesn't work for them (e.g. they don't use setuptools or they are an application).
What is the compelling reason to fully build out the stack this way?
What Ben was saying: we have just too many stakeholders in Tumbleweed. We market OpenSUSE as “The makers’ choice for sysadmins, developers and desktop users.”, but that's slightly disingenuous because each of these groups wants something different. Let me consider these examples: * I would love to have well-tested python3* package released on the same day as it is released upstream. Not as the primary interpreter of Python, but at least with minimal set of packages (at least setuptools, pip, and pytest). That would require to have separate Staging for it or perhaps even beta version in Factory, and ability to keep those packages separate from the normal primary interpreter. We cannot do this now, obviously, because even now not all python-* packages are well working with 3.8, where the current wave of removing long-deprecated features started (the trend continues with 3.9, and it will certainly continue in 3.10). We were forced in past to patch in hurry all those packages ourselves, but the result (even after testing with full d:l:p of packages) was that every major release was minor disaster in Factory. * Obviously most people don't care about version of Python interpreter that much and they just want something reasonably recent and reasonably stable. Python 3.8 is probably the version for them at this moment. * There is however also small group of people who grumble that Factory goes too fast, and they have some good reasons why they want the oldest upstream supported version (3.6 at the moment). In OpenSUSE these are just minor grumblings, in SLE there are our customers who are paying good money for having these older versions. The same technology of using parallel versions in OpenSUSE will be used in SLE (e.g., currently we have fully synchronized SPEC files of python36 in SLE-12, SLE-15, and in Tumbleweed). * OpenSUSE is currently as far as I know the only major Linux distribution which doesn’t have PyPy at all (the package in https://build.opensuse.org/package/show/devel:languages:python:Factory/pypy3 has been broken for long time; anybody willing to pick up that challenge?). With the separate parallel packages we could put some good effort to package that as well without fear of breaking everything. * I don’t know, if it would be possible, but I still dream about having Jython as the equivalent Python interpreter (if they ever manage to have Python 3 version). This new version of packaging macros allows us to support (to some extent) these different groups at the same time. Without this substantial investment in packaging macros further development of Python packaging in Factory would be severely hampered. Thank again to Ben, and Merry Christmas to all OpenSUSE friends of good will! Matěj -- https://matej.ceplovi.cz/blog/, Jabber: mcepl@ceplovi.cz GPG Finger: 3C76 A027 CA45 AD70 98B5 BC1D 7920 5802 880B C9D8 According to the Franciscan priest Richard Rohr, spirituality is not for people who are trying to avoid hell; it is for people who have been through hell. In many ways, spirituality is about what we do with our pain. And the truth is, if we don't transform it, we will transmit it. -- Al Gustafson