
The second time around I will not post the complete series as it doesn't make that much sense. Instead I'll post a diff between the two series to provide the changes between these series together with links to both versions pushed to gitlab repository. Patches for v2 are available from my gitlab repository: git clone -b meson https://gitlab.com/phrdina/libvirt.git and link to gitlab pipeline: https://gitlab.com/phrdina/libvirt/-/pipelines/172042918 Patches for v1 are available from different branch 'meson-v1' in the same repository. You can get the attached diff by running: git diff meson-v1 meson During review we discovered some areas that should be improved once the meson rewrite is merged into libvirt master: - As of June 2020 we can drop library check for yal2 and use pkg-confg only check because openSUSE Leap 42.3 is no longer supported by libvirt and latest SLES 15 was released on 2018-07-16. - It was suggested to drop README file which is just a link to README.rst and with meson no longer required as it was with autotools. - There is a warning while building libvirt: ../tests/qemuxml2xmltest.c: In function ‘mymain’: ../tests/qemuxml2xmltest.c:132:1: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 132 | mymain(void) | ^~~~~~ - Review discovered that with meson we no longer link with libnl-route-3. Meson links only with libraries that are actually required and we never used any symbol from this library so it can be dropped. - During review it was pointed out that we can refactor how meson generates html files by removing meson-html-gen.py and moving the logic directly to meson. - There was a question why we install augeas test files so we should figure out if we need to install them or it can be dropped. Here is the list of main changes done in v2, I will not list all of them as it can be easily checked in the diff: - I've reordered and changed the patches to not break git bisect. Now patch 'meson: remove automake specific directives' doesn't remove BUILD_SOURCES because that would break running 'autogen.sh'. Patch 'meson: m4: drop not relevant m4 files' was renamed to 'meson: drop remaining m4 helper files' and moved at the end of the series as it would again break running 'autogen.sh'. Patch 'meson: tests: remove '.libs' from all relevant paths' was moved in the middle of the series before adding 'src' directory into meson because it would break running 'make check'. To not break git bisect we agreed that meson will fail with error until the whole rewrite is done and we will have a temporary option 'force_incomplete_build' that will skip the error and force to run meson setup. I've added a new patch 'meson: add driver_remote option only into meson_options.txt' to break circular dependency between driver_remote and libssh, libssh2, sasl and xdr options to make meson build -Dforce_incomplete_build work properly. - We started running tests on FreeBSD which discovered an issue with meson build. Meson defines _FILE_OFFSET_BITS=64 all the time so I had to introduce a patch that handles this issue: 'meson: tests: virmockstathelpers: replace check for _FILE_OFFSET_BITS' - All scripts except for meson-python.sh wrapper which sets environment variables were converted from shell to python. - Removed autoconf options debug_logs, default_editor and test_suite as we will not convert them to meson. - Introduced git_werror meson option to copy the behavior of --werror option from autotools. It's not the same as with autotools but it is a close compromise. - Fixed virt-aa-helper-test which had hard-coded path to compiled virt-aa-helper binary and that failed with meson. - Correctly replace all SYSCONFDIR and RUNSTATEDIR in man pages files. - Changed the way how we run syntax-check. Instead of having single target it is now part of meson test with suite label 'syntax-checl'. We will not define sytax-check tests if building from tarball, only if we are building from git. We use git to get list of files. - Fixed all issues discovered during review with linking binaries, missing docs and cpu_map files, typos, etc. - Meson cross compile configuration files were moved to libvirt-ci. Pavel