[Libosinfo] [osinfo-db-tools PATCH v2 00/16] Add support to meson build system

Fabiano Fidêncio fidencio at redhat.com
Tue Jul 9 10:47:28 UTC 2019


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

- a last release with autotools:
  - I'd like to have a last release with autotools, including some
    patches that are still pending review (as the ones using libsoup
    instead of gvfs);

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

Fabiano Fidêncio (16):
  tests: Unset OSINFO_LOCAL_DIR envvar
  util: Indent includes/defines
  cfg.mk: Remove exclude_file_name_regexp--sc_preprocessor_indentation
  cfg.mk: Remove exclude_file_name_regexp--sc_prohibit_strcmp
  cfg.mk: Remove exclude_file_name_regexp--sc_bindtextdomain
  maint.mk: Update to the latest gnulib version
  tools: Don't import config.h
  Add support to meson build system
  spec: Adapt to use meson
  prepare-release: Remove non-valid configure options
  prepare-release: Adapt to use meson
  Drop autotools support
  Support `make syntax-check` without Makefile
  Move files needed for `make syntax-check` to build-aux
  meson: Add ninja syntax-check
  prepare-release: Add `ninja syntax-check`

 Makefile.am                          |  48 ----
 GNUmakefile => build-aux/GNUmakefile |  32 +--
 cfg.mk => build-aux/cfg.mk           |  11 +-
 build-aux/dist.sh                    |  11 +
 maint.mk => build-aux/maint.mk       | 411 +++++++++++++++++----------
 build-aux/mktempd                    | 135 ---------
 build-aux/syntax-check               |   5 +
 configure.ac                         |  89 ------
 docs/Makefile.am                     |   2 -
 m4/libosinfo-compile-warnings.m4     | 135 ---------
 m4/manywarnings.m4                   | 245 ----------------
 m4/warnings.m4                       |  79 -----
 meson.build                          | 221 ++++++++++++++
 mingw-osinfo-db-tools.spec.in        |  14 +-
 osinfo-db-tools.spec.in              |  17 +-
 po/Makevars                          |  78 -----
 po/meson.build                       |   2 +
 prepare-release.sh                   |  84 ++----
 tests/Makefile.am                    |  30 --
 tests/meson.build                    |  21 ++
 tests/test_osinfo_db_path.py         |   4 +-
 tools/Makefile.am                    |  53 ----
 tools/meson.build                    |  97 +++++++
 tools/osinfo-db-export.c             |   2 -
 tools/osinfo-db-import.c             |   2 -
 tools/osinfo-db-path.c               |   2 -
 tools/osinfo-db-util.c               |   2 -
 tools/osinfo-db-util.h               |   6 +-
 tools/osinfo-db-validate.c           |   2 -
 29 files changed, 665 insertions(+), 1175 deletions(-)
 delete mode 100644 Makefile.am
 rename GNUmakefile => build-aux/GNUmakefile (85%)
 rename cfg.mk => build-aux/cfg.mk (94%)
 create mode 100755 build-aux/dist.sh
 rename maint.mk => build-aux/maint.mk (83%)
 delete mode 100755 build-aux/mktempd
 create mode 100755 build-aux/syntax-check
 delete mode 100644 configure.ac
 delete mode 100644 docs/Makefile.am
 delete mode 100644 m4/libosinfo-compile-warnings.m4
 delete mode 100644 m4/manywarnings.m4
 delete mode 100644 m4/warnings.m4
 create mode 100644 meson.build
 delete mode 100644 po/Makevars
 create mode 100644 po/meson.build
 delete mode 100644 tests/Makefile.am
 create mode 100644 tests/meson.build
 delete mode 100644 tools/Makefile.am
 create mode 100644 tools/meson.build

-- 
2.21.0




More information about the Libosinfo mailing list