On 1/30/20 8:39 AM, Miro Hrončok wrote:
On 30. 01. 20 16:32, Orion Poplawski wrote:Folks -Looks like RHEL 8.2 will have python 3.8 in addition to python 3.6. Fromthe 8.2 beta: Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs) Name Stream Profiles Summary python27 2.7 [d][e] common [d] Python programming language, version 2.7 python36 3.6 [d][e] build, common [d] Python programming language, version 3.6 python38 3.8 [d][e] build, common [d] Python programming language, version 3.8 Currently, %python_pkgversion is set to 3 in /usr/lib/rpm/macros.d/macros.python-srpm from python-srpm-macros. python3-devel is still provided only by python36-devel, so presumably allEPEL8 python packages will continue to be built against python 3.6. But Iimagine that people will soon be asking for python 3.8 versions of EPEL packages. How can we provide those? Does this have to be done in somemodular fashion - which seems to come back to the discussion of whether or not every package has to become its own module or whether to group them togethersomehow. Or since both python modules are "default" modules and we caninstall both python36-devel and python38-devel at the same time, perhaps we can define the python3_other* macros again for python38 and just go that way?Thoughts?The idea is that the versions fo stuff we build in RHEL for different python versions is different and I'd like to keep that idea in EPEL as well. Building a python38-foo package from it's own spec should work as follows:BR python38-rpm-macros BR python38-devel BR python38-bar etc... Regular specfile follows.You can even have a single specfile that build for different Python version based on local override of %python_pkgversion in the buildroot.Building both versions from single spec file---single build would require a new set of macros, yes (or hardcoding stuff). However I'd not call them python3_other* unless you want to end up with python3_other_other* the next time this happens.
This along with some more info from rhel 8.2 beta yields more questions for me. While I do agree that building the python38 packages from separate specs probably is the best route (biggest reason being it allows for updating of individual module versions) I'm hoping we can brainstorm ways to make this less onerous on individual packagers.
Looks like python38-devel is a module in RHEL 8.2 that provides a bunch of stuff needed for building modules (python38-devel, python38-pytest, etc):
Red Hat CodeReady Linux Builder Beta for RHEL 8 x86_64 (RPMs) Name Stream Profiles Summarypython38-devel 3.8 [e] Python programming language, version 3.8
Since this isn't a default module, does this again mean the python38 packages in EPEL 8 need to be modules as well? Or can we provide a buildroot that enables this module?
My current pie-in-the-sky idea is that we could do:- create a epel8-python38 branch for all of the python-* packages with epel8 branches. - epel8-python38 buildroot would enable python38-devel and install python38-rpm-macros and define python3_pkgversion to 38. - This would imply an epel8-python38 repo. It's possible that some packages from epel8-python38 wouldn't be able to be installed unless the python38-devel module was enabled. - This might lead to an explosion of repos if we try to work around other modules in RHEL8 like this (php 7.3, perl, ruby 2.6)
Otherwise I think we will need python38 packages in EPEL8 to be modular. If the module route is the way to go, I really do think that we should try to not have every package be its own module, though the other extreme (all packages in one module) probably is untenable as well. In any case, this will require a lot more coordination among packagers (not necessarily a bad thing).
Thoughts? Plans? -- Orion Poplawski Manager of NWRA Technical Systems 720-772-5637 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane orion@xxxxxxxx Boulder, CO 80301 https://www.nwra.com/
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ epel-devel mailing list -- epel-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to epel-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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/epel-devel@xxxxxxxxxxxxxxxxxxxxxxx