[libvirt] [dbus PATCH] build: convert to Meson/Ninja build system

Fabiano Fidêncio fidencio at redhat.com
Tue Sep 17 23:22:21 UTC 2019


On Tue, Sep 17, 2019 at 8:17 PM Pavel Hrdina <phrdina at redhat.com> wrote:
>
> On Tue, Sep 17, 2019 at 06:53:30PM +0200, Fabiano Fidêncio wrote:
> > On Tue, Sep 17, 2019 at 5:22 PM Pavel Hrdina <phrdina at redhat.com> wrote:
> > >
> > > Meson build system is simple and quick compared to Autotools and it's
> > > able to fully replace our Autotools usage.  There are few drawbacks as
> > > it's a fairly new build system, it requires Python 3.5 and Ninja 1.5.0,
> > > it's still evolving and the user base is not that large and there were
> > > some tweaks required to achieve the same functionality.
> > >
> > > However, there are benefits, the configure and build time is way shorter
> > > and build definition files are more readable and easier to maintain.
> >
> > Hmm. I really would prefer smaller patches.
> > - Add meson;
> > - Drop autotools;
> > - Change spec files;
> > - ...
>
> I was considering it but to me personally the whole switch in single
> patch looked fine as there is not that much of a code to add/remove.
> In addition it's easier to spot if something was not converted, but
> I can split as I don't care that much.

I don't have any strong opinions here either. So, just leave it as it is.

>
> > I didn't go through the patch, will do that in the next days ... but a
> > few things should be considered here:
> > - meson >= 0.49.0 basically means the project won't be built on Debian
> > < 10, Ubuntu < 19.04 ... which may be a problem for the project, if
> > you're following libvirt supported distros;
>
> Debian 9 has meson 0.37.1 so yes, this will mean you cannot build
> upstream libvirt-dbus using distribution packages, but there is
> Python3.5 so the possible workaround is to install meson using pip.
>

We don't packages which do not officially come with the distros in
libvirt-jenkins-ci.
I sincerely am fine dropping the support for old systems (I just did
the same for osinfo-db-tools and libosinfo). However, this is a
libvirt project and I'll leave for libvirt maintainers to decide what
to do.

> The same applies to Ubuntu and CentOS 7 as well.  There is also a
> possibility to bundle meson together with our projects but IMHO
> installing meson using pip in user mode is a good enough workaround
> if someone is crazy enough to run upstream code on these old
> distributions.
>
> > - please, take a look at the work done on libvirt-jenkins-ci and try
> > to adapt this one to follow the targets we have there;
> >   - It'll force the addition of a `ninja syntax-check`, instead of
> > having the syntax-check as part of the tests;
>
> This is an intentional change to run syntax-check tests for dist target
> as well, but it might be possible to configure it somehow.  Anyway, I
> would rather prefer to run syntax-check when running ninja dist than
> having it as a separate target.

osinfo-db-tools has it, libosinfo has it, libvirt-jenkins-ci uses it.
This is a pattern already being used and here I have a strong
preference for not changing the pattern if we can easily adapt to it.

>
> >
> > Again, I'll carefully go through this patch in the next days.
>
> Thanks, I'll fix the issues pointed out by Jano and send a link to
> repository with the changes.

Cool, looking forward for the link.




More information about the libvir-list mailing list