Skip to content

WIP: Add support to meson build system

Fabiano Fidêncio requested to merge fidencio/osinfo-db-tools:wip/meson into master

The following patch series:

  • Add suppor to meson build system;
  • Drop support to autotools build system;

If we decide to go for it, there's still work to be done in libvirt-jenkins-ci as it has to have meson support added there.

Changes since v2: https://www.redhat.com/archives/libosinfo/2019-July/msg00041.html

  • Added libsoup as dependency
  • Included only osinfo-db-tools.spec into the tarball, so rpmbuild -ta $tarball.tar.xz would still work
  • Rebased atop of master after the release
  • Bumped the version due to the release

Changes since v1: https://www.redhat.com/archives/libosinfo/2019-June/msg00063.html

  • Improve commit message in the patch dropping config.h
  • Some cleanups on cfg.mk were done;
    • In order to do so, a patch indentng includes/defines in util.h was needed;
  • Updated maint.mk in order to avoid doing de s/$(SED)/sed hack;
  • Added the .spec files to the generated tarball;
  • Don't purge the git checkout, just delete the build dir when running ./prepare-release;
  • Moved GNUmakefile, cfg.mk, and maint.mk to build-aux dir;
  • Introduced a new patch dropping the non-valid configure options, as it makes clear that we're not removing them just because we are switching to meson;

A few points that still have to be considered:

  • meson version in the major distros:

    • Fedora 29 - 0.50.0
    • Fedora 30 - 0.50.1
    • Debian 9 - 0.37.1
    • Debian 10 - 0.49.2
    • OpenSUSE 15.1 - 0.51.0
    • Ubuntu 18.04 - 0.45.1-2
    • Ubuntu 18.10 - 0.47.2
    • Ubuntu 19.04 - 0.49.0
    • FreeBSD - 0.51.0
      • This is what internet returns me as part of devel/meson
    • CentOS 7 - not present
      • EPEL: 0.47.2 If we do the switch, we'd stop building on:
    • Debian 9 & older;
    • Ubuntu 18.10 & older;
    • EL 7 & older;

    For osinfo-db-tools, I truly believe it's not a big deal, as it'd be for more important packages (as libvirt).

  • meson support on libvirt-jenkins-ci:

    • I'll happily work on that before having these patches merged, and this is the reason why this branch is still marked as WIP. However, reviews are welcome.
  • can we have a more generic/simplified version of GNUmakefile & friends?

    • That would take me some considerable amount of time to do and, although I'm not discarding this for the future, it's not something I'd like to consider for now.

Merge request reports