Overview

Request 1152941 revoked

- Build for Python 3.12 on Tumbleweed
- Bump django-requests-debug-toolbar


Markéta Machová's avatar

"I superseded the requests to only switch to python312 in the Tumbleweed clause." But it is not just for Tumbleweed, the clause also affects SLE-15-SP6 and derivatives. What maybe confuses you is that the logic was wrong before, in the %else clause there should have been python3. Could you just please copy the version logic from mailman? E.g. Tumbleweed python312, sle15.5 and newer python311 and older systems python3?


Georg Pfuetzenreuter's avatar

What about we make a "mailman-macros" (or similar) package and store the version logic in a single place instead of copy pasting things around?


Markéta Machová's avatar

hm, sounds like a good idea, but in the meantime Factory will stay broken. So I suggest to first rewrite it by hand and when it is fixed make a macro. The logic is implemented for instance here: https://build.opensuse.org/request/show/1152926


Benjamin Greiner's avatar

There is really no reason to jump to the newest supported python and break everything else. Keep it simple and stay with python3 for TW and the SLE15 python module for 15x. Both is python 3.11 right now.


Georg Pfuetzenreuter's avatar

I wish. The problem is that Mailman was bumped to Python 3.12, causing Postorius, HyperKitty, and others to break (sometimes only at runtime!). All packages in the Mailman stack need to be built against the same Python version, otherwise the stack is broken.


Benjamin Greiner's avatar

Yes and that was a big mistake. Take everything back to the primary python and make sure through proper requirement definitions that they are all on the same python at install and runtime.


Georg Pfuetzenreuter's avatar

I don't think that's my call, I did not opt for the newer version or know why it was chosen, I just submitted my remediation for the broken stack.


Georg Pfuetzenreuter's avatar

I noticed the new django-requests-debug-toolbar version did not resolve in my project, because it did not build for 3.12 unless I remove %{?sle15_python_module_pythons} from it: https://build.opensuse.org/package/rdiff/openSUSE:infrastructure:mailman3/python-django-requests-debug-toolbar?linkrev=base&rev=2. With that, Postorius builds fine against it: https://build.opensuse.org/package/show/openSUSE:infrastructure:mailman3/python-postorius. I guess it will magically work in devel:languages:python:mailman?


Markéta Machová's avatar

on Factory yes, but it should be kept in sync also with the mailman version login (line 50 in https://build.opensuse.org/package/view_file/devel:languages:python:mailman/python-mailman/python-mailman.spec?expand=1)


Markéta Machová's avatar

but thank you for the fix :)


Georg Pfuetzenreuter's avatar

Sorry, could you elaborate on the mailman version login ? :-) Line 50 there seems to just reference Tumbleweed.


Markéta Machová's avatar
%if 0%{?suse_version} >= 1600
# Newest python supported by mailman is Python 3.12, but we have just Python 3.11 in SLE
# See https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/docs/NEWS.rst
%define pythons python312
%define mypython python312
%define mypython_sitelib %{python312_sitelib}
%else
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500
%define pythons python311
%define mypython python311
%define mypython_sitelib %{python311_sitelib}
%else
%{?!python_module:%define python_module() python3-%{**}}
%define pythons python3
%define mypython python3
%define mypython_sitelib %{python3_sitelib}
%endif
%endif

In words, we use python312 on Tumbleweed, python311 on newer SLE-based systems and python3 on old systems.


Markéta Machová's avatar

the old systems probably don't matter, but there is python311 stack (not python312, since it didn't exist at the time of designing) in the new SLE


Georg Pfuetzenreuter's avatar

I understand, so I should keep python311 if not Tumbleweed?


Andreas Schneider's avatar

Yes, there are people (like me) who use this in production on SLE15 or Leap 15.5. You're breaking those installations.

Here is a repo building for 15.5: https://build.opensuse.org/project/show/home:gladiac:mailman

And I just noticed that someone broke Hyperkitty.


Georg Pfuetzenreuter's avatar

Now you know my frustration when someone breaks the Mailman stack for Tumbleweed in Factory. ;-) I superseded the requests to only switch to python312 in the Tumbleweed clause. Please check.

Request History
Georg Pfuetzenreuter's avatar

crameleon created request

- Build for Python 3.12 on Tumbleweed
- Bump django-requests-debug-toolbar


Georg Pfuetzenreuter's avatar

crameleon revoked request

openSUSE Build Service is sponsored by