All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "John Snow" <jsnow@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	"Daniel Berrangé" <berrange@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Akihiko Odaki" <akihiko.odaki@daynix.com>
Subject: Re: Build platform guarantees, docs, tests, and snakes in the garden
Date: Thu, 03 Jul 2025 10:57:26 +0200	[thread overview]
Message-ID: <87sejd4pop.fsf@pond.sub.org> (raw)
In-Reply-To: <CABgObfYEJ9Xu4b6zGp8E-vDsy7DqYHRrn10VBqjZaTgymmrWpQ@mail.gmail.com> (Paolo Bonzini's message of "Wed, 2 Jul 2025 15:24:49 -0400")

Paolo Bonzini <pbonzini@redhat.com> writes:

> Il mer 2 lug 2025, 15:24 Paolo Bonzini <pbonzini@redhat.com> ha scritto:
>
>>
>>
>> Il mar 24 giu 2025, 02:45 Markus Armbruster <armbru@redhat.com> ha
>> scritto:
>>
>>> > ... I think I value this a bit higher than Markus, but not really
>>> > because of offline builds.  Rather, keeping the "accepted" key lower (i.e.
>>> > supporting the packaged sphinx on a wide range of distros) makes it easier
>>> > to bump the "installed" key when needed, as in this failure to run 5.3.0
>>> > under Python 3.13.
>>>
>>> Showing my ignorance again...  I don't understand how keeping "accepted"
>>> lower helps.
>>>
>>
>> Because it makes it easier to use distro Python. If distro Python is
>> <accepted,
>>
>
> Sorry: if distro *sphinx* is <accepted.
>
> Paolo
>
>> configure's will try to use the "installed" version. If that version in
>> turn is too new for distro Python, you're screwed. So you want to be as
>> conservative as needed for accepted, but not more.

So, we get into trouble when accept the distro versions for some, but
not all depenencies, and end up with a mix of "accepted" and "installed"
versions that doesn't play together.

Ways to avoid this scenario:

* Ensure the "installed" version play with all the "accepted" versions
  of everything else.  I.e. as we move "installed" up, "accepted" needs
  to move up as well.

* We keep "accepted" for everything low enough so that we don't fall
  back to "installed" on any distro we care about.  Feels brittle.

Any others?

>> Regarding fool or pioneer: for sure we're extraordinarily kind towards
>> distros. To some extent we have to do that because of 1) the possible
>> competition of other VMMs that completely ignore distros (e.g. because they
>> just use cargo)—packaging is an area where C still has an edge and we want
>> to keep that edge 2) we're an infrastructure component that can't just tell
>> users to grab a flatpak.
>>
>> The distro policy (mostly conceived by Dan) has served us well, with only
>> small adjustments needed to have newish version of Meson/Rust(*), and
>> non-prehistoric versions of Python. I don't see a need to change it, since
>> at this point we have the tools needed to manage the complexity.

One of the "tools" being John Snow, I'm afraid.  Making the full Sphinx
version range work was impressive (and expensive!) work.  I take a
rather dim view on this kind of expensive heroics.  If John gets run
over by a bus, our hand may well be forced: I can't maintain the result
of his heroism, that's for sure.

>> Paolo
>>
>> (*) Most of the Rust issues would solve themselves by telling users of
>> Ubuntu 22.04 and Debian bookworm to install the upstream tool chain with
>> rustup instead of relying on distro rustc packages. Unlike Linux, which
>> uses unstable features, QEMU sticks to what's been stabilized and that
>> means newer releases sometimes.
>>
>> > This time there was a version that works on both the oldest and newest
>>> Python that we support, but there may not always be one because sphinx is
>>> all too happy at dropping support for EOL'd versions of Python.
>>>
>>> Pretty strong hint we shouldn't try to support EOL'd versions of Python
>>> either.
>>>
>>> > Paolo
>>> >
>>> >> Before I throw my weight behind any given option, I just want to know
>>> >> what we consider our non-negotiable obligations to be.
>>> >>
>>> >> Thanks,
>>> >> --js



  reply	other threads:[~2025-07-03  8:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-05 19:35 Build platform guarantees, docs, tests, and snakes in the garden John Snow
2025-06-13  5:21 ` Akihiko Odaki
2025-06-17 12:34 ` Markus Armbruster
2025-06-18  7:53 ` Paolo Bonzini
2025-06-24  6:45   ` Markus Armbruster
2025-06-25 20:42     ` John Snow
2025-06-26  6:23       ` Markus Armbruster
2025-07-02 19:24     ` Paolo Bonzini
2025-07-02 19:24       ` Paolo Bonzini
2025-07-03  8:57         ` Markus Armbruster [this message]
2025-07-07  9:10       ` Daniel P. Berrangé
2025-07-09 18:39         ` John Snow
2025-07-09 19:40           ` Paolo Bonzini
2025-07-09 20:26             ` 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=87sejd4pop.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 \
    /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.