qemu-devel
[Top][All Lists]
Advanced

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

Re: deprecation of in-tree builds


From: Daniel P . Berrangé
Subject: Re: deprecation of in-tree builds
Date: Mon, 30 Mar 2020 18:36:17 +0100
User-agent: Mutt/1.13.3 (2020-01-12)

On Mon, Mar 30, 2020 at 07:29:55PM +0200, Michal Suchánek wrote:
> On Mon, Mar 30, 2020 at 04:37:59PM +0200, Kevin Wolf wrote:
> > Am 30.03.2020 um 15:42 hat Daniel P. Berrangé geschrieben:
> > > On Mon, Mar 30, 2020 at 02:31:52PM +0100, Peter Maydell wrote:
> > > > On Mon, 30 Mar 2020 at 14:26, Markus Armbruster <address@hidden> wrote:
> > > > >
> > > > > Peter Maydell <address@hidden> writes:
> > > > >
> > > > > > AIUI from Paolo, the intention is to deprecate and eventually
> > > > > > stop supporting "in-tree" builds, so that the only option is
> > > > > > building in a separate build directory. I thought we should
> > > > > > probably mention that in the 5.0 changelog, so I wrote up some
> > > > > > text:
> > > > > >
> > > > > > https://wiki.qemu.org/ChangeLog/5.0#Build_Information
> > > > >
> > > > > Overdue.  Thanks for doing this!
> > > > >
> > > > > > Suggestions for changes/comments etc welcome.
> > > > >
> > > > > Looks fine to me.
> > > > 
> > > > Consensus in the thread seemed to lean towards having
> > > > the 'configure/make' runes auto-create a build directory;
> > > > if we want to do that we should probably not say anything in
> > > > the release notes, because we'll cause people to change
> > > > unnecessarily. Or at least have them say "We recommend
> > > > out-of-tree builds. In future we might make the commands
> > > > that currently do an in-tree build automatically create
> > > > and use a build directory for you." rather than a blanket
> > > > "we're going to drop this and you should change what you
> > > > do now".
> > > > 
> > > > Thoughts?
> > > 
> > > When the time comes to switch to Meson, we'll be forcing a
> > > separate build directory & that will also potentially involve
> > > a change in build instructions for users.
> > > 
> > > So if we expect Meson will arrive in QEMU soon (say before end
> > > of this year), then I'd try to keep changes related to make to
> > > the bare minimum, and have Meson switch as the "flag day" when
> > > developers are forced to adapt their build process. 
> > > 
> > > IOW, merely warn people that in-tree builds are deprecated and
> > > not tested by the project and enourage switching to out of tree
> > > builds. Dont try to magically create a separate build dir now.
> > 
> > If manually dealing with separate build directories is inconvenient
> > today, it will still be inconvenient with Meson, so this would mean
> > introducing the automatic directly creation together with the other
> > changes to enable Meson. Which is fine by me, as long as it is really
> > done when the external directory becomes mandatory, so that people won't
> > have to switch back and forth between directories.
> 
> From packaging point of view if something has auto* files the default is
> IIRC to do in-tree build with most package managers. You have to adjust
> manually for out-of-tree build. I am not sure what is state of Meson
> support in packaging scripts across distributions. Most likely it will
> not be picked automagically so you have to provide a custom build script
> anyway. Then it is the time to look up the canonical build instructions.

Many big projects already use Meson, including SystemD and GNOME for
example. So I'd expect all modern distros would have standard
"best practices" defined for building projects using Meson by now.

Doing an out of tree build for autotools based projects doesn't take
much adaption by distros either from what we got in terms of feedback
when libvirt made the switch to force out-of-tree.

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]