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