[libvirt PATCH 350/351] meson: update .gitlab-ci.yml file

Pavel Hrdina phrdina at redhat.com
Thu Jul 16 09:59:46 UTC 2020


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 .gitlab-ci.yml                                | 57 ++++++++++---------
 ci/aarch64-linux-gnu.meson                    | 11 ++++
 ci/arm-linux-gnueabi.meson                    | 11 ++++
 ci/arm-linux-gnueabihf.meson                  | 11 ++++
 ci/cirrus/build.yml                           | 10 ++--
 ci/cirrus/libvirt-freebsd-12.vars             |  4 +-
 ci/cirrus/libvirt-macos-1015.vars             |  4 +-
 ci/containers/libvirt-centos-7.Dockerfile     |  2 +-
 ci/containers/libvirt-centos-8.Dockerfile     |  4 +-
 .../libvirt-centos-stream.Dockerfile          |  4 +-
 ...libvirt-debian-10-cross-aarch64.Dockerfile |  5 +-
 .../libvirt-debian-10-cross-armv6l.Dockerfile |  6 +-
 .../libvirt-debian-10-cross-armv7l.Dockerfile |  6 +-
 .../libvirt-debian-10-cross-i686.Dockerfile   |  5 +-
 .../libvirt-debian-10-cross-mips.Dockerfile   |  5 +-
 ...ibvirt-debian-10-cross-mips64el.Dockerfile |  5 +-
 .../libvirt-debian-10-cross-mipsel.Dockerfile |  5 +-
 ...libvirt-debian-10-cross-ppc64le.Dockerfile |  5 +-
 .../libvirt-debian-10-cross-s390x.Dockerfile  |  5 +-
 ci/containers/libvirt-debian-10.Dockerfile    |  4 +-
 ...ibvirt-debian-sid-cross-aarch64.Dockerfile |  5 +-
 ...libvirt-debian-sid-cross-armv6l.Dockerfile |  6 +-
 ...libvirt-debian-sid-cross-armv7l.Dockerfile |  6 +-
 .../libvirt-debian-sid-cross-i686.Dockerfile  |  5 +-
 ...bvirt-debian-sid-cross-mips64el.Dockerfile |  5 +-
 ...libvirt-debian-sid-cross-mipsel.Dockerfile |  6 +-
 ...ibvirt-debian-sid-cross-ppc64le.Dockerfile |  5 +-
 .../libvirt-debian-sid-cross-s390x.Dockerfile |  5 +-
 ci/containers/libvirt-debian-sid.Dockerfile   |  4 +-
 ci/containers/libvirt-fedora-31.Dockerfile    |  4 +-
 ci/containers/libvirt-fedora-32.Dockerfile    |  4 +-
 ...rt-fedora-rawhide-cross-mingw32.Dockerfile |  4 +-
 ...rt-fedora-rawhide-cross-mingw64.Dockerfile |  4 +-
 .../libvirt-fedora-rawhide.Dockerfile         |  4 +-
 ci/containers/libvirt-opensuse-151.Dockerfile |  2 +-
 ci/containers/libvirt-ubuntu-1804.Dockerfile  |  2 +-
 ci/containers/libvirt-ubuntu-2004.Dockerfile  |  4 +-
 ci/i686-linux-gnu.meson                       | 11 ++++
 ci/mips-linux-gnu.meson                       | 11 ++++
 ci/mips64el-linux-gnuabi64.meson              | 11 ++++
 ci/mipsel-linux-gnu.meson                     | 11 ++++
 ci/powerpc64le-linux-gnu.meson                | 11 ++++
 ci/s390x-linux-gnu.meson                      | 11 ++++
 43 files changed, 246 insertions(+), 64 deletions(-)
 create mode 100644 ci/aarch64-linux-gnu.meson
 create mode 100644 ci/arm-linux-gnueabi.meson
 create mode 100644 ci/arm-linux-gnueabihf.meson
 create mode 100644 ci/i686-linux-gnu.meson
 create mode 100644 ci/mips-linux-gnu.meson
 create mode 100644 ci/mips64el-linux-gnuabi64.meson
 create mode 100644 ci/mipsel-linux-gnu.meson
 create mode 100644 ci/powerpc64le-linux-gnu.meson
 create mode 100644 ci/s390x-linux-gnu.meson

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c997dc6df25..c789f1f4fea 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,7 +7,6 @@ stages:
   - builds
 
 .script_variables: &script_variables |
-  export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
   export CCACHE_BASEDIR="$(pwd)"
   export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
   export CCACHE_MAXSIZE="500M"
@@ -50,10 +49,25 @@ stages:
   before_script:
     - *script_variables
   script:
-    - mkdir build
-    - cd build
-    - ../autogen.sh || (cat config.log && exit 1)
-    - $MAKE distcheck
+    - meson build --werror || (cat build/meson-logs/meson-log.txt && exit 1)
+    - ninja -C build dist
+
+# Default native build job only for CentOS 7 that is always run
+# meson dist fails on CentOS 7 because of old git that fails to clone
+# from shallow git repository which is done when running meson dist
+.native_build_centos_7_job_template: &native_build_centos_7_job_definition
+  stage: builds
+  image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
+  cache:
+    paths:
+      - ccache/
+    key: "$CI_JOB_NAME"
+  before_script:
+    - *script_variables
+  script:
+    - meson build --werror || (cat build/meson-logs/meson-log.txt && exit 1)
+    - ninja -C build
+    - ninja -C build test
 
 # Jobs that we delegate to Cirrus CI because they require an operating
 # system other than Linux. These jobs will only run if the required
@@ -84,6 +98,8 @@ stages:
           -e "s|[@]PKGS@|$PKGS|g"
           -e "s|[@]MAKE@|$MAKE|g"
           -e "s|[@]PYTHON@|$PYTHON|g"
+          -e "s|[@]PIP@|$PIP|g"
+          -e "s|[@]PYPI_PKGS@|$PYPI_PKGS|g"
       <ci/cirrus/build.yml >ci/cirrus/$NAME.yml
     - cat ci/cirrus/$NAME.yml
     - cirrus-run ci/cirrus/$NAME.yml
@@ -102,10 +118,8 @@ stages:
   before_script:
     - *script_variables
   script:
-    - mkdir build
-    - cd build
-    - ../autogen.sh $CONFIGURE_OPTS || (cat config.log && exit 1)
-    - $MAKE
+    - meson build --werror $MESON_OPTS || (cat build/meson-logs/meson-log.txt && exit 1)
+    - ninja -C build
 
 
 # Native container build jobs
@@ -277,7 +291,7 @@ x64-debian-sid:
     NAME: debian-sid
 
 x64-centos-7:
-  <<: *native_build_job_definition
+  <<: *native_build_centos_7_job_definition
   variables:
     NAME: centos-7
 
@@ -420,12 +434,8 @@ website:
   before_script:
     - *script_variables
   script:
-    - mkdir build
-    - cd build
-    - ../autogen.sh --prefix=$(pwd)/../vroot || (cat config.log && exit 1)
-    - $MAKE -C docs
-    - $MAKE -C docs install
-    - cd ..
+    - meson build --prefix=$(pwd)/vroot || (cat build/meson-logs/meson-log.txt && exit 1)
+    - ninja -C build install-web
     - mv vroot/share/doc/libvirt/html/ website
   artifacts:
     expose_as: 'Website'
@@ -442,10 +452,8 @@ codestyle:
   before_script:
     - *script_variables
   script:
-    - mkdir build
-    - cd build
-    - ../autogen.sh || (cat config.log && exit 1)
-    - $MAKE syntax-check
+    - meson build || (cat build/meson-logs/meson-log.txt && exit 1)
+    - ninja -C build syntax-check
 
 
 # This artifact published by this job is downloaded to push to Weblate
@@ -459,12 +467,9 @@ potfile:
   before_script:
     - *script_variables
   script:
-    - mkdir build
-    - cd build
-    - ../autogen.sh || (cat config.log && exit 1)
-    - $MAKE -C src generated-sources
-    - $MAKE -C po libvirt.pot
-    - cd ..
+    - meson build || (cat build/meson-logs/meson-log.txt && exit 1)
+    - ninja -C build libvirt-pot-dep
+    - ninja -C build libvirt-pot
     - cp po/libvirt.pot libvirt.pot
   artifacts:
     expose_as: 'Potfile'
diff --git a/ci/aarch64-linux-gnu.meson b/ci/aarch64-linux-gnu.meson
new file mode 100644
index 00000000000..1da8d6025c0
--- /dev/null
+++ b/ci/aarch64-linux-gnu.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/aarch64-linux-gnu-gcc'
+ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
+strip = '/usr/bin/aarch64-linux-gnu-strip'
+pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'aarch64'
+endian = 'little'
diff --git a/ci/arm-linux-gnueabi.meson b/ci/arm-linux-gnueabi.meson
new file mode 100644
index 00000000000..9e5e06b84dc
--- /dev/null
+++ b/ci/arm-linux-gnueabi.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/arm-linux-gnueabi-gcc'
+ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'
+strip = '/usr/bin/arm-linux-gnueabi-strip'
+pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'arm'
+cpu = 'arm'
+endian = 'little'
diff --git a/ci/arm-linux-gnueabihf.meson b/ci/arm-linux-gnueabihf.meson
new file mode 100644
index 00000000000..c761707d495
--- /dev/null
+++ b/ci/arm-linux-gnueabihf.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/arm-linux-gnueabihf-gcc'
+ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'
+strip = '/usr/bin/arm-linux-gnueabihf-strip'
+pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'arm'
+cpu = 'armhf'
+endian = 'little'
diff --git a/ci/cirrus/build.yml b/ci/cirrus/build.yml
index 49e90b6d67b..aff461ccbc1 100644
--- a/ci/cirrus/build.yml
+++ b/ci/cirrus/build.yml
@@ -13,14 +13,12 @@ env:
 build_task:
   install_script:
     - @INSTALL_COMMAND@ @PKGS@
+    - @PIP@ install @PYPI_PKGS@
   clone_script:
     - git clone --depth 1000 "$CI_REPOSITORY_URL" .
     - git fetch origin "$CI_COMMIT_REF_NAME"
     - git reset --hard "$CI_COMMIT_SHA"
   build_script:
-    - mkdir build
-    - cd build
-    - ../autogen.sh --prefix=$(pwd)/install-root
-    - $MAKE -j3
-    - $MAKE -j3 install
-    - $MAKE -j3 dist
+    - meson build --prefix=$(pwd)/install-root
+    - ninja -C build
+    - ninja -C build install
diff --git a/ci/cirrus/libvirt-freebsd-12.vars b/ci/cirrus/libvirt-freebsd-12.vars
index c7d4fbab0ff..7c29c6f8993 100644
--- a/ci/cirrus/libvirt-freebsd-12.vars
+++ b/ci/cirrus/libvirt-freebsd-12.vars
@@ -4,4 +4,6 @@ CCACHE='/usr/local/bin/ccache'
 MAKE='/usr/local/bin/gmake'
 NINJA='/usr/local/bin/ninja'
 PYTHON='/usr/local/bin/python3'
-PKGS='augeas autoconf automake avahi bash bash-completion ca_root_nss ccache chrony cppi curl cyrus-sasl dbus diskscrub dnsmasq fusefs-libs gdb gettext gettext-tools git glib gmake gnutls hal libpcap libpciaccess libssh libssh2 libtool libxml2 libxslt lsof meson ncurses ninja p5-App-cpanminus patch perl5 pkgconf polkit py37-docutils py37-flake8 py37-pip py37-setuptools py37-wheel python3 qemu-utils radvd readline screen sudo vim yajl'
+PIP='/usr/local/bin/pip-3.7'
+PKGS='augeas autoconf automake avahi bash bash-completion ca_root_nss ccache chrony cppi curl cyrus-sasl dbus diskscrub dnsmasq fusefs-libs gdb gettext gettext-tools git glib gmake gnutls hal libpcap libpciaccess libssh libssh2 libtool libxml2 libxslt lsof ncurses ninja p5-App-cpanminus patch perl5 pkgconf polkit py37-docutils py37-flake8 py37-pip py37-setuptools py37-wheel python3 qemu-utils radvd readline screen sudo vim yajl'
+PYPI_PKGS='meson==0.54.0'
diff --git a/ci/cirrus/libvirt-macos-1015.vars b/ci/cirrus/libvirt-macos-1015.vars
index a14c41a277b..7704d747dfc 100644
--- a/ci/cirrus/libvirt-macos-1015.vars
+++ b/ci/cirrus/libvirt-macos-1015.vars
@@ -4,4 +4,6 @@ CCACHE='/usr/local/bin/ccache'
 MAKE='/usr/local/bin/gmake'
 NINJA='/usr/local/bin/ninja'
 PYTHON='/usr/local/bin/python3'
-PKGS='augeas autoconf automake bash bash-completion ccache cpanminus cppi curl dbus dnsmasq docutils flake8 gdb gettext git glib gnutls gpatch libiscsi libpcap libssh libssh2 libtool libxml2 libxslt lsof make meson ncurses ninja perl pkg-config python3 qemu readline rpcgen screen scrub vim xz yajl'
+PIP='/usr/local/bin/pip3'
+PKGS='augeas autoconf automake bash bash-completion ccache cpanminus cppi curl dbus dnsmasq docutils flake8 gdb gettext git glib gnutls gpatch libiscsi libpcap libssh libssh2 libtool libxml2 libxslt lsof make ncurses ninja perl pkg-config python3 qemu readline rpcgen screen scrub vim xz yajl'
+PYPI_PKGS='meson==0.54.0'
diff --git a/ci/containers/libvirt-centos-7.Dockerfile b/ci/containers/libvirt-centos-7.Dockerfile
index 08d93866443..a1879e08ece 100644
--- a/ci/containers/libvirt-centos-7.Dockerfile
+++ b/ci/containers/libvirt-centos-7.Dockerfile
@@ -128,7 +128,7 @@ WEiJKtQrZDJloqtyi/mmRa1VsV7RYR0VPJjhK/R8EQ7Ysshy\n\
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
 RUN pip3 install \
-         meson==0.49.0
+         meson==0.54.0
 
 ENV LANG "en_US.UTF-8"
 
diff --git a/ci/containers/libvirt-centos-8.Dockerfile b/ci/containers/libvirt-centos-8.Dockerfile
index 2ac825fc807..fc66c4e4ea7 100644
--- a/ci/containers/libvirt-centos-8.Dockerfile
+++ b/ci/containers/libvirt-centos-8.Dockerfile
@@ -59,7 +59,6 @@ RUN dnf install 'dnf-command(config-manager)' -y && \
         lsof \
         lvm2 \
         make \
-        meson \
         ncurses-devel \
         net-tools \
         netcf-devel \
@@ -102,6 +101,9 @@ RUN dnf install 'dnf-command(config-manager)' -y && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-centos-stream.Dockerfile b/ci/containers/libvirt-centos-stream.Dockerfile
index e0025e2acb2..2fac2683b27 100644
--- a/ci/containers/libvirt-centos-stream.Dockerfile
+++ b/ci/containers/libvirt-centos-stream.Dockerfile
@@ -60,7 +60,6 @@ RUN dnf install -y centos-release-stream && \
         lsof \
         lvm2 \
         make \
-        meson \
         ncurses-devel \
         net-tools \
         netcf-devel \
@@ -103,6 +102,9 @@ RUN dnf install -y centos-release-stream && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-debian-10-cross-aarch64.Dockerfile b/ci/containers/libvirt-debian-10-cross-aarch64.Dockerfile
index 2d49f5e6e77..ed8a813b32b 100644
--- a/ci/containers/libvirt-debian-10-cross-aarch64.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-aarch64.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -113,6 +112,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -123,3 +125,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "aarch64-linux-gnu"
 ENV CONFIGURE_OPTS "--host=aarch64-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/aarch64-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-armv6l.Dockerfile b/ci/containers/libvirt-debian-10-cross-armv6l.Dockerfile
index f9d6ee4c9f4..2c7eddf90fc 100644
--- a/ci/containers/libvirt-debian-10-cross-armv6l.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-armv6l.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -93,6 +92,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             libncurses-dev:armel \
             libnl-3-dev:armel \
             libnl-route-3-dev:armel \
+            libnuma-dev:armel \
             libparted-dev:armel \
             libpcap0.8-dev:armel \
             libpciaccess-dev:armel \
@@ -111,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -121,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "arm-linux-gnueabi"
 ENV CONFIGURE_OPTS "--host=arm-linux-gnueabi"
+ENV MESON_OPTS "--cross-file=ci/arm-linux-gnueabi.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-armv7l.Dockerfile b/ci/containers/libvirt-debian-10-cross-armv7l.Dockerfile
index f26e0595352..80907b10805 100644
--- a/ci/containers/libvirt-debian-10-cross-armv7l.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-armv7l.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -93,6 +92,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             libncurses-dev:armhf \
             libnl-3-dev:armhf \
             libnl-route-3-dev:armhf \
+            libnuma-dev:armhf \
             libparted-dev:armhf \
             libpcap0.8-dev:armhf \
             libpciaccess-dev:armhf \
@@ -112,6 +112,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +125,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "arm-linux-gnueabihf"
 ENV CONFIGURE_OPTS "--host=arm-linux-gnueabihf"
+ENV MESON_OPTS "--cross-file=ci/arm-linux-gnueabihf.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-i686.Dockerfile b/ci/containers/libvirt-debian-10-cross-i686.Dockerfile
index eaca5ee20b3..fc27ab47c63 100644
--- a/ci/containers/libvirt-debian-10-cross-i686.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-i686.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "i686-linux-gnu"
 ENV CONFIGURE_OPTS "--host=i686-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/i686-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-mips.Dockerfile b/ci/containers/libvirt-debian-10-cross-mips.Dockerfile
index 7909471dccf..96a99b356fe 100644
--- a/ci/containers/libvirt-debian-10-cross-mips.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-mips.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "mips-linux-gnu"
 ENV CONFIGURE_OPTS "--host=mips-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/mips-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-mips64el.Dockerfile b/ci/containers/libvirt-debian-10-cross-mips64el.Dockerfile
index 0e8bb6f4fb6..d70577678f9 100644
--- a/ci/containers/libvirt-debian-10-cross-mips64el.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-mips64el.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "mips64el-linux-gnuabi64"
 ENV CONFIGURE_OPTS "--host=mips64el-linux-gnuabi64"
+ENV MESON_OPTS "--cross-file=ci/mips64el-linux-gnuabi64.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-mipsel.Dockerfile b/ci/containers/libvirt-debian-10-cross-mipsel.Dockerfile
index 9faf47dff10..08553d9cdf2 100644
--- a/ci/containers/libvirt-debian-10-cross-mipsel.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-mipsel.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "mipsel-linux-gnu"
 ENV CONFIGURE_OPTS "--host=mipsel-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/mipsel-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-ppc64le.Dockerfile b/ci/containers/libvirt-debian-10-cross-ppc64le.Dockerfile
index 68a438485d8..276a357a5a4 100644
--- a/ci/containers/libvirt-debian-10-cross-ppc64le.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-ppc64le.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "powerpc64le-linux-gnu"
 ENV CONFIGURE_OPTS "--host=powerpc64le-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/powerpc64le-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-10-cross-s390x.Dockerfile b/ci/containers/libvirt-debian-10-cross-s390x.Dockerfile
index 473ad32435b..2da2bb0125f 100644
--- a/ci/containers/libvirt-debian-10-cross-s390x.Dockerfile
+++ b/ci/containers/libvirt-debian-10-cross-s390x.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "s390x-linux-gnu"
 ENV CONFIGURE_OPTS "--host=s390x-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/s390x-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-10.Dockerfile b/ci/containers/libvirt-debian-10.Dockerfile
index e1c97f2bf0f..a3fd428757d 100644
--- a/ci/containers/libvirt-debian-10.Dockerfile
+++ b/ci/containers/libvirt-debian-10.Dockerfile
@@ -69,7 +69,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -106,6 +105,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-debian-sid-cross-aarch64.Dockerfile b/ci/containers/libvirt-debian-sid-cross-aarch64.Dockerfile
index 9aedc673305..d227d933c76 100644
--- a/ci/containers/libvirt-debian-sid-cross-aarch64.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-aarch64.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -113,6 +112,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -123,3 +125,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "aarch64-linux-gnu"
 ENV CONFIGURE_OPTS "--host=aarch64-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/aarch64-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-sid-cross-armv6l.Dockerfile b/ci/containers/libvirt-debian-sid-cross-armv6l.Dockerfile
index 3f5ccba66a6..5b93c8353df 100644
--- a/ci/containers/libvirt-debian-sid-cross-armv6l.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-armv6l.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -93,6 +92,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             libncurses-dev:armel \
             libnl-3-dev:armel \
             libnl-route-3-dev:armel \
+            libnuma-dev:armel \
             libparted-dev:armel \
             libpcap0.8-dev:armel \
             libpciaccess-dev:armel \
@@ -111,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -121,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "arm-linux-gnueabi"
 ENV CONFIGURE_OPTS "--host=arm-linux-gnueabi"
+ENV MESON_OPTS "--cross-file=ci/arm-linux-gnueabi.meson"
diff --git a/ci/containers/libvirt-debian-sid-cross-armv7l.Dockerfile b/ci/containers/libvirt-debian-sid-cross-armv7l.Dockerfile
index f67f13cf85b..76027933fcd 100644
--- a/ci/containers/libvirt-debian-sid-cross-armv7l.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-armv7l.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -93,6 +92,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             libncurses-dev:armhf \
             libnl-3-dev:armhf \
             libnl-route-3-dev:armhf \
+            libnuma-dev:armhf \
             libparted-dev:armhf \
             libpcap0.8-dev:armhf \
             libpciaccess-dev:armhf \
@@ -112,6 +112,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +125,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "arm-linux-gnueabihf"
 ENV CONFIGURE_OPTS "--host=arm-linux-gnueabihf"
+ENV MESON_OPTS "--cross-file=ci/arm-linux-gnueabihf.meson"
diff --git a/ci/containers/libvirt-debian-sid-cross-i686.Dockerfile b/ci/containers/libvirt-debian-sid-cross-i686.Dockerfile
index 0ed089f9ab2..19f0e787066 100644
--- a/ci/containers/libvirt-debian-sid-cross-i686.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-i686.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "i686-linux-gnu"
 ENV CONFIGURE_OPTS "--host=i686-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/i686-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-sid-cross-mips64el.Dockerfile b/ci/containers/libvirt-debian-sid-cross-mips64el.Dockerfile
index cdafb2aef81..07307e083ae 100644
--- a/ci/containers/libvirt-debian-sid-cross-mips64el.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-mips64el.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "mips64el-linux-gnuabi64"
 ENV CONFIGURE_OPTS "--host=mips64el-linux-gnuabi64"
+ENV MESON_OPTS "--cross-file=ci/mips64el-linux-gnuabi64.meson"
diff --git a/ci/containers/libvirt-debian-sid-cross-mipsel.Dockerfile b/ci/containers/libvirt-debian-sid-cross-mipsel.Dockerfile
index 532b70be3bf..98b1dff49aa 100644
--- a/ci/containers/libvirt-debian-sid-cross-mipsel.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-mipsel.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -97,6 +96,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             libparted-dev:mipsel \
             libpcap0.8-dev:mipsel \
             libpciaccess-dev:mipsel \
+            librbd-dev:mipsel \
             libreadline-dev:mipsel \
             libsanlock-dev:mipsel \
             libsasl2-dev:mipsel \
@@ -111,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -121,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "mipsel-linux-gnu"
 ENV CONFIGURE_OPTS "--host=mipsel-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/mipsel-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-sid-cross-ppc64le.Dockerfile b/ci/containers/libvirt-debian-sid-cross-ppc64le.Dockerfile
index 8bc32873bc6..00271ac1a7b 100644
--- a/ci/containers/libvirt-debian-sid-cross-ppc64le.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-ppc64le.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "powerpc64le-linux-gnu"
 ENV CONFIGURE_OPTS "--host=powerpc64le-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/powerpc64le-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-sid-cross-s390x.Dockerfile b/ci/containers/libvirt-debian-sid-cross-s390x.Dockerfile
index 6a98b30326b..60d1ddd35ea 100644
--- a/ci/containers/libvirt-debian-sid-cross-s390x.Dockerfile
+++ b/ci/containers/libvirt-debian-sid-cross-s390x.Dockerfile
@@ -33,7 +33,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -112,6 +111,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get autoremove -y && \
     apt-get autoclean -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
@@ -122,3 +124,4 @@ ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 ENV ABI "s390x-linux-gnu"
 ENV CONFIGURE_OPTS "--host=s390x-linux-gnu"
+ENV MESON_OPTS "--cross-file=ci/s390x-linux-gnu.meson"
diff --git a/ci/containers/libvirt-debian-sid.Dockerfile b/ci/containers/libvirt-debian-sid.Dockerfile
index b8ec601ef12..80c828e9c05 100644
--- a/ci/containers/libvirt-debian-sid.Dockerfile
+++ b/ci/containers/libvirt-debian-sid.Dockerfile
@@ -69,7 +69,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -106,6 +105,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-fedora-31.Dockerfile b/ci/containers/libvirt-fedora-31.Dockerfile
index 7b492d30c05..972ea16c5d9 100644
--- a/ci/containers/libvirt-fedora-31.Dockerfile
+++ b/ci/containers/libvirt-fedora-31.Dockerfile
@@ -57,7 +57,6 @@ RUN dnf update -y && \
         lsof \
         lvm2 \
         make \
-        meson \
         ncurses-devel \
         net-tools \
         netcf-devel \
@@ -103,6 +102,9 @@ RUN dnf update -y && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-fedora-32.Dockerfile b/ci/containers/libvirt-fedora-32.Dockerfile
index f208f82a2ae..a2099683110 100644
--- a/ci/containers/libvirt-fedora-32.Dockerfile
+++ b/ci/containers/libvirt-fedora-32.Dockerfile
@@ -57,7 +57,6 @@ RUN dnf update -y && \
         lsof \
         lvm2 \
         make \
-        meson \
         ncurses-devel \
         net-tools \
         netcf-devel \
@@ -103,6 +102,9 @@ RUN dnf update -y && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-fedora-rawhide-cross-mingw32.Dockerfile b/ci/containers/libvirt-fedora-rawhide-cross-mingw32.Dockerfile
index c1cce71e5f2..290d1de2d4a 100644
--- a/ci/containers/libvirt-fedora-rawhide-cross-mingw32.Dockerfile
+++ b/ci/containers/libvirt-fedora-rawhide-cross-mingw32.Dockerfile
@@ -31,7 +31,6 @@ RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
         lsof \
         lvm2 \
         make \
-        meson \
         net-tools \
         nfs-utils \
         ninja-build \
@@ -81,6 +80,9 @@ RUN dnf install -y \
         mingw32-readline && \
     dnf clean all -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-fedora-rawhide-cross-mingw64.Dockerfile b/ci/containers/libvirt-fedora-rawhide-cross-mingw64.Dockerfile
index 8c1829be131..77a136a5ed2 100644
--- a/ci/containers/libvirt-fedora-rawhide-cross-mingw64.Dockerfile
+++ b/ci/containers/libvirt-fedora-rawhide-cross-mingw64.Dockerfile
@@ -31,7 +31,6 @@ RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
         lsof \
         lvm2 \
         make \
-        meson \
         net-tools \
         nfs-utils \
         ninja-build \
@@ -81,6 +80,9 @@ RUN dnf install -y \
         mingw64-readline && \
     dnf clean all -y
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-fedora-rawhide.Dockerfile b/ci/containers/libvirt-fedora-rawhide.Dockerfile
index 8e092744f6e..a8509c9ca83 100644
--- a/ci/containers/libvirt-fedora-rawhide.Dockerfile
+++ b/ci/containers/libvirt-fedora-rawhide.Dockerfile
@@ -58,7 +58,6 @@ RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
         lsof \
         lvm2 \
         make \
-        meson \
         ncurses-devel \
         net-tools \
         netcf-devel \
@@ -104,6 +103,9 @@ RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/libvirt-opensuse-151.Dockerfile b/ci/containers/libvirt-opensuse-151.Dockerfile
index 2ba408efb74..0cc5df2a1bb 100644
--- a/ci/containers/libvirt-opensuse-151.Dockerfile
+++ b/ci/containers/libvirt-opensuse-151.Dockerfile
@@ -100,7 +100,7 @@ RUN zypper update -y && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
 RUN pip3 install \
-         meson==0.49.0
+         meson==0.54.0
 
 ENV LANG "en_US.UTF-8"
 
diff --git a/ci/containers/libvirt-ubuntu-1804.Dockerfile b/ci/containers/libvirt-ubuntu-1804.Dockerfile
index 96751307704..5cb4384aed3 100644
--- a/ci/containers/libvirt-ubuntu-1804.Dockerfile
+++ b/ci/containers/libvirt-ubuntu-1804.Dockerfile
@@ -108,7 +108,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
 RUN pip3 install \
-         meson==0.49.0
+         meson==0.54.0
 
 ENV LANG "en_US.UTF-8"
 
diff --git a/ci/containers/libvirt-ubuntu-2004.Dockerfile b/ci/containers/libvirt-ubuntu-2004.Dockerfile
index 2457e7a8dba..ae0b048c47a 100644
--- a/ci/containers/libvirt-ubuntu-2004.Dockerfile
+++ b/ci/containers/libvirt-ubuntu-2004.Dockerfile
@@ -70,7 +70,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
             lsof \
             lvm2 \
             make \
-            meson \
             net-tools \
             nfs-common \
             ninja-build \
@@ -107,6 +106,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
 
+RUN pip3 install \
+         meson==0.54.0
+
 ENV LANG "en_US.UTF-8"
 
 ENV MAKE "/usr/bin/make"
diff --git a/ci/i686-linux-gnu.meson b/ci/i686-linux-gnu.meson
new file mode 100644
index 00000000000..638113e1d21
--- /dev/null
+++ b/ci/i686-linux-gnu.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/i686-linux-gnu-gcc'
+ar = '/usr/bin/i686-linux-gnu-gcc-ar'
+strip = '/usr/bin/i686-linux-gnu-strip'
+pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'x86'
+cpu = 'i686'
+endian = 'little'
diff --git a/ci/mips-linux-gnu.meson b/ci/mips-linux-gnu.meson
new file mode 100644
index 00000000000..2c4c21c1e02
--- /dev/null
+++ b/ci/mips-linux-gnu.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/mips-linux-gnu-gcc'
+ar = '/usr/bin/mips-linux-gnu-gcc-ar'
+strip = '/usr/bin/mips-linux-gnu-strip'
+pkgconfig = '/usr/bin/mips-linux-gnu-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'mips'
+cpu = 'mips'
+endian = 'little'
diff --git a/ci/mips64el-linux-gnuabi64.meson b/ci/mips64el-linux-gnuabi64.meson
new file mode 100644
index 00000000000..459c8154d7b
--- /dev/null
+++ b/ci/mips64el-linux-gnuabi64.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/mips64el-linux-gnuabi64-gcc'
+ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'
+strip = '/usr/bin/mips64el-linux-gnuabi64-strip'
+pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'mips64'
+cpu = 'mips64el'
+endian = 'little'
diff --git a/ci/mipsel-linux-gnu.meson b/ci/mipsel-linux-gnu.meson
new file mode 100644
index 00000000000..308bda511ee
--- /dev/null
+++ b/ci/mipsel-linux-gnu.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/mipsel-linux-gnu-gcc'
+ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'
+strip = '/usr/bin/mipsel-linux-gnu-strip'
+pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'mips'
+cpu = 'mipsel'
+endian = 'little'
diff --git a/ci/powerpc64le-linux-gnu.meson b/ci/powerpc64le-linux-gnu.meson
new file mode 100644
index 00000000000..9a151e2c12f
--- /dev/null
+++ b/ci/powerpc64le-linux-gnu.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/powerpc64le-linux-gnu-gcc'
+ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'
+strip = '/usr/bin/powerpc64le-linux-gnu-strip'
+pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'ppc64'
+cpu = 'powerpc64le'
+endian = 'little'
diff --git a/ci/s390x-linux-gnu.meson b/ci/s390x-linux-gnu.meson
new file mode 100644
index 00000000000..28a292c7203
--- /dev/null
+++ b/ci/s390x-linux-gnu.meson
@@ -0,0 +1,11 @@
+[binaries]
+c = '/usr/bin/s390x-linux-gnu-gcc'
+ar = '/usr/bin/s390x-linux-gnu-gcc-ar'
+strip = '/usr/bin/s390x-linux-gnu-strip'
+pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 's390x'
+cpu = 's390x'
+endian = 'little'
-- 
2.26.2




More information about the libvir-list mailing list