On Wed, Sep 18, 2019 at 1:22 AM Fabiano Fidêncio <fidencio(a)redhat.com> wrote:
On Tue, Sep 17, 2019 at 8:17 PM Pavel Hrdina <phrdina(a)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(a)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