qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DRAFT PATCH 000/143] Meson integration for 5.2


From: Daniel P . Berrangé
Subject: Re: [DRAFT PATCH 000/143] Meson integration for 5.2
Date: Fri, 7 Aug 2020 10:18:41 +0100
User-agent: Mutt/1.14.5 (2020-06-23)

On Fri, Aug 07, 2020 at 11:06:55AM +0200, Thomas Huth wrote:
> On 07/08/2020 11.02, Paolo Bonzini wrote:
> > On 07/08/20 10:49, Peter Maydell wrote:
> >>> This the more or less final version of the Meson conversion.  Due to
> >>> the sheer size of the series you have been CCed only on the cover
> >>> letter.
> >>
> >> Does this work with actually-released versions of Meson yet?
> >> I am still not very enthusiastic about the prospect of having
> >> to carry around an entire build system in a submodule. That
> >> still seems to me to be living closer to the bleeding edge
> >> than I would like...
> > 
> > Yes it works with 0.55.0, with only a few warnings about possible future
> > incompatibility.  Those will be fixed in 0.56.0, where the feature was
> > stabilized without introducing any incompatibility.
> > 
> > Carrying around Meson in a submodule was mostly done to let QEMU build
> > transparently on older distros.  Removing it is easy (though it would
> > involve modifying the docker files to install the latest meson, so
> > whatever you throw out of the door comes back through the window).
> 
> From my point of view, we should keep the meson submodule at least 'till
> spring next year - then we'll remove support for RHEL7 according to our
> support policy. Hopefully the other distros will have a recent version
> of Meson at that point in time.

I very much doubt that will be the case. None of the distros rebase
meson in their stable streams. Given our targetted platforms, it is
going to be many years (3-4 years) before Meson is present in all the
platforms we target.

This is not the end of the world, as even 3-4 years is short term in
the overall lifetime of QEMU going into the future. Also not exactly
worse than bundling all the other stuff we bundle for years. If itis
a problem, then perhaps we can finally start shipping a 'qemu.tar.gz'
with no bundling at all, and a 'qemu-bundled.tar.gz' with all the
3rd party stuff  added.


We can, however, expect the distros to have new enough ninja.

If we bundle Meson, there's a risk that we see a new shiny feature
in next meson, and bump our sub-module to the next release. And
again. And again. And again. If we do that we'll never get to a
place where we can rely on distro Meson. That will be bad.

So I think we need to be very mindful of this and strongly resist
the urge to further increase our min meson version in future.


FWIW, for libvirt we decided that despite lack of distro support,
there was not a compelling reason to bundle meson, because it is
really trivial for users to update. e.g. just "pip install".

   pip install meson --user
   meson build
   ninja -C build

(possibly need to set $PATH if you don't already have $HOME/.local/bin
in your $PATH).


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]