All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: John Snow <jsnow@redhat.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	"Daniel Berrangé" <berrange@redhat.com>,
	"Akihiko Odaki" <akihiko.odaki@daynix.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>
Subject: Re: Python ecosystem versions overview
Date: Wed, 09 Jul 2025 13:06:26 +0200	[thread overview]
Message-ID: <87bjptpqrx.fsf@pond.sub.org> (raw)
In-Reply-To: <CAFn=p-bee25L9Zqyv=LjpCw4WMHqCUAcMaBg0Lbu3gUU6cuakQ@mail.gmail.com> (John Snow's message of "Tue, 8 Jul 2025 21:01:07 -0400")

John Snow <jsnow@redhat.com> writes:

> On Tue, Jul 8, 2025, 7:23 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>> On 7/8/25 22:36, John Snow wrote:
>> > centos_stream_9     3.9.23   21.3.1  53.0.0      3.4.3   BaseOS, CRB
>>
>> Ok, so the lowest version of Sphinx (3.4.3) is currently used for CentOS
>> Stream 9.  It's supported for roughly 2 more years, until 12.0.
>>
>
> Yep. I am thinking however that because 3.9 is soon to be EOL this autumn,
> it may become reasonable to start requiring newer Python interpreters for
> this platform as well. They *are* available.
>
> I won't do it without a reason, but I think this may be a reasonable policy
> moving forward- If your platform is otherwise supported by our policy but
> ships a version of Python from more than five years ago (aka is EOL
> upstream), you *may* be required to install a newer, optional version (if
> and only if one is reasonably available from official distro repositories.)
>
> In general, this should have little to no impact except that isolated,
> offline builds (a la rpmbuild) may fail to produce documentation unless
> special considerations are taken for the build environment (namely, sphinx
> needs to be loaded for the newer interpreter).
>
> I think this is a reasonable compromise. If distributions want to package
> bleeding edge QEMU with five-years-old dependencies, they can expect to
> face *some* hurdles, and figuring out how to get sphinx as a builddep to
> build an optional component is not entirely unreasonable.

I agree.

Moreover, I can't see why we should invest into making such packaging
easy without a shred of evidence for anyone actually doing it.

> TLDR - I pledge to support any platform covered by our promise for
> building, but testing and documentation *requires* a non-EOL interpreter.
> This should have little to no effect for developers or users building from
> source or git, but has minor drawbacks for downstream maintainers of
> enterprise distributions that may attempt to backport bleeding edge QEMU
> versions.
>
>
>> > opensuse_leap_15_6  3.6.15   20.0.2  44.1.1      2.3.1   updates/sle,
>>
>> We use the 3.11 runtime in the dockerfile, see
>> tests/lcitool/mappings.yml.  That is a bare minimum install, so
>> configure won't use the distro sphinx and instead use 5.3.0 from
>> pythondeps.toml.
>>
>
> Yep, this tool was made to show the platform defaults only for now. Maybe
> I'll add a "show first party backports" flag in the future, if anyone more
> than just my own personal self would find that useful. (Speak up if so.)
>
>
>> > main/oss
>> > pkgsrc_current      3.12.11  25.1.1  80.9.0      8.2.3   ---
>> > ubuntu_22_04        3.10.12  22.0.2  59.6.0      4.3.2
>> > jammy-updates/main, jammy/universe, jammy/main
>>
>> This is the second oldest version of Sphinx.
>>
>
> With us until 26.04, in about 0.75 years. This seems like a reasonable new
> minimum if we wanted to increase it, though that does artificially drop
> support for RHEL9/CentOS stream building documentation from source under
> rpmbuild.
>
> (FWIW I probably can continue to support sphinx 3.x for a little while, the
> code is gross but it does appear functional. The only thing we *need* to do
> is bump the preferred version, I think. This support generally comes at the
> expense of type checking support for the docs code, as it's so gross I
> couldn't get it to work from 3.x to 8.x inclusive.)

It's gross, it's functional, it's impressive in a "don't do this at
home, kids" way, and it comes with a big, red "John, help!"  button for
you to smash in case of trouble.  Because the few smart enough to be
able to maintain that code are almost certainly much too smart to be
willing to maintain that code.

[...]



  reply	other threads:[~2025-07-09 11:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-08 20:36 Python ecosystem versions overview John Snow
2025-07-08 23:23 ` Paolo Bonzini
2025-07-09  1:01   ` John Snow
2025-07-09 11:06     ` Markus Armbruster [this message]
2025-07-09 17:52 ` John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bjptpqrx.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=akihiko.odaki@daynix.com \
    --cc=berrange@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.