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