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

Fabiano Fidêncio fidencio at redhat.com
Wed Sep 18 15:40:06 UTC 2019


On Wed, Sep 18, 2019 at 1:22 AM Fabiano Fidêncio <fidencio at redhat.com> wrote:
>
> 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.

Just for the record, we had a face-to-face discussion about this and
agreement was to:
- Do not introduce the `syntax-check` target for libvirt-dbus;
- Patch osinfo-db-tools, (gtk-vnc,)? and libosinfo (depending on when
the code will be reviewed / merged) to remove the syntax-check target;
- Patch libvirt-jenkins-ci to remove the syntax-check target from the
meson jobs;

Best Regards,
-- 
Fabiano Fidêncio




More information about the libvir-list mailing list