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

Pavel Hrdina phrdina at redhat.com
Tue Sep 17 18:17:06 UTC 2019


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 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.

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.

> 
> 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.

Pavel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190917/aaf332c4/attachment-0001.sig>


More information about the libvir-list mailing list