qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH  v1 0/4] testing/next hotfix (revert bios build, mingw)
@ 2022-10-11 11:34 Alex Bennée
  2022-10-11 11:34 ` [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool Alex Bennée
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Alex Bennée @ 2022-10-11 11:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, f4bug, aurelien, pbonzini, stefanha, crosa,
	Alex Bennée

Hi,

Consider this a hotfix testing/next series. I hadn't noticed the
update to build the BIOS's would trigger a lot of downloading for a
normal build. I've reverted one patch which stops that from happening
and we can revisit enabling this is a more sustainable way later.

Also we have updates for the win32/64 builds which didn't make the
last PR although they currently rely on a out-of-tree libvirt-ci
update.

I'm still without CI minutes so haven't been able to run this through
gitlab yet.

Please review (and push to CI) so I can spin a PR today.

Alex Bennée (4):
  tests/docker: update fedora-win[32|64]-cross with lcitool
  tests/docker: update test-mingw to run single build
  Revert "configure: build ROMs with container-based cross compilers"
  configure: expose the direct container command

 configure                                     |  33 ++-
 tests/docker/dockerfiles/alpine.docker        |   2 +-
 tests/docker/dockerfiles/centos8.docker       |   2 +-
 .../dockerfiles/debian-amd64-cross.docker     | 234 ++++++++---------
 tests/docker/dockerfiles/debian-amd64.docker  | 236 +++++++++---------
 .../dockerfiles/debian-arm64-cross.docker     | 232 ++++++++---------
 .../dockerfiles/debian-armel-cross.docker     | 230 ++++++++---------
 .../dockerfiles/debian-armhf-cross.docker     | 232 ++++++++---------
 .../dockerfiles/debian-mips64el-cross.docker  | 226 ++++++++---------
 .../dockerfiles/debian-mipsel-cross.docker    | 226 ++++++++---------
 .../dockerfiles/debian-ppc64el-cross.docker   | 230 ++++++++---------
 .../dockerfiles/debian-s390x-cross.docker     | 228 ++++++++---------
 .../dockerfiles/fedora-win32-cross.docker     | 139 ++++++++---
 .../dockerfiles/fedora-win64-cross.docker     | 138 +++++++---
 tests/docker/dockerfiles/fedora.docker        | 230 ++++++++---------
 tests/docker/dockerfiles/opensuse-leap.docker |   2 +-
 tests/docker/dockerfiles/ubuntu2004.docker    | 234 ++++++++---------
 tests/docker/test-mingw                       |  16 +-
 tests/lcitool/libvirt-ci                      |   2 +-
 tests/lcitool/refresh                         |  48 ++--
 20 files changed, 1520 insertions(+), 1400 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool
  2022-10-11 11:34 [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Alex Bennée
@ 2022-10-11 11:34 ` Alex Bennée
  2022-10-11 14:26   ` Stefan Hajnoczi
  2022-10-11 11:34 ` [PATCH v1 2/4] tests/docker: update test-mingw to run single build Alex Bennée
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Alex Bennée @ 2022-10-11 11:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, f4bug, aurelien, pbonzini, stefanha, crosa,
	Alex Bennée, Thomas Huth, Wainer dos Santos Moschetta,
	Beraldo Leal

Convert another two dockerfiles to lcitool and update. I renamed the
helper because it is not Debian specific. We need an updated lcitool
for this to deal with the weirdness of a 32bit nsis tool for both 32
and 64 bit builds. As a result there are some minor whitespace and
re-order changes in a bunch of the docker files.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20220929114231.583801-10-alex.bennee@linaro.org>
---
 tests/docker/dockerfiles/alpine.docker        |   2 +-
 tests/docker/dockerfiles/centos8.docker       |   2 +-
 .../dockerfiles/debian-amd64-cross.docker     | 234 ++++++++---------
 tests/docker/dockerfiles/debian-amd64.docker  | 236 +++++++++---------
 .../dockerfiles/debian-arm64-cross.docker     | 232 ++++++++---------
 .../dockerfiles/debian-armel-cross.docker     | 230 ++++++++---------
 .../dockerfiles/debian-armhf-cross.docker     | 232 ++++++++---------
 .../dockerfiles/debian-mips64el-cross.docker  | 226 ++++++++---------
 .../dockerfiles/debian-mipsel-cross.docker    | 226 ++++++++---------
 .../dockerfiles/debian-ppc64el-cross.docker   | 230 ++++++++---------
 .../dockerfiles/debian-s390x-cross.docker     | 228 ++++++++---------
 .../dockerfiles/fedora-win32-cross.docker     | 139 ++++++++---
 .../dockerfiles/fedora-win64-cross.docker     | 138 +++++++---
 tests/docker/dockerfiles/fedora.docker        | 230 ++++++++---------
 tests/docker/dockerfiles/opensuse-leap.docker |   2 +-
 tests/docker/dockerfiles/ubuntu2004.docker    | 234 ++++++++---------
 tests/lcitool/libvirt-ci                      |   2 +-
 tests/lcitool/refresh                         |  48 ++--
 18 files changed, 1499 insertions(+), 1372 deletions(-)

diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index 9b7541261a..a854ae6b78 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -119,8 +119,8 @@ RUN apk update && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerfiles/centos8.docker
index d89113c0df..1f70d41aeb 100644
--- a/tests/docker/dockerfiles/centos8.docker
+++ b/tests/docker/dockerfiles/centos8.docker
@@ -130,8 +130,8 @@ RUN dnf distro-sync -y && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index 9047759e76..8311024632 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture amd64 && \
@@ -74,76 +74,76 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-x86-64-linux-gnu \
-            gcc-x86-64-linux-gnu \
-            libaio-dev:amd64 \
-            libasan5:amd64 \
-            libasound2-dev:amd64 \
-            libattr1-dev:amd64 \
-            libbpf-dev:amd64 \
-            libbrlapi-dev:amd64 \
-            libbz2-dev:amd64 \
-            libc6-dev:amd64 \
-            libcacard-dev:amd64 \
-            libcap-ng-dev:amd64 \
-            libcapstone-dev:amd64 \
-            libcmocka-dev:amd64 \
-            libcurl4-gnutls-dev:amd64 \
-            libdaxctl-dev:amd64 \
-            libdrm-dev:amd64 \
-            libepoxy-dev:amd64 \
-            libfdt-dev:amd64 \
-            libffi-dev:amd64 \
-            libfuse3-dev:amd64 \
-            libgbm-dev:amd64 \
-            libgcrypt20-dev:amd64 \
-            libglib2.0-dev:amd64 \
-            libglusterfs-dev:amd64 \
-            libgnutls28-dev:amd64 \
-            libgtk-3-dev:amd64 \
-            libibumad-dev:amd64 \
-            libibverbs-dev:amd64 \
-            libiscsi-dev:amd64 \
-            libjemalloc-dev:amd64 \
-            libjpeg62-turbo-dev:amd64 \
-            libjson-c-dev:amd64 \
-            liblttng-ust-dev:amd64 \
-            liblzo2-dev:amd64 \
-            libncursesw5-dev:amd64 \
-            libnfs-dev:amd64 \
-            libnuma-dev:amd64 \
-            libpam0g-dev:amd64 \
-            libpixman-1-dev:amd64 \
-            libpmem-dev:amd64 \
-            libpng-dev:amd64 \
-            libpulse-dev:amd64 \
-            librbd-dev:amd64 \
-            librdmacm-dev:amd64 \
-            libsasl2-dev:amd64 \
-            libsdl2-dev:amd64 \
-            libsdl2-image-dev:amd64 \
-            libseccomp-dev:amd64 \
-            libselinux1-dev:amd64 \
-            libslirp-dev:amd64 \
-            libsnappy-dev:amd64 \
-            libspice-server-dev:amd64 \
-            libssh-gcrypt-dev:amd64 \
-            libsystemd-dev:amd64 \
-            libtasn1-6-dev:amd64 \
-            libubsan1:amd64 \
-            libudev-dev:amd64 \
-            liburing-dev:amd64 \
-            libusb-1.0-0-dev:amd64 \
-            libusbredirhost-dev:amd64 \
-            libvdeplug-dev:amd64 \
-            libvirglrenderer-dev:amd64 \
-            libvte-2.91-dev:amd64 \
-            libxen-dev:amd64 \
-            libzstd-dev:amd64 \
-            nettle-dev:amd64 \
-            systemtap-sdt-dev:amd64 \
-            xfslibs-dev:amd64 \
-            zlib1g-dev:amd64 && \
+                      g++-x86-64-linux-gnu \
+                      gcc-x86-64-linux-gnu \
+                      libaio-dev:amd64 \
+                      libasan5:amd64 \
+                      libasound2-dev:amd64 \
+                      libattr1-dev:amd64 \
+                      libbpf-dev:amd64 \
+                      libbrlapi-dev:amd64 \
+                      libbz2-dev:amd64 \
+                      libc6-dev:amd64 \
+                      libcacard-dev:amd64 \
+                      libcap-ng-dev:amd64 \
+                      libcapstone-dev:amd64 \
+                      libcmocka-dev:amd64 \
+                      libcurl4-gnutls-dev:amd64 \
+                      libdaxctl-dev:amd64 \
+                      libdrm-dev:amd64 \
+                      libepoxy-dev:amd64 \
+                      libfdt-dev:amd64 \
+                      libffi-dev:amd64 \
+                      libfuse3-dev:amd64 \
+                      libgbm-dev:amd64 \
+                      libgcrypt20-dev:amd64 \
+                      libglib2.0-dev:amd64 \
+                      libglusterfs-dev:amd64 \
+                      libgnutls28-dev:amd64 \
+                      libgtk-3-dev:amd64 \
+                      libibumad-dev:amd64 \
+                      libibverbs-dev:amd64 \
+                      libiscsi-dev:amd64 \
+                      libjemalloc-dev:amd64 \
+                      libjpeg62-turbo-dev:amd64 \
+                      libjson-c-dev:amd64 \
+                      liblttng-ust-dev:amd64 \
+                      liblzo2-dev:amd64 \
+                      libncursesw5-dev:amd64 \
+                      libnfs-dev:amd64 \
+                      libnuma-dev:amd64 \
+                      libpam0g-dev:amd64 \
+                      libpixman-1-dev:amd64 \
+                      libpmem-dev:amd64 \
+                      libpng-dev:amd64 \
+                      libpulse-dev:amd64 \
+                      librbd-dev:amd64 \
+                      librdmacm-dev:amd64 \
+                      libsasl2-dev:amd64 \
+                      libsdl2-dev:amd64 \
+                      libsdl2-image-dev:amd64 \
+                      libseccomp-dev:amd64 \
+                      libselinux1-dev:amd64 \
+                      libslirp-dev:amd64 \
+                      libsnappy-dev:amd64 \
+                      libspice-server-dev:amd64 \
+                      libssh-gcrypt-dev:amd64 \
+                      libsystemd-dev:amd64 \
+                      libtasn1-6-dev:amd64 \
+                      libubsan1:amd64 \
+                      libudev-dev:amd64 \
+                      liburing-dev:amd64 \
+                      libusb-1.0-0-dev:amd64 \
+                      libusbredirhost-dev:amd64 \
+                      libvdeplug-dev:amd64 \
+                      libvirglrenderer-dev:amd64 \
+                      libvte-2.91-dev:amd64 \
+                      libxen-dev:amd64 \
+                      libzstd-dev:amd64 \
+                      nettle-dev:amd64 \
+                      systemtap-sdt-dev:amd64 \
+                      xfslibs-dev:amd64 \
+                      zlib1g-dev:amd64 && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker
index a8b728ca64..6db3079321 100644
--- a/tests/docker/dockerfiles/debian-amd64.docker
+++ b/tests/docker/dockerfiles/debian-amd64.docker
@@ -11,123 +11,123 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            clang \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            g++ \
-            gcc \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libaio-dev \
-            libasan5 \
-            libasound2-dev \
-            libattr1-dev \
-            libbpf-dev \
-            libbrlapi-dev \
-            libbz2-dev \
-            libc6-dev \
-            libcacard-dev \
-            libcap-ng-dev \
-            libcapstone-dev \
-            libcmocka-dev \
-            libcurl4-gnutls-dev \
-            libdaxctl-dev \
-            libdrm-dev \
-            libepoxy-dev \
-            libfdt-dev \
-            libffi-dev \
-            libfuse3-dev \
-            libgbm-dev \
-            libgcrypt20-dev \
-            libglib2.0-dev \
-            libglusterfs-dev \
-            libgnutls28-dev \
-            libgtk-3-dev \
-            libibumad-dev \
-            libibverbs-dev \
-            libiscsi-dev \
-            libjemalloc-dev \
-            libjpeg62-turbo-dev \
-            libjson-c-dev \
-            liblttng-ust-dev \
-            liblzo2-dev \
-            libncursesw5-dev \
-            libnfs-dev \
-            libnuma-dev \
-            libpam0g-dev \
-            libpcre2-dev \
-            libpixman-1-dev \
-            libpmem-dev \
-            libpng-dev \
-            libpulse-dev \
-            librbd-dev \
-            librdmacm-dev \
-            libsasl2-dev \
-            libsdl2-dev \
-            libsdl2-image-dev \
-            libseccomp-dev \
-            libselinux1-dev \
-            libslirp-dev \
-            libsnappy-dev \
-            libspice-protocol-dev \
-            libspice-server-dev \
-            libssh-gcrypt-dev \
-            libsystemd-dev \
-            libtasn1-6-dev \
-            libubsan1 \
-            libudev-dev \
-            liburing-dev \
-            libusb-1.0-0-dev \
-            libusbredirhost-dev \
-            libvdeplug-dev \
-            libvirglrenderer-dev \
-            libvte-2.91-dev \
-            libxen-dev \
-            libzstd-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            multipath-tools \
-            ncat \
-            nettle-dev \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            systemtap-sdt-dev \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo \
-            xfslibs-dev \
-            zlib1g-dev && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      clang \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      g++ \
+                      gcc \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libaio-dev \
+                      libasan5 \
+                      libasound2-dev \
+                      libattr1-dev \
+                      libbpf-dev \
+                      libbrlapi-dev \
+                      libbz2-dev \
+                      libc6-dev \
+                      libcacard-dev \
+                      libcap-ng-dev \
+                      libcapstone-dev \
+                      libcmocka-dev \
+                      libcurl4-gnutls-dev \
+                      libdaxctl-dev \
+                      libdrm-dev \
+                      libepoxy-dev \
+                      libfdt-dev \
+                      libffi-dev \
+                      libfuse3-dev \
+                      libgbm-dev \
+                      libgcrypt20-dev \
+                      libglib2.0-dev \
+                      libglusterfs-dev \
+                      libgnutls28-dev \
+                      libgtk-3-dev \
+                      libibumad-dev \
+                      libibverbs-dev \
+                      libiscsi-dev \
+                      libjemalloc-dev \
+                      libjpeg62-turbo-dev \
+                      libjson-c-dev \
+                      liblttng-ust-dev \
+                      liblzo2-dev \
+                      libncursesw5-dev \
+                      libnfs-dev \
+                      libnuma-dev \
+                      libpam0g-dev \
+                      libpcre2-dev \
+                      libpixman-1-dev \
+                      libpmem-dev \
+                      libpng-dev \
+                      libpulse-dev \
+                      librbd-dev \
+                      librdmacm-dev \
+                      libsasl2-dev \
+                      libsdl2-dev \
+                      libsdl2-image-dev \
+                      libseccomp-dev \
+                      libselinux1-dev \
+                      libslirp-dev \
+                      libsnappy-dev \
+                      libspice-protocol-dev \
+                      libspice-server-dev \
+                      libssh-gcrypt-dev \
+                      libsystemd-dev \
+                      libtasn1-6-dev \
+                      libubsan1 \
+                      libudev-dev \
+                      liburing-dev \
+                      libusb-1.0-0-dev \
+                      libusbredirhost-dev \
+                      libvdeplug-dev \
+                      libvirglrenderer-dev \
+                      libvte-2.91-dev \
+                      libxen-dev \
+                      libzstd-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      multipath-tools \
+                      ncat \
+                      nettle-dev \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      systemtap-sdt-dev \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo \
+                      xfslibs-dev \
+                      zlib1g-dev && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
@@ -140,11 +140,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 # netmap/cscope/global
 RUN DEBIAN_FRONTEND=noninteractive eatmydata \
   apt install -y --no-install-recommends \
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 17a5709245..1fbe2b1376 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture arm64 && \
@@ -74,75 +74,75 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-aarch64-linux-gnu \
-            gcc-aarch64-linux-gnu \
-            libaio-dev:arm64 \
-            libasan5:arm64 \
-            libasound2-dev:arm64 \
-            libattr1-dev:arm64 \
-            libbpf-dev:arm64 \
-            libbrlapi-dev:arm64 \
-            libbz2-dev:arm64 \
-            libc6-dev:arm64 \
-            libcacard-dev:arm64 \
-            libcap-ng-dev:arm64 \
-            libcapstone-dev:arm64 \
-            libcmocka-dev:arm64 \
-            libcurl4-gnutls-dev:arm64 \
-            libdaxctl-dev:arm64 \
-            libdrm-dev:arm64 \
-            libepoxy-dev:arm64 \
-            libfdt-dev:arm64 \
-            libffi-dev:arm64 \
-            libfuse3-dev:arm64 \
-            libgbm-dev:arm64 \
-            libgcrypt20-dev:arm64 \
-            libglib2.0-dev:arm64 \
-            libglusterfs-dev:arm64 \
-            libgnutls28-dev:arm64 \
-            libgtk-3-dev:arm64 \
-            libibumad-dev:arm64 \
-            libibverbs-dev:arm64 \
-            libiscsi-dev:arm64 \
-            libjemalloc-dev:arm64 \
-            libjpeg62-turbo-dev:arm64 \
-            libjson-c-dev:arm64 \
-            liblttng-ust-dev:arm64 \
-            liblzo2-dev:arm64 \
-            libncursesw5-dev:arm64 \
-            libnfs-dev:arm64 \
-            libnuma-dev:arm64 \
-            libpam0g-dev:arm64 \
-            libpixman-1-dev:arm64 \
-            libpng-dev:arm64 \
-            libpulse-dev:arm64 \
-            librbd-dev:arm64 \
-            librdmacm-dev:arm64 \
-            libsasl2-dev:arm64 \
-            libsdl2-dev:arm64 \
-            libsdl2-image-dev:arm64 \
-            libseccomp-dev:arm64 \
-            libselinux1-dev:arm64 \
-            libslirp-dev:arm64 \
-            libsnappy-dev:arm64 \
-            libspice-server-dev:arm64 \
-            libssh-gcrypt-dev:arm64 \
-            libsystemd-dev:arm64 \
-            libtasn1-6-dev:arm64 \
-            libubsan1:arm64 \
-            libudev-dev:arm64 \
-            liburing-dev:arm64 \
-            libusb-1.0-0-dev:arm64 \
-            libusbredirhost-dev:arm64 \
-            libvdeplug-dev:arm64 \
-            libvirglrenderer-dev:arm64 \
-            libvte-2.91-dev:arm64 \
-            libxen-dev:arm64 \
-            libzstd-dev:arm64 \
-            nettle-dev:arm64 \
-            systemtap-sdt-dev:arm64 \
-            xfslibs-dev:arm64 \
-            zlib1g-dev:arm64 && \
+                      g++-aarch64-linux-gnu \
+                      gcc-aarch64-linux-gnu \
+                      libaio-dev:arm64 \
+                      libasan5:arm64 \
+                      libasound2-dev:arm64 \
+                      libattr1-dev:arm64 \
+                      libbpf-dev:arm64 \
+                      libbrlapi-dev:arm64 \
+                      libbz2-dev:arm64 \
+                      libc6-dev:arm64 \
+                      libcacard-dev:arm64 \
+                      libcap-ng-dev:arm64 \
+                      libcapstone-dev:arm64 \
+                      libcmocka-dev:arm64 \
+                      libcurl4-gnutls-dev:arm64 \
+                      libdaxctl-dev:arm64 \
+                      libdrm-dev:arm64 \
+                      libepoxy-dev:arm64 \
+                      libfdt-dev:arm64 \
+                      libffi-dev:arm64 \
+                      libfuse3-dev:arm64 \
+                      libgbm-dev:arm64 \
+                      libgcrypt20-dev:arm64 \
+                      libglib2.0-dev:arm64 \
+                      libglusterfs-dev:arm64 \
+                      libgnutls28-dev:arm64 \
+                      libgtk-3-dev:arm64 \
+                      libibumad-dev:arm64 \
+                      libibverbs-dev:arm64 \
+                      libiscsi-dev:arm64 \
+                      libjemalloc-dev:arm64 \
+                      libjpeg62-turbo-dev:arm64 \
+                      libjson-c-dev:arm64 \
+                      liblttng-ust-dev:arm64 \
+                      liblzo2-dev:arm64 \
+                      libncursesw5-dev:arm64 \
+                      libnfs-dev:arm64 \
+                      libnuma-dev:arm64 \
+                      libpam0g-dev:arm64 \
+                      libpixman-1-dev:arm64 \
+                      libpng-dev:arm64 \
+                      libpulse-dev:arm64 \
+                      librbd-dev:arm64 \
+                      librdmacm-dev:arm64 \
+                      libsasl2-dev:arm64 \
+                      libsdl2-dev:arm64 \
+                      libsdl2-image-dev:arm64 \
+                      libseccomp-dev:arm64 \
+                      libselinux1-dev:arm64 \
+                      libslirp-dev:arm64 \
+                      libsnappy-dev:arm64 \
+                      libspice-server-dev:arm64 \
+                      libssh-gcrypt-dev:arm64 \
+                      libsystemd-dev:arm64 \
+                      libtasn1-6-dev:arm64 \
+                      libubsan1:arm64 \
+                      libudev-dev:arm64 \
+                      liburing-dev:arm64 \
+                      libusb-1.0-0-dev:arm64 \
+                      libusbredirhost-dev:arm64 \
+                      libvdeplug-dev:arm64 \
+                      libvirglrenderer-dev:arm64 \
+                      libvte-2.91-dev:arm64 \
+                      libxen-dev:arm64 \
+                      libzstd-dev:arm64 \
+                      nettle-dev:arm64 \
+                      systemtap-sdt-dev:arm64 \
+                      xfslibs-dev:arm64 \
+                      zlib1g-dev:arm64 && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/debian-armel-cross.docker b/tests/docker/dockerfiles/debian-armel-cross.docker
index 701fc70db0..a430900505 100644
--- a/tests/docker/dockerfiles/debian-armel-cross.docker
+++ b/tests/docker/dockerfiles/debian-armel-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture armel && \
@@ -74,74 +74,74 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-arm-linux-gnueabi \
-            gcc-arm-linux-gnueabi \
-            libaio-dev:armel \
-            libasan5:armel \
-            libasound2-dev:armel \
-            libattr1-dev:armel \
-            libbpf-dev:armel \
-            libbrlapi-dev:armel \
-            libbz2-dev:armel \
-            libc6-dev:armel \
-            libcacard-dev:armel \
-            libcap-ng-dev:armel \
-            libcapstone-dev:armel \
-            libcmocka-dev:armel \
-            libcurl4-gnutls-dev:armel \
-            libdaxctl-dev:armel \
-            libdrm-dev:armel \
-            libepoxy-dev:armel \
-            libfdt-dev:armel \
-            libffi-dev:armel \
-            libfuse3-dev:armel \
-            libgbm-dev:armel \
-            libgcrypt20-dev:armel \
-            libglib2.0-dev:armel \
-            libglusterfs-dev:armel \
-            libgnutls28-dev:armel \
-            libgtk-3-dev:armel \
-            libibumad-dev:armel \
-            libibverbs-dev:armel \
-            libiscsi-dev:armel \
-            libjemalloc-dev:armel \
-            libjpeg62-turbo-dev:armel \
-            libjson-c-dev:armel \
-            liblttng-ust-dev:armel \
-            liblzo2-dev:armel \
-            libncursesw5-dev:armel \
-            libnfs-dev:armel \
-            libnuma-dev:armel \
-            libpam0g-dev:armel \
-            libpixman-1-dev:armel \
-            libpng-dev:armel \
-            libpulse-dev:armel \
-            librbd-dev:armel \
-            librdmacm-dev:armel \
-            libsasl2-dev:armel \
-            libsdl2-dev:armel \
-            libsdl2-image-dev:armel \
-            libseccomp-dev:armel \
-            libselinux1-dev:armel \
-            libslirp-dev:armel \
-            libsnappy-dev:armel \
-            libspice-server-dev:armel \
-            libssh-gcrypt-dev:armel \
-            libsystemd-dev:armel \
-            libtasn1-6-dev:armel \
-            libubsan1:armel \
-            libudev-dev:armel \
-            liburing-dev:armel \
-            libusb-1.0-0-dev:armel \
-            libusbredirhost-dev:armel \
-            libvdeplug-dev:armel \
-            libvirglrenderer-dev:armel \
-            libvte-2.91-dev:armel \
-            libzstd-dev:armel \
-            nettle-dev:armel \
-            systemtap-sdt-dev:armel \
-            xfslibs-dev:armel \
-            zlib1g-dev:armel && \
+                      g++-arm-linux-gnueabi \
+                      gcc-arm-linux-gnueabi \
+                      libaio-dev:armel \
+                      libasan5:armel \
+                      libasound2-dev:armel \
+                      libattr1-dev:armel \
+                      libbpf-dev:armel \
+                      libbrlapi-dev:armel \
+                      libbz2-dev:armel \
+                      libc6-dev:armel \
+                      libcacard-dev:armel \
+                      libcap-ng-dev:armel \
+                      libcapstone-dev:armel \
+                      libcmocka-dev:armel \
+                      libcurl4-gnutls-dev:armel \
+                      libdaxctl-dev:armel \
+                      libdrm-dev:armel \
+                      libepoxy-dev:armel \
+                      libfdt-dev:armel \
+                      libffi-dev:armel \
+                      libfuse3-dev:armel \
+                      libgbm-dev:armel \
+                      libgcrypt20-dev:armel \
+                      libglib2.0-dev:armel \
+                      libglusterfs-dev:armel \
+                      libgnutls28-dev:armel \
+                      libgtk-3-dev:armel \
+                      libibumad-dev:armel \
+                      libibverbs-dev:armel \
+                      libiscsi-dev:armel \
+                      libjemalloc-dev:armel \
+                      libjpeg62-turbo-dev:armel \
+                      libjson-c-dev:armel \
+                      liblttng-ust-dev:armel \
+                      liblzo2-dev:armel \
+                      libncursesw5-dev:armel \
+                      libnfs-dev:armel \
+                      libnuma-dev:armel \
+                      libpam0g-dev:armel \
+                      libpixman-1-dev:armel \
+                      libpng-dev:armel \
+                      libpulse-dev:armel \
+                      librbd-dev:armel \
+                      librdmacm-dev:armel \
+                      libsasl2-dev:armel \
+                      libsdl2-dev:armel \
+                      libsdl2-image-dev:armel \
+                      libseccomp-dev:armel \
+                      libselinux1-dev:armel \
+                      libslirp-dev:armel \
+                      libsnappy-dev:armel \
+                      libspice-server-dev:armel \
+                      libssh-gcrypt-dev:armel \
+                      libsystemd-dev:armel \
+                      libtasn1-6-dev:armel \
+                      libubsan1:armel \
+                      libudev-dev:armel \
+                      liburing-dev:armel \
+                      libusb-1.0-0-dev:armel \
+                      libusbredirhost-dev:armel \
+                      libvdeplug-dev:armel \
+                      libvirglrenderer-dev:armel \
+                      libvte-2.91-dev:armel \
+                      libzstd-dev:armel \
+                      nettle-dev:armel \
+                      systemtap-sdt-dev:armel \
+                      xfslibs-dev:armel \
+                      zlib1g-dev:armel && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index 5a11fe3900..4c54898420 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture armhf && \
@@ -74,75 +74,75 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-arm-linux-gnueabihf \
-            gcc-arm-linux-gnueabihf \
-            libaio-dev:armhf \
-            libasan5:armhf \
-            libasound2-dev:armhf \
-            libattr1-dev:armhf \
-            libbpf-dev:armhf \
-            libbrlapi-dev:armhf \
-            libbz2-dev:armhf \
-            libc6-dev:armhf \
-            libcacard-dev:armhf \
-            libcap-ng-dev:armhf \
-            libcapstone-dev:armhf \
-            libcmocka-dev:armhf \
-            libcurl4-gnutls-dev:armhf \
-            libdaxctl-dev:armhf \
-            libdrm-dev:armhf \
-            libepoxy-dev:armhf \
-            libfdt-dev:armhf \
-            libffi-dev:armhf \
-            libfuse3-dev:armhf \
-            libgbm-dev:armhf \
-            libgcrypt20-dev:armhf \
-            libglib2.0-dev:armhf \
-            libglusterfs-dev:armhf \
-            libgnutls28-dev:armhf \
-            libgtk-3-dev:armhf \
-            libibumad-dev:armhf \
-            libibverbs-dev:armhf \
-            libiscsi-dev:armhf \
-            libjemalloc-dev:armhf \
-            libjpeg62-turbo-dev:armhf \
-            libjson-c-dev:armhf \
-            liblttng-ust-dev:armhf \
-            liblzo2-dev:armhf \
-            libncursesw5-dev:armhf \
-            libnfs-dev:armhf \
-            libnuma-dev:armhf \
-            libpam0g-dev:armhf \
-            libpixman-1-dev:armhf \
-            libpng-dev:armhf \
-            libpulse-dev:armhf \
-            librbd-dev:armhf \
-            librdmacm-dev:armhf \
-            libsasl2-dev:armhf \
-            libsdl2-dev:armhf \
-            libsdl2-image-dev:armhf \
-            libseccomp-dev:armhf \
-            libselinux1-dev:armhf \
-            libslirp-dev:armhf \
-            libsnappy-dev:armhf \
-            libspice-server-dev:armhf \
-            libssh-gcrypt-dev:armhf \
-            libsystemd-dev:armhf \
-            libtasn1-6-dev:armhf \
-            libubsan1:armhf \
-            libudev-dev:armhf \
-            liburing-dev:armhf \
-            libusb-1.0-0-dev:armhf \
-            libusbredirhost-dev:armhf \
-            libvdeplug-dev:armhf \
-            libvirglrenderer-dev:armhf \
-            libvte-2.91-dev:armhf \
-            libxen-dev:armhf \
-            libzstd-dev:armhf \
-            nettle-dev:armhf \
-            systemtap-sdt-dev:armhf \
-            xfslibs-dev:armhf \
-            zlib1g-dev:armhf && \
+                      g++-arm-linux-gnueabihf \
+                      gcc-arm-linux-gnueabihf \
+                      libaio-dev:armhf \
+                      libasan5:armhf \
+                      libasound2-dev:armhf \
+                      libattr1-dev:armhf \
+                      libbpf-dev:armhf \
+                      libbrlapi-dev:armhf \
+                      libbz2-dev:armhf \
+                      libc6-dev:armhf \
+                      libcacard-dev:armhf \
+                      libcap-ng-dev:armhf \
+                      libcapstone-dev:armhf \
+                      libcmocka-dev:armhf \
+                      libcurl4-gnutls-dev:armhf \
+                      libdaxctl-dev:armhf \
+                      libdrm-dev:armhf \
+                      libepoxy-dev:armhf \
+                      libfdt-dev:armhf \
+                      libffi-dev:armhf \
+                      libfuse3-dev:armhf \
+                      libgbm-dev:armhf \
+                      libgcrypt20-dev:armhf \
+                      libglib2.0-dev:armhf \
+                      libglusterfs-dev:armhf \
+                      libgnutls28-dev:armhf \
+                      libgtk-3-dev:armhf \
+                      libibumad-dev:armhf \
+                      libibverbs-dev:armhf \
+                      libiscsi-dev:armhf \
+                      libjemalloc-dev:armhf \
+                      libjpeg62-turbo-dev:armhf \
+                      libjson-c-dev:armhf \
+                      liblttng-ust-dev:armhf \
+                      liblzo2-dev:armhf \
+                      libncursesw5-dev:armhf \
+                      libnfs-dev:armhf \
+                      libnuma-dev:armhf \
+                      libpam0g-dev:armhf \
+                      libpixman-1-dev:armhf \
+                      libpng-dev:armhf \
+                      libpulse-dev:armhf \
+                      librbd-dev:armhf \
+                      librdmacm-dev:armhf \
+                      libsasl2-dev:armhf \
+                      libsdl2-dev:armhf \
+                      libsdl2-image-dev:armhf \
+                      libseccomp-dev:armhf \
+                      libselinux1-dev:armhf \
+                      libslirp-dev:armhf \
+                      libsnappy-dev:armhf \
+                      libspice-server-dev:armhf \
+                      libssh-gcrypt-dev:armhf \
+                      libsystemd-dev:armhf \
+                      libtasn1-6-dev:armhf \
+                      libubsan1:armhf \
+                      libudev-dev:armhf \
+                      liburing-dev:armhf \
+                      libusb-1.0-0-dev:armhf \
+                      libusbredirhost-dev:armhf \
+                      libvdeplug-dev:armhf \
+                      libvirglrenderer-dev:armhf \
+                      libvte-2.91-dev:armhf \
+                      libxen-dev:armhf \
+                      libzstd-dev:armhf \
+                      nettle-dev:armhf \
+                      systemtap-sdt-dev:armhf \
+                      xfslibs-dev:armhf \
+                      zlib1g-dev:armhf && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
index 9b90a4d6ff..c0d4b0df17 100644
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture mips64el && \
@@ -74,72 +74,72 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-mips64el-linux-gnuabi64 \
-            gcc-mips64el-linux-gnuabi64 \
-            libaio-dev:mips64el \
-            libasound2-dev:mips64el \
-            libattr1-dev:mips64el \
-            libbpf-dev:mips64el \
-            libbrlapi-dev:mips64el \
-            libbz2-dev:mips64el \
-            libc6-dev:mips64el \
-            libcacard-dev:mips64el \
-            libcap-ng-dev:mips64el \
-            libcapstone-dev:mips64el \
-            libcmocka-dev:mips64el \
-            libcurl4-gnutls-dev:mips64el \
-            libdaxctl-dev:mips64el \
-            libdrm-dev:mips64el \
-            libepoxy-dev:mips64el \
-            libfdt-dev:mips64el \
-            libffi-dev:mips64el \
-            libfuse3-dev:mips64el \
-            libgbm-dev:mips64el \
-            libgcrypt20-dev:mips64el \
-            libglib2.0-dev:mips64el \
-            libglusterfs-dev:mips64el \
-            libgnutls28-dev:mips64el \
-            libgtk-3-dev:mips64el \
-            libibumad-dev:mips64el \
-            libibverbs-dev:mips64el \
-            libiscsi-dev:mips64el \
-            libjemalloc-dev:mips64el \
-            libjpeg62-turbo-dev:mips64el \
-            libjson-c-dev:mips64el \
-            liblttng-ust-dev:mips64el \
-            liblzo2-dev:mips64el \
-            libncursesw5-dev:mips64el \
-            libnfs-dev:mips64el \
-            libnuma-dev:mips64el \
-            libpam0g-dev:mips64el \
-            libpixman-1-dev:mips64el \
-            libpng-dev:mips64el \
-            libpulse-dev:mips64el \
-            librbd-dev:mips64el \
-            librdmacm-dev:mips64el \
-            libsasl2-dev:mips64el \
-            libsdl2-dev:mips64el \
-            libsdl2-image-dev:mips64el \
-            libseccomp-dev:mips64el \
-            libselinux1-dev:mips64el \
-            libslirp-dev:mips64el \
-            libsnappy-dev:mips64el \
-            libspice-server-dev:mips64el \
-            libssh-gcrypt-dev:mips64el \
-            libsystemd-dev:mips64el \
-            libtasn1-6-dev:mips64el \
-            libudev-dev:mips64el \
-            liburing-dev:mips64el \
-            libusb-1.0-0-dev:mips64el \
-            libusbredirhost-dev:mips64el \
-            libvdeplug-dev:mips64el \
-            libvirglrenderer-dev:mips64el \
-            libvte-2.91-dev:mips64el \
-            libzstd-dev:mips64el \
-            nettle-dev:mips64el \
-            systemtap-sdt-dev:mips64el \
-            xfslibs-dev:mips64el \
-            zlib1g-dev:mips64el && \
+                      g++-mips64el-linux-gnuabi64 \
+                      gcc-mips64el-linux-gnuabi64 \
+                      libaio-dev:mips64el \
+                      libasound2-dev:mips64el \
+                      libattr1-dev:mips64el \
+                      libbpf-dev:mips64el \
+                      libbrlapi-dev:mips64el \
+                      libbz2-dev:mips64el \
+                      libc6-dev:mips64el \
+                      libcacard-dev:mips64el \
+                      libcap-ng-dev:mips64el \
+                      libcapstone-dev:mips64el \
+                      libcmocka-dev:mips64el \
+                      libcurl4-gnutls-dev:mips64el \
+                      libdaxctl-dev:mips64el \
+                      libdrm-dev:mips64el \
+                      libepoxy-dev:mips64el \
+                      libfdt-dev:mips64el \
+                      libffi-dev:mips64el \
+                      libfuse3-dev:mips64el \
+                      libgbm-dev:mips64el \
+                      libgcrypt20-dev:mips64el \
+                      libglib2.0-dev:mips64el \
+                      libglusterfs-dev:mips64el \
+                      libgnutls28-dev:mips64el \
+                      libgtk-3-dev:mips64el \
+                      libibumad-dev:mips64el \
+                      libibverbs-dev:mips64el \
+                      libiscsi-dev:mips64el \
+                      libjemalloc-dev:mips64el \
+                      libjpeg62-turbo-dev:mips64el \
+                      libjson-c-dev:mips64el \
+                      liblttng-ust-dev:mips64el \
+                      liblzo2-dev:mips64el \
+                      libncursesw5-dev:mips64el \
+                      libnfs-dev:mips64el \
+                      libnuma-dev:mips64el \
+                      libpam0g-dev:mips64el \
+                      libpixman-1-dev:mips64el \
+                      libpng-dev:mips64el \
+                      libpulse-dev:mips64el \
+                      librbd-dev:mips64el \
+                      librdmacm-dev:mips64el \
+                      libsasl2-dev:mips64el \
+                      libsdl2-dev:mips64el \
+                      libsdl2-image-dev:mips64el \
+                      libseccomp-dev:mips64el \
+                      libselinux1-dev:mips64el \
+                      libslirp-dev:mips64el \
+                      libsnappy-dev:mips64el \
+                      libspice-server-dev:mips64el \
+                      libssh-gcrypt-dev:mips64el \
+                      libsystemd-dev:mips64el \
+                      libtasn1-6-dev:mips64el \
+                      libudev-dev:mips64el \
+                      liburing-dev:mips64el \
+                      libusb-1.0-0-dev:mips64el \
+                      libusbredirhost-dev:mips64el \
+                      libvdeplug-dev:mips64el \
+                      libvirglrenderer-dev:mips64el \
+                      libvte-2.91-dev:mips64el \
+                      libzstd-dev:mips64el \
+                      nettle-dev:mips64el \
+                      systemtap-sdt-dev:mips64el \
+                      xfslibs-dev:mips64el \
+                      zlib1g-dev:mips64el && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index 02feaf26cb..940b6794d1 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture mipsel && \
@@ -74,72 +74,72 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-mipsel-linux-gnu \
-            gcc-mipsel-linux-gnu \
-            libaio-dev:mipsel \
-            libasound2-dev:mipsel \
-            libattr1-dev:mipsel \
-            libbpf-dev:mipsel \
-            libbrlapi-dev:mipsel \
-            libbz2-dev:mipsel \
-            libc6-dev:mipsel \
-            libcacard-dev:mipsel \
-            libcap-ng-dev:mipsel \
-            libcapstone-dev:mipsel \
-            libcmocka-dev:mipsel \
-            libcurl4-gnutls-dev:mipsel \
-            libdaxctl-dev:mipsel \
-            libdrm-dev:mipsel \
-            libepoxy-dev:mipsel \
-            libfdt-dev:mipsel \
-            libffi-dev:mipsel \
-            libfuse3-dev:mipsel \
-            libgbm-dev:mipsel \
-            libgcrypt20-dev:mipsel \
-            libglib2.0-dev:mipsel \
-            libglusterfs-dev:mipsel \
-            libgnutls28-dev:mipsel \
-            libgtk-3-dev:mipsel \
-            libibumad-dev:mipsel \
-            libibverbs-dev:mipsel \
-            libiscsi-dev:mipsel \
-            libjemalloc-dev:mipsel \
-            libjpeg62-turbo-dev:mipsel \
-            libjson-c-dev:mipsel \
-            liblttng-ust-dev:mipsel \
-            liblzo2-dev:mipsel \
-            libncursesw5-dev:mipsel \
-            libnfs-dev:mipsel \
-            libnuma-dev:mipsel \
-            libpam0g-dev:mipsel \
-            libpixman-1-dev:mipsel \
-            libpng-dev:mipsel \
-            libpulse-dev:mipsel \
-            librbd-dev:mipsel \
-            librdmacm-dev:mipsel \
-            libsasl2-dev:mipsel \
-            libsdl2-dev:mipsel \
-            libsdl2-image-dev:mipsel \
-            libseccomp-dev:mipsel \
-            libselinux1-dev:mipsel \
-            libslirp-dev:mipsel \
-            libsnappy-dev:mipsel \
-            libspice-server-dev:mipsel \
-            libssh-gcrypt-dev:mipsel \
-            libsystemd-dev:mipsel \
-            libtasn1-6-dev:mipsel \
-            libudev-dev:mipsel \
-            liburing-dev:mipsel \
-            libusb-1.0-0-dev:mipsel \
-            libusbredirhost-dev:mipsel \
-            libvdeplug-dev:mipsel \
-            libvirglrenderer-dev:mipsel \
-            libvte-2.91-dev:mipsel \
-            libzstd-dev:mipsel \
-            nettle-dev:mipsel \
-            systemtap-sdt-dev:mipsel \
-            xfslibs-dev:mipsel \
-            zlib1g-dev:mipsel && \
+                      g++-mipsel-linux-gnu \
+                      gcc-mipsel-linux-gnu \
+                      libaio-dev:mipsel \
+                      libasound2-dev:mipsel \
+                      libattr1-dev:mipsel \
+                      libbpf-dev:mipsel \
+                      libbrlapi-dev:mipsel \
+                      libbz2-dev:mipsel \
+                      libc6-dev:mipsel \
+                      libcacard-dev:mipsel \
+                      libcap-ng-dev:mipsel \
+                      libcapstone-dev:mipsel \
+                      libcmocka-dev:mipsel \
+                      libcurl4-gnutls-dev:mipsel \
+                      libdaxctl-dev:mipsel \
+                      libdrm-dev:mipsel \
+                      libepoxy-dev:mipsel \
+                      libfdt-dev:mipsel \
+                      libffi-dev:mipsel \
+                      libfuse3-dev:mipsel \
+                      libgbm-dev:mipsel \
+                      libgcrypt20-dev:mipsel \
+                      libglib2.0-dev:mipsel \
+                      libglusterfs-dev:mipsel \
+                      libgnutls28-dev:mipsel \
+                      libgtk-3-dev:mipsel \
+                      libibumad-dev:mipsel \
+                      libibverbs-dev:mipsel \
+                      libiscsi-dev:mipsel \
+                      libjemalloc-dev:mipsel \
+                      libjpeg62-turbo-dev:mipsel \
+                      libjson-c-dev:mipsel \
+                      liblttng-ust-dev:mipsel \
+                      liblzo2-dev:mipsel \
+                      libncursesw5-dev:mipsel \
+                      libnfs-dev:mipsel \
+                      libnuma-dev:mipsel \
+                      libpam0g-dev:mipsel \
+                      libpixman-1-dev:mipsel \
+                      libpng-dev:mipsel \
+                      libpulse-dev:mipsel \
+                      librbd-dev:mipsel \
+                      librdmacm-dev:mipsel \
+                      libsasl2-dev:mipsel \
+                      libsdl2-dev:mipsel \
+                      libsdl2-image-dev:mipsel \
+                      libseccomp-dev:mipsel \
+                      libselinux1-dev:mipsel \
+                      libslirp-dev:mipsel \
+                      libsnappy-dev:mipsel \
+                      libspice-server-dev:mipsel \
+                      libssh-gcrypt-dev:mipsel \
+                      libsystemd-dev:mipsel \
+                      libtasn1-6-dev:mipsel \
+                      libudev-dev:mipsel \
+                      liburing-dev:mipsel \
+                      libusb-1.0-0-dev:mipsel \
+                      libusbredirhost-dev:mipsel \
+                      libvdeplug-dev:mipsel \
+                      libvirglrenderer-dev:mipsel \
+                      libvte-2.91-dev:mipsel \
+                      libzstd-dev:mipsel \
+                      nettle-dev:mipsel \
+                      systemtap-sdt-dev:mipsel \
+                      xfslibs-dev:mipsel \
+                      zlib1g-dev:mipsel && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index 97d3872ee2..2d59288622 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture ppc64el && \
@@ -74,74 +74,74 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-powerpc64le-linux-gnu \
-            gcc-powerpc64le-linux-gnu \
-            libaio-dev:ppc64el \
-            libasan5:ppc64el \
-            libasound2-dev:ppc64el \
-            libattr1-dev:ppc64el \
-            libbpf-dev:ppc64el \
-            libbrlapi-dev:ppc64el \
-            libbz2-dev:ppc64el \
-            libc6-dev:ppc64el \
-            libcacard-dev:ppc64el \
-            libcap-ng-dev:ppc64el \
-            libcapstone-dev:ppc64el \
-            libcmocka-dev:ppc64el \
-            libcurl4-gnutls-dev:ppc64el \
-            libdaxctl-dev:ppc64el \
-            libdrm-dev:ppc64el \
-            libepoxy-dev:ppc64el \
-            libfdt-dev:ppc64el \
-            libffi-dev:ppc64el \
-            libfuse3-dev:ppc64el \
-            libgbm-dev:ppc64el \
-            libgcrypt20-dev:ppc64el \
-            libglib2.0-dev:ppc64el \
-            libglusterfs-dev:ppc64el \
-            libgnutls28-dev:ppc64el \
-            libgtk-3-dev:ppc64el \
-            libibumad-dev:ppc64el \
-            libibverbs-dev:ppc64el \
-            libiscsi-dev:ppc64el \
-            libjemalloc-dev:ppc64el \
-            libjpeg62-turbo-dev:ppc64el \
-            libjson-c-dev:ppc64el \
-            liblttng-ust-dev:ppc64el \
-            liblzo2-dev:ppc64el \
-            libncursesw5-dev:ppc64el \
-            libnfs-dev:ppc64el \
-            libnuma-dev:ppc64el \
-            libpam0g-dev:ppc64el \
-            libpixman-1-dev:ppc64el \
-            libpng-dev:ppc64el \
-            libpulse-dev:ppc64el \
-            librbd-dev:ppc64el \
-            librdmacm-dev:ppc64el \
-            libsasl2-dev:ppc64el \
-            libsdl2-dev:ppc64el \
-            libsdl2-image-dev:ppc64el \
-            libseccomp-dev:ppc64el \
-            libselinux1-dev:ppc64el \
-            libslirp-dev:ppc64el \
-            libsnappy-dev:ppc64el \
-            libspice-server-dev:ppc64el \
-            libssh-gcrypt-dev:ppc64el \
-            libsystemd-dev:ppc64el \
-            libtasn1-6-dev:ppc64el \
-            libubsan1:ppc64el \
-            libudev-dev:ppc64el \
-            liburing-dev:ppc64el \
-            libusb-1.0-0-dev:ppc64el \
-            libusbredirhost-dev:ppc64el \
-            libvdeplug-dev:ppc64el \
-            libvirglrenderer-dev:ppc64el \
-            libvte-2.91-dev:ppc64el \
-            libzstd-dev:ppc64el \
-            nettle-dev:ppc64el \
-            systemtap-sdt-dev:ppc64el \
-            xfslibs-dev:ppc64el \
-            zlib1g-dev:ppc64el && \
+                      g++-powerpc64le-linux-gnu \
+                      gcc-powerpc64le-linux-gnu \
+                      libaio-dev:ppc64el \
+                      libasan5:ppc64el \
+                      libasound2-dev:ppc64el \
+                      libattr1-dev:ppc64el \
+                      libbpf-dev:ppc64el \
+                      libbrlapi-dev:ppc64el \
+                      libbz2-dev:ppc64el \
+                      libc6-dev:ppc64el \
+                      libcacard-dev:ppc64el \
+                      libcap-ng-dev:ppc64el \
+                      libcapstone-dev:ppc64el \
+                      libcmocka-dev:ppc64el \
+                      libcurl4-gnutls-dev:ppc64el \
+                      libdaxctl-dev:ppc64el \
+                      libdrm-dev:ppc64el \
+                      libepoxy-dev:ppc64el \
+                      libfdt-dev:ppc64el \
+                      libffi-dev:ppc64el \
+                      libfuse3-dev:ppc64el \
+                      libgbm-dev:ppc64el \
+                      libgcrypt20-dev:ppc64el \
+                      libglib2.0-dev:ppc64el \
+                      libglusterfs-dev:ppc64el \
+                      libgnutls28-dev:ppc64el \
+                      libgtk-3-dev:ppc64el \
+                      libibumad-dev:ppc64el \
+                      libibverbs-dev:ppc64el \
+                      libiscsi-dev:ppc64el \
+                      libjemalloc-dev:ppc64el \
+                      libjpeg62-turbo-dev:ppc64el \
+                      libjson-c-dev:ppc64el \
+                      liblttng-ust-dev:ppc64el \
+                      liblzo2-dev:ppc64el \
+                      libncursesw5-dev:ppc64el \
+                      libnfs-dev:ppc64el \
+                      libnuma-dev:ppc64el \
+                      libpam0g-dev:ppc64el \
+                      libpixman-1-dev:ppc64el \
+                      libpng-dev:ppc64el \
+                      libpulse-dev:ppc64el \
+                      librbd-dev:ppc64el \
+                      librdmacm-dev:ppc64el \
+                      libsasl2-dev:ppc64el \
+                      libsdl2-dev:ppc64el \
+                      libsdl2-image-dev:ppc64el \
+                      libseccomp-dev:ppc64el \
+                      libselinux1-dev:ppc64el \
+                      libslirp-dev:ppc64el \
+                      libsnappy-dev:ppc64el \
+                      libspice-server-dev:ppc64el \
+                      libssh-gcrypt-dev:ppc64el \
+                      libsystemd-dev:ppc64el \
+                      libtasn1-6-dev:ppc64el \
+                      libubsan1:ppc64el \
+                      libudev-dev:ppc64el \
+                      liburing-dev:ppc64el \
+                      libusb-1.0-0-dev:ppc64el \
+                      libusbredirhost-dev:ppc64el \
+                      libvdeplug-dev:ppc64el \
+                      libvirglrenderer-dev:ppc64el \
+                      libvte-2.91-dev:ppc64el \
+                      libzstd-dev:ppc64el \
+                      nettle-dev:ppc64el \
+                      systemtap-sdt-dev:ppc64el \
+                      xfslibs-dev:ppc64el \
+                      zlib1g-dev:ppc64el && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index 95585e9e56..a105c1066e 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdextrautils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libglib2.0-dev \
-            libpcre2-dev \
-            libspice-protocol-dev \
-            llvm \
-            locales \
-            make \
-            meson \
-            ncat \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdextrautils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libglib2.0-dev \
+                      libpcre2-dev \
+                      libspice-protocol-dev \
+                      llvm \
+                      locales \
+                      make \
+                      meson \
+                      ncat \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
     dpkg-reconfigure locales
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg --add-architecture s390x && \
@@ -74,73 +74,73 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
     eatmydata apt-get install --no-install-recommends -y \
-            g++-s390x-linux-gnu \
-            gcc-s390x-linux-gnu \
-            libaio-dev:s390x \
-            libasan5:s390x \
-            libasound2-dev:s390x \
-            libattr1-dev:s390x \
-            libbpf-dev:s390x \
-            libbrlapi-dev:s390x \
-            libbz2-dev:s390x \
-            libc6-dev:s390x \
-            libcacard-dev:s390x \
-            libcap-ng-dev:s390x \
-            libcapstone-dev:s390x \
-            libcmocka-dev:s390x \
-            libcurl4-gnutls-dev:s390x \
-            libdaxctl-dev:s390x \
-            libdrm-dev:s390x \
-            libepoxy-dev:s390x \
-            libfdt-dev:s390x \
-            libffi-dev:s390x \
-            libfuse3-dev:s390x \
-            libgbm-dev:s390x \
-            libgcrypt20-dev:s390x \
-            libglib2.0-dev:s390x \
-            libglusterfs-dev:s390x \
-            libgnutls28-dev:s390x \
-            libgtk-3-dev:s390x \
-            libibumad-dev:s390x \
-            libibverbs-dev:s390x \
-            libiscsi-dev:s390x \
-            libjemalloc-dev:s390x \
-            libjpeg62-turbo-dev:s390x \
-            libjson-c-dev:s390x \
-            liblttng-ust-dev:s390x \
-            liblzo2-dev:s390x \
-            libncursesw5-dev:s390x \
-            libnfs-dev:s390x \
-            libnuma-dev:s390x \
-            libpam0g-dev:s390x \
-            libpixman-1-dev:s390x \
-            libpng-dev:s390x \
-            libpulse-dev:s390x \
-            librbd-dev:s390x \
-            librdmacm-dev:s390x \
-            libsasl2-dev:s390x \
-            libsdl2-dev:s390x \
-            libsdl2-image-dev:s390x \
-            libseccomp-dev:s390x \
-            libselinux1-dev:s390x \
-            libslirp-dev:s390x \
-            libsnappy-dev:s390x \
-            libssh-gcrypt-dev:s390x \
-            libsystemd-dev:s390x \
-            libtasn1-6-dev:s390x \
-            libubsan1:s390x \
-            libudev-dev:s390x \
-            liburing-dev:s390x \
-            libusb-1.0-0-dev:s390x \
-            libusbredirhost-dev:s390x \
-            libvdeplug-dev:s390x \
-            libvirglrenderer-dev:s390x \
-            libvte-2.91-dev:s390x \
-            libzstd-dev:s390x \
-            nettle-dev:s390x \
-            systemtap-sdt-dev:s390x \
-            xfslibs-dev:s390x \
-            zlib1g-dev:s390x && \
+                      g++-s390x-linux-gnu \
+                      gcc-s390x-linux-gnu \
+                      libaio-dev:s390x \
+                      libasan5:s390x \
+                      libasound2-dev:s390x \
+                      libattr1-dev:s390x \
+                      libbpf-dev:s390x \
+                      libbrlapi-dev:s390x \
+                      libbz2-dev:s390x \
+                      libc6-dev:s390x \
+                      libcacard-dev:s390x \
+                      libcap-ng-dev:s390x \
+                      libcapstone-dev:s390x \
+                      libcmocka-dev:s390x \
+                      libcurl4-gnutls-dev:s390x \
+                      libdaxctl-dev:s390x \
+                      libdrm-dev:s390x \
+                      libepoxy-dev:s390x \
+                      libfdt-dev:s390x \
+                      libffi-dev:s390x \
+                      libfuse3-dev:s390x \
+                      libgbm-dev:s390x \
+                      libgcrypt20-dev:s390x \
+                      libglib2.0-dev:s390x \
+                      libglusterfs-dev:s390x \
+                      libgnutls28-dev:s390x \
+                      libgtk-3-dev:s390x \
+                      libibumad-dev:s390x \
+                      libibverbs-dev:s390x \
+                      libiscsi-dev:s390x \
+                      libjemalloc-dev:s390x \
+                      libjpeg62-turbo-dev:s390x \
+                      libjson-c-dev:s390x \
+                      liblttng-ust-dev:s390x \
+                      liblzo2-dev:s390x \
+                      libncursesw5-dev:s390x \
+                      libnfs-dev:s390x \
+                      libnuma-dev:s390x \
+                      libpam0g-dev:s390x \
+                      libpixman-1-dev:s390x \
+                      libpng-dev:s390x \
+                      libpulse-dev:s390x \
+                      librbd-dev:s390x \
+                      librdmacm-dev:s390x \
+                      libsasl2-dev:s390x \
+                      libsdl2-dev:s390x \
+                      libsdl2-image-dev:s390x \
+                      libseccomp-dev:s390x \
+                      libselinux1-dev:s390x \
+                      libslirp-dev:s390x \
+                      libsnappy-dev:s390x \
+                      libssh-gcrypt-dev:s390x \
+                      libsystemd-dev:s390x \
+                      libtasn1-6-dev:s390x \
+                      libubsan1:s390x \
+                      libudev-dev:s390x \
+                      liburing-dev:s390x \
+                      libusb-1.0-0-dev:s390x \
+                      libusbredirhost-dev:s390x \
+                      libvdeplug-dev:s390x \
+                      libvirglrenderer-dev:s390x \
+                      libvte-2.91-dev:s390x \
+                      libzstd-dev:s390x \
+                      nettle-dev:s390x \
+                      systemtap-sdt-dev:s390x \
+                      xfslibs-dev:s390x \
+                      zlib1g-dev:s390x && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     mkdir -p /usr/local/share/meson/cross && \
diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
index aca37aabc4..75383ba185 100644
--- a/tests/docker/dockerfiles/fedora-win32-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
@@ -1,46 +1,103 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool dockerfile --layers all --cross mingw32 fedora-35 qemu
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
 FROM registry.fedoraproject.org/fedora:35
 
-# Please keep this list sorted alphabetically
-ENV PACKAGES \
-    bc \
-    bison \
-    bzip2 \
-    ccache \
-    diffutils \
-    findutils \
-    flex \
-    gcc \
-    gettext \
-    git \
-    glib2-devel \
-    hostname \
-    make \
-    meson \
-    mingw32-bzip2 \
-    mingw32-curl \
-    mingw32-glib2 \
-    mingw32-gmp \
-    mingw32-gnutls \
-    mingw32-gtk3 \
-    mingw32-libffi \
-    mingw32-libjpeg-turbo \
-    mingw32-libpng \
-    mingw32-libtasn1 \
-    mingw32-libusbx \
-    mingw32-nettle \
-    mingw32-nsis \
-    mingw32-pixman \
-    mingw32-pkg-config \
-    mingw32-SDL2 \
-    msitools \
-    perl \
-    python3 \
-    python3-PyYAML \
-    tar \
-    which
+RUN dnf install -y nosync && \
+    echo -e '#!/bin/sh\n\
+if test -d /usr/lib64\n\
+then\n\
+    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
+else\n\
+    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
+fi\n\
+exec "$@"' > /usr/bin/nosync && \
+    chmod +x /usr/bin/nosync && \
+    nosync dnf update -y && \
+    nosync dnf install -y \
+               bash \
+               bc \
+               bison \
+               bzip2 \
+               ca-certificates \
+               ccache \
+               ctags \
+               dbus-daemon \
+               diffutils \
+               findutils \
+               flex \
+               gcovr \
+               genisoimage \
+               git \
+               glib2-devel \
+               glibc-langpack-en \
+               hostname \
+               llvm \
+               make \
+               meson \
+               ninja-build \
+               nmap-ncat \
+               openssh-clients \
+               pcre-static \
+               perl-base \
+               python3 \
+               python3-PyYAML \
+               python3-numpy \
+               python3-opencv \
+               python3-pillow \
+               python3-pip \
+               python3-sphinx \
+               python3-sphinx_rtd_theme \
+               rpm \
+               sed \
+               sparse \
+               spice-protocol \
+               tar \
+               tesseract \
+               tesseract-langpack-eng \
+               texinfo \
+               util-linux \
+               which && \
+    nosync dnf autoremove -y && \
+    nosync dnf clean all -y
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
+ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
 
-RUN dnf install -y $PACKAGES
-RUN rpm -q $PACKAGES | sort > /packages.txt
+RUN nosync dnf install -y \
+               mingw32-SDL2 \
+               mingw32-SDL2_image \
+               mingw32-bzip2 \
+               mingw32-curl \
+               mingw32-gcc \
+               mingw32-gcc-c++ \
+               mingw32-gettext \
+               mingw32-glib2 \
+               mingw32-gnutls \
+               mingw32-gtk3 \
+               mingw32-libgcrypt \
+               mingw32-libjpeg-turbo \
+               mingw32-libpng \
+               mingw32-libtasn1 \
+               mingw32-nettle \
+               mingw32-nsis \
+               mingw32-pixman \
+               mingw32-pkg-config && \
+    nosync dnf clean all -y && \
+    rpm -qa | sort > /packages.txt && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
 
-# Specify the cross prefix for this image (see tests/docker/common.rc)
+ENV ABI "i686-w64-mingw32"
+ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
 ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
+ENV DEF_TARGET_LIST i386-softmmu
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index 3642766479..98c03dc13b 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -1,43 +1,103 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool dockerfile --layers all --cross mingw64 fedora-35 qemu
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
 FROM registry.fedoraproject.org/fedora:35
 
-# Please keep this list sorted alphabetically
-ENV PACKAGES \
-    bc \
-    bison \
-    bzip2 \
-    ccache \
-    diffutils \
-    findutils \
-    flex \
-    gcc \
-    gettext \
-    git \
-    glib2-devel \
-    hostname \
-    make \
-    meson \
-    mingw32-nsis \
-    mingw64-bzip2 \
-    mingw64-curl \
-    mingw64-glib2 \
-    mingw64-gmp \
-    mingw64-gtk3 \
-    mingw64-libffi \
-    mingw64-libjpeg-turbo \
-    mingw64-libpng \
-    mingw64-libtasn1 \
-    mingw64-libusbx \
-    mingw64-pixman \
-    mingw64-pkg-config \
-    msitools \
-    perl \
-    python3 \
-    python3-PyYAML \
-    tar \
-    which
+RUN dnf install -y nosync && \
+    echo -e '#!/bin/sh\n\
+if test -d /usr/lib64\n\
+then\n\
+    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
+else\n\
+    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
+fi\n\
+exec "$@"' > /usr/bin/nosync && \
+    chmod +x /usr/bin/nosync && \
+    nosync dnf update -y && \
+    nosync dnf install -y \
+               bash \
+               bc \
+               bison \
+               bzip2 \
+               ca-certificates \
+               ccache \
+               ctags \
+               dbus-daemon \
+               diffutils \
+               findutils \
+               flex \
+               gcovr \
+               genisoimage \
+               git \
+               glib2-devel \
+               glibc-langpack-en \
+               hostname \
+               llvm \
+               make \
+               meson \
+               ninja-build \
+               nmap-ncat \
+               openssh-clients \
+               pcre-static \
+               perl-base \
+               python3 \
+               python3-PyYAML \
+               python3-numpy \
+               python3-opencv \
+               python3-pillow \
+               python3-pip \
+               python3-sphinx \
+               python3-sphinx_rtd_theme \
+               rpm \
+               sed \
+               sparse \
+               spice-protocol \
+               tar \
+               tesseract \
+               tesseract-langpack-eng \
+               texinfo \
+               util-linux \
+               which && \
+    nosync dnf autoremove -y && \
+    nosync dnf clean all -y
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
+ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
 
-RUN dnf install -y $PACKAGES
-RUN rpm -q $PACKAGES | sort > /packages.txt
+RUN nosync dnf install -y \
+               mingw32-nsis \
+               mingw64-SDL2 \
+               mingw64-SDL2_image \
+               mingw64-bzip2 \
+               mingw64-curl \
+               mingw64-gcc \
+               mingw64-gcc-c++ \
+               mingw64-gettext \
+               mingw64-glib2 \
+               mingw64-gnutls \
+               mingw64-gtk3 \
+               mingw64-libgcrypt \
+               mingw64-libjpeg-turbo \
+               mingw64-libpng \
+               mingw64-libtasn1 \
+               mingw64-nettle \
+               mingw64-pixman \
+               mingw64-pkg-config && \
+    nosync dnf clean all -y && \
+    rpm -qa | sort > /packages.txt && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
 
-# Specify the cross prefix for this image (see tests/docker/common.rc)
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone
+ENV ABI "x86_64-w64-mingw32"
+ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
+ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32-
+ENV DEF_TARGET_LIST x86_64-softmmu
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index fe84166ca1..d200c7fc10 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -18,120 +18,120 @@ exec "$@"' > /usr/bin/nosync && \
     chmod +x /usr/bin/nosync && \
     nosync dnf update -y && \
     nosync dnf install -y \
-        SDL2-devel \
-        SDL2_image-devel \
-        alsa-lib-devel \
-        bash \
-        bc \
-        bison \
-        brlapi-devel \
-        bzip2 \
-        bzip2-devel \
-        ca-certificates \
-        capstone-devel \
-        ccache \
-        clang \
-        ctags \
-        cyrus-sasl-devel \
-        daxctl-devel \
-        dbus-daemon \
-        device-mapper-multipath-devel \
-        diffutils \
-        findutils \
-        flex \
-        fuse3-devel \
-        gcc \
-        gcc-c++ \
-        gcovr \
-        genisoimage \
-        gettext \
-        git \
-        glib2-devel \
-        glib2-static \
-        glibc-langpack-en \
-        glibc-static \
-        glusterfs-api-devel \
-        gnutls-devel \
-        gtk3-devel \
-        hostname \
-        jemalloc-devel \
-        json-c-devel \
-        libaio-devel \
-        libasan \
-        libattr-devel \
-        libbpf-devel \
-        libcacard-devel \
-        libcap-ng-devel \
-        libcmocka-devel \
-        libcurl-devel \
-        libdrm-devel \
-        libepoxy-devel \
-        libfdt-devel \
-        libffi-devel \
-        libgcrypt-devel \
-        libiscsi-devel \
-        libjpeg-devel \
-        libnfs-devel \
-        libpmem-devel \
-        libpng-devel \
-        librbd-devel \
-        libseccomp-devel \
-        libselinux-devel \
-        libslirp-devel \
-        libssh-devel \
-        libtasn1-devel \
-        libubsan \
-        liburing-devel \
-        libusbx-devel \
-        libzstd-devel \
-        llvm \
-        lttng-ust-devel \
-        lzo-devel \
-        make \
-        mesa-libgbm-devel \
-        meson \
-        ncurses-devel \
-        nettle-devel \
-        ninja-build \
-        nmap-ncat \
-        numactl-devel \
-        openssh-clients \
-        pam-devel \
-        pcre-static \
-        perl-base \
-        pixman-devel \
-        pkgconfig \
-        pulseaudio-libs-devel \
-        python3 \
-        python3-PyYAML \
-        python3-numpy \
-        python3-opencv \
-        python3-pillow \
-        python3-pip \
-        python3-sphinx \
-        python3-sphinx_rtd_theme \
-        rdma-core-devel \
-        rpm \
-        sed \
-        snappy-devel \
-        sparse \
-        spice-protocol \
-        spice-server-devel \
-        systemd-devel \
-        systemtap-sdt-devel \
-        tar \
-        tesseract \
-        tesseract-langpack-eng \
-        texinfo \
-        usbredir-devel \
-        util-linux \
-        virglrenderer-devel \
-        vte291-devel \
-        which \
-        xen-devel \
-        xfsprogs-devel \
-        zlib-devel \
-        zlib-static && \
+               SDL2-devel \
+               SDL2_image-devel \
+               alsa-lib-devel \
+               bash \
+               bc \
+               bison \
+               brlapi-devel \
+               bzip2 \
+               bzip2-devel \
+               ca-certificates \
+               capstone-devel \
+               ccache \
+               clang \
+               ctags \
+               cyrus-sasl-devel \
+               daxctl-devel \
+               dbus-daemon \
+               device-mapper-multipath-devel \
+               diffutils \
+               findutils \
+               flex \
+               fuse3-devel \
+               gcc \
+               gcc-c++ \
+               gcovr \
+               genisoimage \
+               gettext \
+               git \
+               glib2-devel \
+               glib2-static \
+               glibc-langpack-en \
+               glibc-static \
+               glusterfs-api-devel \
+               gnutls-devel \
+               gtk3-devel \
+               hostname \
+               jemalloc-devel \
+               json-c-devel \
+               libaio-devel \
+               libasan \
+               libattr-devel \
+               libbpf-devel \
+               libcacard-devel \
+               libcap-ng-devel \
+               libcmocka-devel \
+               libcurl-devel \
+               libdrm-devel \
+               libepoxy-devel \
+               libfdt-devel \
+               libffi-devel \
+               libgcrypt-devel \
+               libiscsi-devel \
+               libjpeg-devel \
+               libnfs-devel \
+               libpmem-devel \
+               libpng-devel \
+               librbd-devel \
+               libseccomp-devel \
+               libselinux-devel \
+               libslirp-devel \
+               libssh-devel \
+               libtasn1-devel \
+               libubsan \
+               liburing-devel \
+               libusbx-devel \
+               libzstd-devel \
+               llvm \
+               lttng-ust-devel \
+               lzo-devel \
+               make \
+               mesa-libgbm-devel \
+               meson \
+               ncurses-devel \
+               nettle-devel \
+               ninja-build \
+               nmap-ncat \
+               numactl-devel \
+               openssh-clients \
+               pam-devel \
+               pcre-static \
+               perl-base \
+               pixman-devel \
+               pkgconfig \
+               pulseaudio-libs-devel \
+               python3 \
+               python3-PyYAML \
+               python3-numpy \
+               python3-opencv \
+               python3-pillow \
+               python3-pip \
+               python3-sphinx \
+               python3-sphinx_rtd_theme \
+               rdma-core-devel \
+               rpm \
+               sed \
+               snappy-devel \
+               sparse \
+               spice-protocol \
+               spice-server-devel \
+               systemd-devel \
+               systemtap-sdt-devel \
+               tar \
+               tesseract \
+               tesseract-langpack-eng \
+               texinfo \
+               usbredir-devel \
+               util-linux \
+               virglrenderer-devel \
+               vte291-devel \
+               which \
+               xen-devel \
+               xfsprogs-devel \
+               zlib-devel \
+               zlib-static && \
     nosync dnf autoremove -y && \
     nosync dnf clean all -y && \
     rpm -qa | sort > /packages.txt && \
@@ -142,8 +142,8 @@ exec "$@"' > /usr/bin/nosync && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index d80064756f..361979d6b3 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -132,8 +132,8 @@ RUN zypper update -y && \
 
 RUN /usr/bin/pip3 install meson==0.56.0
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker
index 24594afc15..ac16383da7 100644
--- a/tests/docker/dockerfiles/ubuntu2004.docker
+++ b/tests/docker/dockerfiles/ubuntu2004.docker
@@ -11,122 +11,122 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get install -y eatmydata && \
     eatmydata apt-get dist-upgrade -y && \
     eatmydata apt-get install --no-install-recommends -y \
-            bash \
-            bc \
-            bison \
-            bsdmainutils \
-            bzip2 \
-            ca-certificates \
-            ccache \
-            clang \
-            dbus \
-            debianutils \
-            diffutils \
-            exuberant-ctags \
-            findutils \
-            flex \
-            g++ \
-            gcc \
-            gcovr \
-            genisoimage \
-            gettext \
-            git \
-            hostname \
-            libaio-dev \
-            libasan5 \
-            libasound2-dev \
-            libattr1-dev \
-            libbrlapi-dev \
-            libbz2-dev \
-            libc6-dev \
-            libcacard-dev \
-            libcap-ng-dev \
-            libcapstone-dev \
-            libcmocka-dev \
-            libcurl4-gnutls-dev \
-            libdaxctl-dev \
-            libdrm-dev \
-            libepoxy-dev \
-            libfdt-dev \
-            libffi-dev \
-            libfuse3-dev \
-            libgbm-dev \
-            libgcrypt20-dev \
-            libglib2.0-dev \
-            libglusterfs-dev \
-            libgnutls28-dev \
-            libgtk-3-dev \
-            libibumad-dev \
-            libibverbs-dev \
-            libiscsi-dev \
-            libjemalloc-dev \
-            libjpeg-turbo8-dev \
-            libjson-c-dev \
-            liblttng-ust-dev \
-            liblzo2-dev \
-            libncursesw5-dev \
-            libnfs-dev \
-            libnuma-dev \
-            libpam0g-dev \
-            libpcre2-dev \
-            libpixman-1-dev \
-            libpmem-dev \
-            libpng-dev \
-            libpulse-dev \
-            librbd-dev \
-            librdmacm-dev \
-            libsasl2-dev \
-            libsdl2-dev \
-            libsdl2-image-dev \
-            libseccomp-dev \
-            libselinux1-dev \
-            libslirp-dev \
-            libsnappy-dev \
-            libspice-protocol-dev \
-            libspice-server-dev \
-            libssh-dev \
-            libsystemd-dev \
-            libtasn1-6-dev \
-            libubsan1 \
-            libudev-dev \
-            libusb-1.0-0-dev \
-            libusbredirhost-dev \
-            libvdeplug-dev \
-            libvirglrenderer-dev \
-            libvte-2.91-dev \
-            libxen-dev \
-            libzstd-dev \
-            llvm \
-            locales \
-            make \
-            multipath-tools \
-            ncat \
-            nettle-dev \
-            ninja-build \
-            openssh-client \
-            perl-base \
-            pkgconf \
-            python3 \
-            python3-numpy \
-            python3-opencv \
-            python3-pillow \
-            python3-pip \
-            python3-setuptools \
-            python3-sphinx \
-            python3-sphinx-rtd-theme \
-            python3-venv \
-            python3-wheel \
-            python3-yaml \
-            rpm2cpio \
-            sed \
-            sparse \
-            systemtap-sdt-dev \
-            tar \
-            tesseract-ocr \
-            tesseract-ocr-eng \
-            texinfo \
-            xfslibs-dev \
-            zlib1g-dev && \
+                      bash \
+                      bc \
+                      bison \
+                      bsdmainutils \
+                      bzip2 \
+                      ca-certificates \
+                      ccache \
+                      clang \
+                      dbus \
+                      debianutils \
+                      diffutils \
+                      exuberant-ctags \
+                      findutils \
+                      flex \
+                      g++ \
+                      gcc \
+                      gcovr \
+                      genisoimage \
+                      gettext \
+                      git \
+                      hostname \
+                      libaio-dev \
+                      libasan5 \
+                      libasound2-dev \
+                      libattr1-dev \
+                      libbrlapi-dev \
+                      libbz2-dev \
+                      libc6-dev \
+                      libcacard-dev \
+                      libcap-ng-dev \
+                      libcapstone-dev \
+                      libcmocka-dev \
+                      libcurl4-gnutls-dev \
+                      libdaxctl-dev \
+                      libdrm-dev \
+                      libepoxy-dev \
+                      libfdt-dev \
+                      libffi-dev \
+                      libfuse3-dev \
+                      libgbm-dev \
+                      libgcrypt20-dev \
+                      libglib2.0-dev \
+                      libglusterfs-dev \
+                      libgnutls28-dev \
+                      libgtk-3-dev \
+                      libibumad-dev \
+                      libibverbs-dev \
+                      libiscsi-dev \
+                      libjemalloc-dev \
+                      libjpeg-turbo8-dev \
+                      libjson-c-dev \
+                      liblttng-ust-dev \
+                      liblzo2-dev \
+                      libncursesw5-dev \
+                      libnfs-dev \
+                      libnuma-dev \
+                      libpam0g-dev \
+                      libpcre2-dev \
+                      libpixman-1-dev \
+                      libpmem-dev \
+                      libpng-dev \
+                      libpulse-dev \
+                      librbd-dev \
+                      librdmacm-dev \
+                      libsasl2-dev \
+                      libsdl2-dev \
+                      libsdl2-image-dev \
+                      libseccomp-dev \
+                      libselinux1-dev \
+                      libslirp-dev \
+                      libsnappy-dev \
+                      libspice-protocol-dev \
+                      libspice-server-dev \
+                      libssh-dev \
+                      libsystemd-dev \
+                      libtasn1-6-dev \
+                      libubsan1 \
+                      libudev-dev \
+                      libusb-1.0-0-dev \
+                      libusbredirhost-dev \
+                      libvdeplug-dev \
+                      libvirglrenderer-dev \
+                      libvte-2.91-dev \
+                      libxen-dev \
+                      libzstd-dev \
+                      llvm \
+                      locales \
+                      make \
+                      multipath-tools \
+                      ncat \
+                      nettle-dev \
+                      ninja-build \
+                      openssh-client \
+                      perl-base \
+                      pkgconf \
+                      python3 \
+                      python3-numpy \
+                      python3-opencv \
+                      python3-pillow \
+                      python3-pip \
+                      python3-setuptools \
+                      python3-sphinx \
+                      python3-sphinx-rtd-theme \
+                      python3-venv \
+                      python3-wheel \
+                      python3-yaml \
+                      rpm2cpio \
+                      sed \
+                      sparse \
+                      systemtap-sdt-dev \
+                      tar \
+                      tesseract-ocr \
+                      tesseract-ocr-eng \
+                      texinfo \
+                      xfslibs-dev \
+                      zlib1g-dev && \
     eatmydata apt-get autoremove -y && \
     eatmydata apt-get autoclean -y && \
     sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
@@ -141,11 +141,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
 
 RUN /usr/bin/pip3 install meson==0.56.0
 
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 # Apply patch https://reviews.llvm.org/D75820
 # This is required for TSan in clang-10 to compile with QEMU.
 RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h
diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
index e3712b7912..a2633997ff 160000
--- a/tests/lcitool/libvirt-ci
+++ b/tests/lcitool/libvirt-ci
@@ -1 +1 @@
-Subproject commit e3712b79122180fdb3b7a7ea8cbee47ece253f97
+Subproject commit a2633997ffb3830acc96c98c70122885d83bebf4
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index e45c99adbe..ce0b24c0b1 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -93,7 +93,7 @@ debian11_extras = [
 ]
 
 
-def debian_cross_build(prefix, targets):
+def cross_build(prefix, targets):
     conf = "ENV QEMU_CONFIGURE_OPTS --cross-prefix=%s\n" % (prefix)
     targets = "ENV DEF_TARGET_LIST %s\n" % (targets)
     return "".join([conf, targets])
@@ -121,45 +121,55 @@ try:
     #
     generate_dockerfile("debian-amd64-cross", "debian-11",
                         cross="x86_64",
-                        trailer=debian_cross_build("x86_64-linux-gnu-",
-                                                   "x86_64-softmmu,"
-                                                   "x86_64-linux-user,"
-                                                   "i386-softmmu,i386-linux-user"))
+                        trailer=cross_build("x86_64-linux-gnu-",
+                                            "x86_64-softmmu,"
+                                            "x86_64-linux-user,"
+                                            "i386-softmmu,i386-linux-user"))
 
     generate_dockerfile("debian-arm64-cross", "debian-11",
                         cross="aarch64",
-                        trailer=debian_cross_build("aarch64-linux-gnu-",
-                                                   "aarch64-softmmu,aarch64-linux-user"))
+                        trailer=cross_build("aarch64-linux-gnu-",
+                                            "aarch64-softmmu,aarch64-linux-user"))
 
     generate_dockerfile("debian-armel-cross", "debian-11",
                         cross="armv6l",
-                        trailer=debian_cross_build("arm-linux-gnueabi-",
-                                                   "arm-softmmu,arm-linux-user,armeb-linux-user"))
+                        trailer=cross_build("arm-linux-gnueabi-",
+                                            "arm-softmmu,arm-linux-user,armeb-linux-user"))
 
     generate_dockerfile("debian-armhf-cross", "debian-11",
                         cross="armv7l",
-                        trailer=debian_cross_build("arm-linux-gnueabihf-",
-                                                   "arm-softmmu,arm-linux-user"))
+                        trailer=cross_build("arm-linux-gnueabihf-",
+                                            "arm-softmmu,arm-linux-user"))
 
     generate_dockerfile("debian-mips64el-cross", "debian-11",
                         cross="mips64el",
-                        trailer=debian_cross_build("mips64el-linux-gnuabi64-",
-                                                  "mips64el-softmmu,mips64el-linux-user"))
+                        trailer=cross_build("mips64el-linux-gnuabi64-",
+                                            "mips64el-softmmu,mips64el-linux-user"))
 
     generate_dockerfile("debian-mipsel-cross", "debian-11",
                         cross="mipsel",
-                        trailer=debian_cross_build("mipsel-linux-gnu-",
-                                                   "mipsel-softmmu,mipsel-linux-user"))
+                        trailer=cross_build("mipsel-linux-gnu-",
+                                            "mipsel-softmmu,mipsel-linux-user"))
 
     generate_dockerfile("debian-ppc64el-cross", "debian-11",
                         cross="ppc64le",
-                        trailer=debian_cross_build("powerpc64le-linux-gnu-",
-                                                   "ppc64-softmmu,ppc64-linux-user"))
+                        trailer=cross_build("powerpc64le-linux-gnu-",
+                                            "ppc64-softmmu,ppc64-linux-user"))
 
     generate_dockerfile("debian-s390x-cross", "debian-11",
                         cross="s390x",
-                        trailer=debian_cross_build("s390x-linux-gnu-",
-                                                   "s390x-softmmu,s390x-linux-user"))
+                        trailer=cross_build("s390x-linux-gnu-",
+                                            "s390x-softmmu,s390x-linux-user"))
+
+    generate_dockerfile("fedora-win32-cross", "fedora-35",
+                        cross="mingw32",
+                        trailer=cross_build("i686-w64-mingw32-",
+                                            "i386-softmmu"))
+
+    generate_dockerfile("fedora-win64-cross", "fedora-35",
+                        cross="mingw64",
+                        trailer=cross_build("x86_64-w64-mingw32-",
+                                            "x86_64-softmmu"))
 
     #
     # Cirrus packages lists for GitLab
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH  v1 2/4] tests/docker: update test-mingw to run single build
  2022-10-11 11:34 [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Alex Bennée
  2022-10-11 11:34 ` [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool Alex Bennée
@ 2022-10-11 11:34 ` Alex Bennée
  2022-10-11 11:34 ` [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers" Alex Bennée
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2022-10-11 11:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, f4bug, aurelien, pbonzini, stefanha, crosa,
	Alex Bennée, Thomas Huth, Wainer dos Santos Moschetta,
	Beraldo Leal

While the test-build test happily run for mingw the test-mingw case
runs more of the packaging inline with what our CI does. It however
fails if we don't find both compilers and expects to be run on a
docker image with both.

Remove that distinction and make it work more like the other build
test scripts.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/docker/test-mingw | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/tests/docker/test-mingw b/tests/docker/test-mingw
index 0bc6d78872..18366972eb 100755
--- a/tests/docker/test-mingw
+++ b/tests/docker/test-mingw
@@ -13,14 +13,12 @@
 
 . common.rc
 
-requires_binary x86_64-w64-mingw32-gcc
-requires_binary i686-w64-mingw32-gcc
+requires_binary x86_64-w64-mingw32-gcc i686-w64-mingw32-gcc
 
 cd "$BUILD_DIR"
 
-for prefix in x86_64-w64-mingw32- i686-w64-mingw32-; do
-    TARGET_LIST=${TARGET_LIST:-$DEF_TARGET_LIST} \
-        build_qemu --cross-prefix=$prefix \
+TARGET_LIST=${TARGET_LIST:-$DEF_TARGET_LIST} \
+build_qemu \
         --enable-trace-backends=simple \
         --enable-gnutls \
         --enable-nettle \
@@ -29,8 +27,6 @@ for prefix in x86_64-w64-mingw32- i686-w64-mingw32-; do
         --enable-bzip2 \
         --enable-guest-agent \
         --enable-docs
-    install_qemu
-    make installer
-    make clean
-
-done
+install_qemu
+make installer
+make clean
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers"
  2022-10-11 11:34 [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Alex Bennée
  2022-10-11 11:34 ` [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool Alex Bennée
  2022-10-11 11:34 ` [PATCH v1 2/4] tests/docker: update test-mingw to run single build Alex Bennée
@ 2022-10-11 11:34 ` Alex Bennée
  2022-10-11 18:38   ` Daniel Henrique Barboza
  2022-10-11 11:34 ` [PATCH v1 4/4] configure: expose the direct container command Alex Bennée
  2022-10-11 18:58 ` [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Stefan Hajnoczi
  4 siblings, 1 reply; 10+ messages in thread
From: Alex Bennée @ 2022-10-11 11:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, f4bug, aurelien, pbonzini, stefanha, crosa,
	Alex Bennée

This reverts commit 730fe750fba63023e294ff0acf0f874369f1946f.

Unconditionally building all the bios for all arches was a little too
far too fast.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/configure b/configure
index baa69189f0..45ee6f4eb3 100755
--- a/configure
+++ b/configure
@@ -2121,7 +2121,7 @@ probe_target_compiler() {
     target_ranlib=
     target_strip=
   fi
-  test -n "$target_cc" || test -n "$container_image"
+  test -n "$target_cc"
 }
 
 write_target_makefile() {
@@ -2268,7 +2268,7 @@ if test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
     config_mak=pc-bios/optionrom/config.mak
     echo "# Automatically generated by configure - do not modify" > $config_mak
     echo "TOPSRC_DIR=$source_path" >> $config_mak
-    write_target_makefile pc-bios/optionrom/all >> $config_mak
+    write_target_makefile >> $config_mak
 fi
 
 if test "$softmmu" = yes && probe_target_compiler ppc-softmmu; then
@@ -2276,31 +2276,25 @@ if test "$softmmu" = yes && probe_target_compiler ppc-softmmu; then
     config_mak=pc-bios/vof/config.mak
     echo "# Automatically generated by configure - do not modify" > $config_mak
     echo "SRC_DIR=$source_path/pc-bios/vof" >> $config_mak
-    write_target_makefile pc-bios/vof/all >> $config_mak
+    write_target_makefile >> $config_mak
 fi
 
 # Only build s390-ccw bios if the compiler has -march=z900 or -march=z10
 # (which is the lowest architecture level that Clang supports)
 if test "$softmmu" = yes && probe_target_compiler s390x-softmmu; then
-  got_cross_cc=no
-  if test -n "$target_cc"; then
-    write_c_skeleton
-    do_compiler "$target_cc" $target_cc_cflags -march=z900 -o $TMPO -c $TMPC
-    has_z900=$?
-    if [ $has_z900 = 0 ] || do_compiler "$target_cc" $target_cc_cflags -march=z10 -msoft-float -Werror -o $TMPO -c $TMPC; then
-      if [ $has_z900 != 0 ]; then
-        echo "WARNING: Your compiler does not support the z900!"
-        echo "         The s390-ccw bios will only work with guest CPUs >= z10."
-      fi
-      got_cross_cc=yes
+  write_c_skeleton
+  do_compiler "$target_cc" $target_cc_cflags -march=z900 -o $TMPO -c $TMPC
+  has_z900=$?
+  if [ $has_z900 = 0 ] || do_compiler "$target_cc" $target_cc_cflags -march=z10 -msoft-float -Werror -o $TMPO -c $TMPC; then
+    if [ $has_z900 != 0 ]; then
+      echo "WARNING: Your compiler does not support the z900!"
+      echo "         The s390-ccw bios will only work with guest CPUs >= z10."
     fi
-  fi
-  if test "$got_cross_cc" = yes || test -n "$container_image"; then
     roms="$roms pc-bios/s390-ccw"
     config_mak=pc-bios/s390-ccw/config-host.mak
     echo "# Automatically generated by configure - do not modify" > $config_mak
     echo "SRC_PATH=$source_path/pc-bios/s390-ccw" >> $config_mak
-    write_target_makefile pc-bios/s390-ccw/all >> $config_mak
+    write_target_makefile >> $config_mak
     # SLOF is required for building the s390-ccw firmware on s390x,
     # since it is using the libnet code from SLOF for network booting.
     git_submodules="${git_submodules} roms/SLOF"
@@ -2488,7 +2482,7 @@ for target in $target_list; do
       ;;
   esac
 
-  if probe_target_compiler $target; then
+  if probe_target_compiler $target || test -n "$container_image"; then
       test -n "$container_image" && build_static=y
       mkdir -p "tests/tcg/$target"
       config_target_mak=tests/tcg/$target/config-target.mak
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH  v1 4/4] configure: expose the direct container command
  2022-10-11 11:34 [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Alex Bennée
                   ` (2 preceding siblings ...)
  2022-10-11 11:34 ` [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers" Alex Bennée
@ 2022-10-11 11:34 ` Alex Bennée
  2022-10-11 18:58 ` [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Stefan Hajnoczi
  4 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2022-10-11 11:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, f4bug, aurelien, pbonzini, stefanha, crosa,
	Alex Bennée

In the process of migrating away from using docker.py to build our
containers we need to expose the command to the build environment. The
script is still a useful way to probe which command works though.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 configure | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure b/configure
index 45ee6f4eb3..5484ed2568 100755
--- a/configure
+++ b/configure
@@ -1778,6 +1778,7 @@ fi
 # functions to probe cross compilers
 
 container="no"
+runc=""
 if test $use_containers = "yes"; then
     case $($python "$source_path"/tests/docker/docker.py probe) in
         *docker) container=docker ;;
@@ -1786,6 +1787,7 @@ if test $use_containers = "yes"; then
     esac
     if test "$container" != "no"; then
         docker_py="$python $source_path/tests/docker/docker.py --engine $container"
+        runc=$($python "$source_path"/tests/docker/docker.py probe)
     fi
 fi
 
@@ -2380,6 +2382,7 @@ fi
 
 if test "$container" != no; then
     echo "ENGINE=$container" >> $config_host_mak
+    echo "RUNC=$runc" >> $config_host_mak
 fi
 echo "ROMS=$roms" >> $config_host_mak
 echo "MAKE=$make" >> $config_host_mak
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool
  2022-10-11 11:34 ` [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool Alex Bennée
@ 2022-10-11 14:26   ` Stefan Hajnoczi
  2022-10-11 16:53     ` Alex Bennée
  0 siblings, 1 reply; 10+ messages in thread
From: Stefan Hajnoczi @ 2022-10-11 14:26 UTC (permalink / raw)
  To: Alex Bennée
  Cc: qemu-devel, fam, berrange, f4bug, aurelien, pbonzini, stefanha,
	crosa, Thomas Huth, Wainer dos Santos Moschetta, Beraldo Leal

On Tue, 11 Oct 2022 at 09:01, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> Convert another two dockerfiles to lcitool and update. I renamed the
> helper because it is not Debian specific. We need an updated lcitool
> for this to deal with the weirdness of a 32bit nsis tool for both 32
> and 64 bit builds. As a result there are some minor whitespace and
> re-order changes in a bunch of the docker files.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Message-Id: <20220929114231.583801-10-alex.bennee@linaro.org>

The commit description does not include anything that explains why
this commit is part of a hotfix patch series. I'm not sure if this
commit fixes anything, is urgent, or is required by a later commit.

This won't stop me from pushing the series to CI, but it would be nice
to justify commits in a hotfix series so I understand why this needs
to be applied urgently.

Thanks,
Stefan

> ---
>  tests/docker/dockerfiles/alpine.docker        |   2 +-
>  tests/docker/dockerfiles/centos8.docker       |   2 +-
>  .../dockerfiles/debian-amd64-cross.docker     | 234 ++++++++---------
>  tests/docker/dockerfiles/debian-amd64.docker  | 236 +++++++++---------
>  .../dockerfiles/debian-arm64-cross.docker     | 232 ++++++++---------
>  .../dockerfiles/debian-armel-cross.docker     | 230 ++++++++---------
>  .../dockerfiles/debian-armhf-cross.docker     | 232 ++++++++---------
>  .../dockerfiles/debian-mips64el-cross.docker  | 226 ++++++++---------
>  .../dockerfiles/debian-mipsel-cross.docker    | 226 ++++++++---------
>  .../dockerfiles/debian-ppc64el-cross.docker   | 230 ++++++++---------
>  .../dockerfiles/debian-s390x-cross.docker     | 228 ++++++++---------
>  .../dockerfiles/fedora-win32-cross.docker     | 139 ++++++++---
>  .../dockerfiles/fedora-win64-cross.docker     | 138 +++++++---
>  tests/docker/dockerfiles/fedora.docker        | 230 ++++++++---------
>  tests/docker/dockerfiles/opensuse-leap.docker |   2 +-
>  tests/docker/dockerfiles/ubuntu2004.docker    | 234 ++++++++---------
>  tests/lcitool/libvirt-ci                      |   2 +-
>  tests/lcitool/refresh                         |  48 ++--
>  18 files changed, 1499 insertions(+), 1372 deletions(-)
>
> diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
> index 9b7541261a..a854ae6b78 100644
> --- a/tests/docker/dockerfiles/alpine.docker
> +++ b/tests/docker/dockerfiles/alpine.docker
> @@ -119,8 +119,8 @@ RUN apk update && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
> diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerfiles/centos8.docker
> index d89113c0df..1f70d41aeb 100644
> --- a/tests/docker/dockerfiles/centos8.docker
> +++ b/tests/docker/dockerfiles/centos8.docker
> @@ -130,8 +130,8 @@ RUN dnf distro-sync -y && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
> diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
> index 9047759e76..8311024632 100644
> --- a/tests/docker/dockerfiles/debian-amd64-cross.docker
> +++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture amd64 && \
> @@ -74,76 +74,76 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-x86-64-linux-gnu \
> -            gcc-x86-64-linux-gnu \
> -            libaio-dev:amd64 \
> -            libasan5:amd64 \
> -            libasound2-dev:amd64 \
> -            libattr1-dev:amd64 \
> -            libbpf-dev:amd64 \
> -            libbrlapi-dev:amd64 \
> -            libbz2-dev:amd64 \
> -            libc6-dev:amd64 \
> -            libcacard-dev:amd64 \
> -            libcap-ng-dev:amd64 \
> -            libcapstone-dev:amd64 \
> -            libcmocka-dev:amd64 \
> -            libcurl4-gnutls-dev:amd64 \
> -            libdaxctl-dev:amd64 \
> -            libdrm-dev:amd64 \
> -            libepoxy-dev:amd64 \
> -            libfdt-dev:amd64 \
> -            libffi-dev:amd64 \
> -            libfuse3-dev:amd64 \
> -            libgbm-dev:amd64 \
> -            libgcrypt20-dev:amd64 \
> -            libglib2.0-dev:amd64 \
> -            libglusterfs-dev:amd64 \
> -            libgnutls28-dev:amd64 \
> -            libgtk-3-dev:amd64 \
> -            libibumad-dev:amd64 \
> -            libibverbs-dev:amd64 \
> -            libiscsi-dev:amd64 \
> -            libjemalloc-dev:amd64 \
> -            libjpeg62-turbo-dev:amd64 \
> -            libjson-c-dev:amd64 \
> -            liblttng-ust-dev:amd64 \
> -            liblzo2-dev:amd64 \
> -            libncursesw5-dev:amd64 \
> -            libnfs-dev:amd64 \
> -            libnuma-dev:amd64 \
> -            libpam0g-dev:amd64 \
> -            libpixman-1-dev:amd64 \
> -            libpmem-dev:amd64 \
> -            libpng-dev:amd64 \
> -            libpulse-dev:amd64 \
> -            librbd-dev:amd64 \
> -            librdmacm-dev:amd64 \
> -            libsasl2-dev:amd64 \
> -            libsdl2-dev:amd64 \
> -            libsdl2-image-dev:amd64 \
> -            libseccomp-dev:amd64 \
> -            libselinux1-dev:amd64 \
> -            libslirp-dev:amd64 \
> -            libsnappy-dev:amd64 \
> -            libspice-server-dev:amd64 \
> -            libssh-gcrypt-dev:amd64 \
> -            libsystemd-dev:amd64 \
> -            libtasn1-6-dev:amd64 \
> -            libubsan1:amd64 \
> -            libudev-dev:amd64 \
> -            liburing-dev:amd64 \
> -            libusb-1.0-0-dev:amd64 \
> -            libusbredirhost-dev:amd64 \
> -            libvdeplug-dev:amd64 \
> -            libvirglrenderer-dev:amd64 \
> -            libvte-2.91-dev:amd64 \
> -            libxen-dev:amd64 \
> -            libzstd-dev:amd64 \
> -            nettle-dev:amd64 \
> -            systemtap-sdt-dev:amd64 \
> -            xfslibs-dev:amd64 \
> -            zlib1g-dev:amd64 && \
> +                      g++-x86-64-linux-gnu \
> +                      gcc-x86-64-linux-gnu \
> +                      libaio-dev:amd64 \
> +                      libasan5:amd64 \
> +                      libasound2-dev:amd64 \
> +                      libattr1-dev:amd64 \
> +                      libbpf-dev:amd64 \
> +                      libbrlapi-dev:amd64 \
> +                      libbz2-dev:amd64 \
> +                      libc6-dev:amd64 \
> +                      libcacard-dev:amd64 \
> +                      libcap-ng-dev:amd64 \
> +                      libcapstone-dev:amd64 \
> +                      libcmocka-dev:amd64 \
> +                      libcurl4-gnutls-dev:amd64 \
> +                      libdaxctl-dev:amd64 \
> +                      libdrm-dev:amd64 \
> +                      libepoxy-dev:amd64 \
> +                      libfdt-dev:amd64 \
> +                      libffi-dev:amd64 \
> +                      libfuse3-dev:amd64 \
> +                      libgbm-dev:amd64 \
> +                      libgcrypt20-dev:amd64 \
> +                      libglib2.0-dev:amd64 \
> +                      libglusterfs-dev:amd64 \
> +                      libgnutls28-dev:amd64 \
> +                      libgtk-3-dev:amd64 \
> +                      libibumad-dev:amd64 \
> +                      libibverbs-dev:amd64 \
> +                      libiscsi-dev:amd64 \
> +                      libjemalloc-dev:amd64 \
> +                      libjpeg62-turbo-dev:amd64 \
> +                      libjson-c-dev:amd64 \
> +                      liblttng-ust-dev:amd64 \
> +                      liblzo2-dev:amd64 \
> +                      libncursesw5-dev:amd64 \
> +                      libnfs-dev:amd64 \
> +                      libnuma-dev:amd64 \
> +                      libpam0g-dev:amd64 \
> +                      libpixman-1-dev:amd64 \
> +                      libpmem-dev:amd64 \
> +                      libpng-dev:amd64 \
> +                      libpulse-dev:amd64 \
> +                      librbd-dev:amd64 \
> +                      librdmacm-dev:amd64 \
> +                      libsasl2-dev:amd64 \
> +                      libsdl2-dev:amd64 \
> +                      libsdl2-image-dev:amd64 \
> +                      libseccomp-dev:amd64 \
> +                      libselinux1-dev:amd64 \
> +                      libslirp-dev:amd64 \
> +                      libsnappy-dev:amd64 \
> +                      libspice-server-dev:amd64 \
> +                      libssh-gcrypt-dev:amd64 \
> +                      libsystemd-dev:amd64 \
> +                      libtasn1-6-dev:amd64 \
> +                      libubsan1:amd64 \
> +                      libudev-dev:amd64 \
> +                      liburing-dev:amd64 \
> +                      libusb-1.0-0-dev:amd64 \
> +                      libusbredirhost-dev:amd64 \
> +                      libvdeplug-dev:amd64 \
> +                      libvirglrenderer-dev:amd64 \
> +                      libvte-2.91-dev:amd64 \
> +                      libxen-dev:amd64 \
> +                      libzstd-dev:amd64 \
> +                      nettle-dev:amd64 \
> +                      systemtap-sdt-dev:amd64 \
> +                      xfslibs-dev:amd64 \
> +                      zlib1g-dev:amd64 && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker
> index a8b728ca64..6db3079321 100644
> --- a/tests/docker/dockerfiles/debian-amd64.docker
> +++ b/tests/docker/dockerfiles/debian-amd64.docker
> @@ -11,123 +11,123 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            clang \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            g++ \
> -            gcc \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libaio-dev \
> -            libasan5 \
> -            libasound2-dev \
> -            libattr1-dev \
> -            libbpf-dev \
> -            libbrlapi-dev \
> -            libbz2-dev \
> -            libc6-dev \
> -            libcacard-dev \
> -            libcap-ng-dev \
> -            libcapstone-dev \
> -            libcmocka-dev \
> -            libcurl4-gnutls-dev \
> -            libdaxctl-dev \
> -            libdrm-dev \
> -            libepoxy-dev \
> -            libfdt-dev \
> -            libffi-dev \
> -            libfuse3-dev \
> -            libgbm-dev \
> -            libgcrypt20-dev \
> -            libglib2.0-dev \
> -            libglusterfs-dev \
> -            libgnutls28-dev \
> -            libgtk-3-dev \
> -            libibumad-dev \
> -            libibverbs-dev \
> -            libiscsi-dev \
> -            libjemalloc-dev \
> -            libjpeg62-turbo-dev \
> -            libjson-c-dev \
> -            liblttng-ust-dev \
> -            liblzo2-dev \
> -            libncursesw5-dev \
> -            libnfs-dev \
> -            libnuma-dev \
> -            libpam0g-dev \
> -            libpcre2-dev \
> -            libpixman-1-dev \
> -            libpmem-dev \
> -            libpng-dev \
> -            libpulse-dev \
> -            librbd-dev \
> -            librdmacm-dev \
> -            libsasl2-dev \
> -            libsdl2-dev \
> -            libsdl2-image-dev \
> -            libseccomp-dev \
> -            libselinux1-dev \
> -            libslirp-dev \
> -            libsnappy-dev \
> -            libspice-protocol-dev \
> -            libspice-server-dev \
> -            libssh-gcrypt-dev \
> -            libsystemd-dev \
> -            libtasn1-6-dev \
> -            libubsan1 \
> -            libudev-dev \
> -            liburing-dev \
> -            libusb-1.0-0-dev \
> -            libusbredirhost-dev \
> -            libvdeplug-dev \
> -            libvirglrenderer-dev \
> -            libvte-2.91-dev \
> -            libxen-dev \
> -            libzstd-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            multipath-tools \
> -            ncat \
> -            nettle-dev \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            systemtap-sdt-dev \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo \
> -            xfslibs-dev \
> -            zlib1g-dev && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      clang \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      g++ \
> +                      gcc \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libaio-dev \
> +                      libasan5 \
> +                      libasound2-dev \
> +                      libattr1-dev \
> +                      libbpf-dev \
> +                      libbrlapi-dev \
> +                      libbz2-dev \
> +                      libc6-dev \
> +                      libcacard-dev \
> +                      libcap-ng-dev \
> +                      libcapstone-dev \
> +                      libcmocka-dev \
> +                      libcurl4-gnutls-dev \
> +                      libdaxctl-dev \
> +                      libdrm-dev \
> +                      libepoxy-dev \
> +                      libfdt-dev \
> +                      libffi-dev \
> +                      libfuse3-dev \
> +                      libgbm-dev \
> +                      libgcrypt20-dev \
> +                      libglib2.0-dev \
> +                      libglusterfs-dev \
> +                      libgnutls28-dev \
> +                      libgtk-3-dev \
> +                      libibumad-dev \
> +                      libibverbs-dev \
> +                      libiscsi-dev \
> +                      libjemalloc-dev \
> +                      libjpeg62-turbo-dev \
> +                      libjson-c-dev \
> +                      liblttng-ust-dev \
> +                      liblzo2-dev \
> +                      libncursesw5-dev \
> +                      libnfs-dev \
> +                      libnuma-dev \
> +                      libpam0g-dev \
> +                      libpcre2-dev \
> +                      libpixman-1-dev \
> +                      libpmem-dev \
> +                      libpng-dev \
> +                      libpulse-dev \
> +                      librbd-dev \
> +                      librdmacm-dev \
> +                      libsasl2-dev \
> +                      libsdl2-dev \
> +                      libsdl2-image-dev \
> +                      libseccomp-dev \
> +                      libselinux1-dev \
> +                      libslirp-dev \
> +                      libsnappy-dev \
> +                      libspice-protocol-dev \
> +                      libspice-server-dev \
> +                      libssh-gcrypt-dev \
> +                      libsystemd-dev \
> +                      libtasn1-6-dev \
> +                      libubsan1 \
> +                      libudev-dev \
> +                      liburing-dev \
> +                      libusb-1.0-0-dev \
> +                      libusbredirhost-dev \
> +                      libvdeplug-dev \
> +                      libvirglrenderer-dev \
> +                      libvte-2.91-dev \
> +                      libxen-dev \
> +                      libzstd-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      multipath-tools \
> +                      ncat \
> +                      nettle-dev \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      systemtap-sdt-dev \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo \
> +                      xfslibs-dev \
> +                      zlib1g-dev && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
> @@ -140,11 +140,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  # netmap/cscope/global
>  RUN DEBIAN_FRONTEND=noninteractive eatmydata \
>    apt install -y --no-install-recommends \
> diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
> index 17a5709245..1fbe2b1376 100644
> --- a/tests/docker/dockerfiles/debian-arm64-cross.docker
> +++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture arm64 && \
> @@ -74,75 +74,75 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-aarch64-linux-gnu \
> -            gcc-aarch64-linux-gnu \
> -            libaio-dev:arm64 \
> -            libasan5:arm64 \
> -            libasound2-dev:arm64 \
> -            libattr1-dev:arm64 \
> -            libbpf-dev:arm64 \
> -            libbrlapi-dev:arm64 \
> -            libbz2-dev:arm64 \
> -            libc6-dev:arm64 \
> -            libcacard-dev:arm64 \
> -            libcap-ng-dev:arm64 \
> -            libcapstone-dev:arm64 \
> -            libcmocka-dev:arm64 \
> -            libcurl4-gnutls-dev:arm64 \
> -            libdaxctl-dev:arm64 \
> -            libdrm-dev:arm64 \
> -            libepoxy-dev:arm64 \
> -            libfdt-dev:arm64 \
> -            libffi-dev:arm64 \
> -            libfuse3-dev:arm64 \
> -            libgbm-dev:arm64 \
> -            libgcrypt20-dev:arm64 \
> -            libglib2.0-dev:arm64 \
> -            libglusterfs-dev:arm64 \
> -            libgnutls28-dev:arm64 \
> -            libgtk-3-dev:arm64 \
> -            libibumad-dev:arm64 \
> -            libibverbs-dev:arm64 \
> -            libiscsi-dev:arm64 \
> -            libjemalloc-dev:arm64 \
> -            libjpeg62-turbo-dev:arm64 \
> -            libjson-c-dev:arm64 \
> -            liblttng-ust-dev:arm64 \
> -            liblzo2-dev:arm64 \
> -            libncursesw5-dev:arm64 \
> -            libnfs-dev:arm64 \
> -            libnuma-dev:arm64 \
> -            libpam0g-dev:arm64 \
> -            libpixman-1-dev:arm64 \
> -            libpng-dev:arm64 \
> -            libpulse-dev:arm64 \
> -            librbd-dev:arm64 \
> -            librdmacm-dev:arm64 \
> -            libsasl2-dev:arm64 \
> -            libsdl2-dev:arm64 \
> -            libsdl2-image-dev:arm64 \
> -            libseccomp-dev:arm64 \
> -            libselinux1-dev:arm64 \
> -            libslirp-dev:arm64 \
> -            libsnappy-dev:arm64 \
> -            libspice-server-dev:arm64 \
> -            libssh-gcrypt-dev:arm64 \
> -            libsystemd-dev:arm64 \
> -            libtasn1-6-dev:arm64 \
> -            libubsan1:arm64 \
> -            libudev-dev:arm64 \
> -            liburing-dev:arm64 \
> -            libusb-1.0-0-dev:arm64 \
> -            libusbredirhost-dev:arm64 \
> -            libvdeplug-dev:arm64 \
> -            libvirglrenderer-dev:arm64 \
> -            libvte-2.91-dev:arm64 \
> -            libxen-dev:arm64 \
> -            libzstd-dev:arm64 \
> -            nettle-dev:arm64 \
> -            systemtap-sdt-dev:arm64 \
> -            xfslibs-dev:arm64 \
> -            zlib1g-dev:arm64 && \
> +                      g++-aarch64-linux-gnu \
> +                      gcc-aarch64-linux-gnu \
> +                      libaio-dev:arm64 \
> +                      libasan5:arm64 \
> +                      libasound2-dev:arm64 \
> +                      libattr1-dev:arm64 \
> +                      libbpf-dev:arm64 \
> +                      libbrlapi-dev:arm64 \
> +                      libbz2-dev:arm64 \
> +                      libc6-dev:arm64 \
> +                      libcacard-dev:arm64 \
> +                      libcap-ng-dev:arm64 \
> +                      libcapstone-dev:arm64 \
> +                      libcmocka-dev:arm64 \
> +                      libcurl4-gnutls-dev:arm64 \
> +                      libdaxctl-dev:arm64 \
> +                      libdrm-dev:arm64 \
> +                      libepoxy-dev:arm64 \
> +                      libfdt-dev:arm64 \
> +                      libffi-dev:arm64 \
> +                      libfuse3-dev:arm64 \
> +                      libgbm-dev:arm64 \
> +                      libgcrypt20-dev:arm64 \
> +                      libglib2.0-dev:arm64 \
> +                      libglusterfs-dev:arm64 \
> +                      libgnutls28-dev:arm64 \
> +                      libgtk-3-dev:arm64 \
> +                      libibumad-dev:arm64 \
> +                      libibverbs-dev:arm64 \
> +                      libiscsi-dev:arm64 \
> +                      libjemalloc-dev:arm64 \
> +                      libjpeg62-turbo-dev:arm64 \
> +                      libjson-c-dev:arm64 \
> +                      liblttng-ust-dev:arm64 \
> +                      liblzo2-dev:arm64 \
> +                      libncursesw5-dev:arm64 \
> +                      libnfs-dev:arm64 \
> +                      libnuma-dev:arm64 \
> +                      libpam0g-dev:arm64 \
> +                      libpixman-1-dev:arm64 \
> +                      libpng-dev:arm64 \
> +                      libpulse-dev:arm64 \
> +                      librbd-dev:arm64 \
> +                      librdmacm-dev:arm64 \
> +                      libsasl2-dev:arm64 \
> +                      libsdl2-dev:arm64 \
> +                      libsdl2-image-dev:arm64 \
> +                      libseccomp-dev:arm64 \
> +                      libselinux1-dev:arm64 \
> +                      libslirp-dev:arm64 \
> +                      libsnappy-dev:arm64 \
> +                      libspice-server-dev:arm64 \
> +                      libssh-gcrypt-dev:arm64 \
> +                      libsystemd-dev:arm64 \
> +                      libtasn1-6-dev:arm64 \
> +                      libubsan1:arm64 \
> +                      libudev-dev:arm64 \
> +                      liburing-dev:arm64 \
> +                      libusb-1.0-0-dev:arm64 \
> +                      libusbredirhost-dev:arm64 \
> +                      libvdeplug-dev:arm64 \
> +                      libvirglrenderer-dev:arm64 \
> +                      libvte-2.91-dev:arm64 \
> +                      libxen-dev:arm64 \
> +                      libzstd-dev:arm64 \
> +                      nettle-dev:arm64 \
> +                      systemtap-sdt-dev:arm64 \
> +                      xfslibs-dev:arm64 \
> +                      zlib1g-dev:arm64 && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/debian-armel-cross.docker b/tests/docker/dockerfiles/debian-armel-cross.docker
> index 701fc70db0..a430900505 100644
> --- a/tests/docker/dockerfiles/debian-armel-cross.docker
> +++ b/tests/docker/dockerfiles/debian-armel-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture armel && \
> @@ -74,74 +74,74 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-arm-linux-gnueabi \
> -            gcc-arm-linux-gnueabi \
> -            libaio-dev:armel \
> -            libasan5:armel \
> -            libasound2-dev:armel \
> -            libattr1-dev:armel \
> -            libbpf-dev:armel \
> -            libbrlapi-dev:armel \
> -            libbz2-dev:armel \
> -            libc6-dev:armel \
> -            libcacard-dev:armel \
> -            libcap-ng-dev:armel \
> -            libcapstone-dev:armel \
> -            libcmocka-dev:armel \
> -            libcurl4-gnutls-dev:armel \
> -            libdaxctl-dev:armel \
> -            libdrm-dev:armel \
> -            libepoxy-dev:armel \
> -            libfdt-dev:armel \
> -            libffi-dev:armel \
> -            libfuse3-dev:armel \
> -            libgbm-dev:armel \
> -            libgcrypt20-dev:armel \
> -            libglib2.0-dev:armel \
> -            libglusterfs-dev:armel \
> -            libgnutls28-dev:armel \
> -            libgtk-3-dev:armel \
> -            libibumad-dev:armel \
> -            libibverbs-dev:armel \
> -            libiscsi-dev:armel \
> -            libjemalloc-dev:armel \
> -            libjpeg62-turbo-dev:armel \
> -            libjson-c-dev:armel \
> -            liblttng-ust-dev:armel \
> -            liblzo2-dev:armel \
> -            libncursesw5-dev:armel \
> -            libnfs-dev:armel \
> -            libnuma-dev:armel \
> -            libpam0g-dev:armel \
> -            libpixman-1-dev:armel \
> -            libpng-dev:armel \
> -            libpulse-dev:armel \
> -            librbd-dev:armel \
> -            librdmacm-dev:armel \
> -            libsasl2-dev:armel \
> -            libsdl2-dev:armel \
> -            libsdl2-image-dev:armel \
> -            libseccomp-dev:armel \
> -            libselinux1-dev:armel \
> -            libslirp-dev:armel \
> -            libsnappy-dev:armel \
> -            libspice-server-dev:armel \
> -            libssh-gcrypt-dev:armel \
> -            libsystemd-dev:armel \
> -            libtasn1-6-dev:armel \
> -            libubsan1:armel \
> -            libudev-dev:armel \
> -            liburing-dev:armel \
> -            libusb-1.0-0-dev:armel \
> -            libusbredirhost-dev:armel \
> -            libvdeplug-dev:armel \
> -            libvirglrenderer-dev:armel \
> -            libvte-2.91-dev:armel \
> -            libzstd-dev:armel \
> -            nettle-dev:armel \
> -            systemtap-sdt-dev:armel \
> -            xfslibs-dev:armel \
> -            zlib1g-dev:armel && \
> +                      g++-arm-linux-gnueabi \
> +                      gcc-arm-linux-gnueabi \
> +                      libaio-dev:armel \
> +                      libasan5:armel \
> +                      libasound2-dev:armel \
> +                      libattr1-dev:armel \
> +                      libbpf-dev:armel \
> +                      libbrlapi-dev:armel \
> +                      libbz2-dev:armel \
> +                      libc6-dev:armel \
> +                      libcacard-dev:armel \
> +                      libcap-ng-dev:armel \
> +                      libcapstone-dev:armel \
> +                      libcmocka-dev:armel \
> +                      libcurl4-gnutls-dev:armel \
> +                      libdaxctl-dev:armel \
> +                      libdrm-dev:armel \
> +                      libepoxy-dev:armel \
> +                      libfdt-dev:armel \
> +                      libffi-dev:armel \
> +                      libfuse3-dev:armel \
> +                      libgbm-dev:armel \
> +                      libgcrypt20-dev:armel \
> +                      libglib2.0-dev:armel \
> +                      libglusterfs-dev:armel \
> +                      libgnutls28-dev:armel \
> +                      libgtk-3-dev:armel \
> +                      libibumad-dev:armel \
> +                      libibverbs-dev:armel \
> +                      libiscsi-dev:armel \
> +                      libjemalloc-dev:armel \
> +                      libjpeg62-turbo-dev:armel \
> +                      libjson-c-dev:armel \
> +                      liblttng-ust-dev:armel \
> +                      liblzo2-dev:armel \
> +                      libncursesw5-dev:armel \
> +                      libnfs-dev:armel \
> +                      libnuma-dev:armel \
> +                      libpam0g-dev:armel \
> +                      libpixman-1-dev:armel \
> +                      libpng-dev:armel \
> +                      libpulse-dev:armel \
> +                      librbd-dev:armel \
> +                      librdmacm-dev:armel \
> +                      libsasl2-dev:armel \
> +                      libsdl2-dev:armel \
> +                      libsdl2-image-dev:armel \
> +                      libseccomp-dev:armel \
> +                      libselinux1-dev:armel \
> +                      libslirp-dev:armel \
> +                      libsnappy-dev:armel \
> +                      libspice-server-dev:armel \
> +                      libssh-gcrypt-dev:armel \
> +                      libsystemd-dev:armel \
> +                      libtasn1-6-dev:armel \
> +                      libubsan1:armel \
> +                      libudev-dev:armel \
> +                      liburing-dev:armel \
> +                      libusb-1.0-0-dev:armel \
> +                      libusbredirhost-dev:armel \
> +                      libvdeplug-dev:armel \
> +                      libvirglrenderer-dev:armel \
> +                      libvte-2.91-dev:armel \
> +                      libzstd-dev:armel \
> +                      nettle-dev:armel \
> +                      systemtap-sdt-dev:armel \
> +                      xfslibs-dev:armel \
> +                      zlib1g-dev:armel && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
> index 5a11fe3900..4c54898420 100644
> --- a/tests/docker/dockerfiles/debian-armhf-cross.docker
> +++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture armhf && \
> @@ -74,75 +74,75 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-arm-linux-gnueabihf \
> -            gcc-arm-linux-gnueabihf \
> -            libaio-dev:armhf \
> -            libasan5:armhf \
> -            libasound2-dev:armhf \
> -            libattr1-dev:armhf \
> -            libbpf-dev:armhf \
> -            libbrlapi-dev:armhf \
> -            libbz2-dev:armhf \
> -            libc6-dev:armhf \
> -            libcacard-dev:armhf \
> -            libcap-ng-dev:armhf \
> -            libcapstone-dev:armhf \
> -            libcmocka-dev:armhf \
> -            libcurl4-gnutls-dev:armhf \
> -            libdaxctl-dev:armhf \
> -            libdrm-dev:armhf \
> -            libepoxy-dev:armhf \
> -            libfdt-dev:armhf \
> -            libffi-dev:armhf \
> -            libfuse3-dev:armhf \
> -            libgbm-dev:armhf \
> -            libgcrypt20-dev:armhf \
> -            libglib2.0-dev:armhf \
> -            libglusterfs-dev:armhf \
> -            libgnutls28-dev:armhf \
> -            libgtk-3-dev:armhf \
> -            libibumad-dev:armhf \
> -            libibverbs-dev:armhf \
> -            libiscsi-dev:armhf \
> -            libjemalloc-dev:armhf \
> -            libjpeg62-turbo-dev:armhf \
> -            libjson-c-dev:armhf \
> -            liblttng-ust-dev:armhf \
> -            liblzo2-dev:armhf \
> -            libncursesw5-dev:armhf \
> -            libnfs-dev:armhf \
> -            libnuma-dev:armhf \
> -            libpam0g-dev:armhf \
> -            libpixman-1-dev:armhf \
> -            libpng-dev:armhf \
> -            libpulse-dev:armhf \
> -            librbd-dev:armhf \
> -            librdmacm-dev:armhf \
> -            libsasl2-dev:armhf \
> -            libsdl2-dev:armhf \
> -            libsdl2-image-dev:armhf \
> -            libseccomp-dev:armhf \
> -            libselinux1-dev:armhf \
> -            libslirp-dev:armhf \
> -            libsnappy-dev:armhf \
> -            libspice-server-dev:armhf \
> -            libssh-gcrypt-dev:armhf \
> -            libsystemd-dev:armhf \
> -            libtasn1-6-dev:armhf \
> -            libubsan1:armhf \
> -            libudev-dev:armhf \
> -            liburing-dev:armhf \
> -            libusb-1.0-0-dev:armhf \
> -            libusbredirhost-dev:armhf \
> -            libvdeplug-dev:armhf \
> -            libvirglrenderer-dev:armhf \
> -            libvte-2.91-dev:armhf \
> -            libxen-dev:armhf \
> -            libzstd-dev:armhf \
> -            nettle-dev:armhf \
> -            systemtap-sdt-dev:armhf \
> -            xfslibs-dev:armhf \
> -            zlib1g-dev:armhf && \
> +                      g++-arm-linux-gnueabihf \
> +                      gcc-arm-linux-gnueabihf \
> +                      libaio-dev:armhf \
> +                      libasan5:armhf \
> +                      libasound2-dev:armhf \
> +                      libattr1-dev:armhf \
> +                      libbpf-dev:armhf \
> +                      libbrlapi-dev:armhf \
> +                      libbz2-dev:armhf \
> +                      libc6-dev:armhf \
> +                      libcacard-dev:armhf \
> +                      libcap-ng-dev:armhf \
> +                      libcapstone-dev:armhf \
> +                      libcmocka-dev:armhf \
> +                      libcurl4-gnutls-dev:armhf \
> +                      libdaxctl-dev:armhf \
> +                      libdrm-dev:armhf \
> +                      libepoxy-dev:armhf \
> +                      libfdt-dev:armhf \
> +                      libffi-dev:armhf \
> +                      libfuse3-dev:armhf \
> +                      libgbm-dev:armhf \
> +                      libgcrypt20-dev:armhf \
> +                      libglib2.0-dev:armhf \
> +                      libglusterfs-dev:armhf \
> +                      libgnutls28-dev:armhf \
> +                      libgtk-3-dev:armhf \
> +                      libibumad-dev:armhf \
> +                      libibverbs-dev:armhf \
> +                      libiscsi-dev:armhf \
> +                      libjemalloc-dev:armhf \
> +                      libjpeg62-turbo-dev:armhf \
> +                      libjson-c-dev:armhf \
> +                      liblttng-ust-dev:armhf \
> +                      liblzo2-dev:armhf \
> +                      libncursesw5-dev:armhf \
> +                      libnfs-dev:armhf \
> +                      libnuma-dev:armhf \
> +                      libpam0g-dev:armhf \
> +                      libpixman-1-dev:armhf \
> +                      libpng-dev:armhf \
> +                      libpulse-dev:armhf \
> +                      librbd-dev:armhf \
> +                      librdmacm-dev:armhf \
> +                      libsasl2-dev:armhf \
> +                      libsdl2-dev:armhf \
> +                      libsdl2-image-dev:armhf \
> +                      libseccomp-dev:armhf \
> +                      libselinux1-dev:armhf \
> +                      libslirp-dev:armhf \
> +                      libsnappy-dev:armhf \
> +                      libspice-server-dev:armhf \
> +                      libssh-gcrypt-dev:armhf \
> +                      libsystemd-dev:armhf \
> +                      libtasn1-6-dev:armhf \
> +                      libubsan1:armhf \
> +                      libudev-dev:armhf \
> +                      liburing-dev:armhf \
> +                      libusb-1.0-0-dev:armhf \
> +                      libusbredirhost-dev:armhf \
> +                      libvdeplug-dev:armhf \
> +                      libvirglrenderer-dev:armhf \
> +                      libvte-2.91-dev:armhf \
> +                      libxen-dev:armhf \
> +                      libzstd-dev:armhf \
> +                      nettle-dev:armhf \
> +                      systemtap-sdt-dev:armhf \
> +                      xfslibs-dev:armhf \
> +                      zlib1g-dev:armhf && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
> index 9b90a4d6ff..c0d4b0df17 100644
> --- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
> +++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture mips64el && \
> @@ -74,72 +74,72 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-mips64el-linux-gnuabi64 \
> -            gcc-mips64el-linux-gnuabi64 \
> -            libaio-dev:mips64el \
> -            libasound2-dev:mips64el \
> -            libattr1-dev:mips64el \
> -            libbpf-dev:mips64el \
> -            libbrlapi-dev:mips64el \
> -            libbz2-dev:mips64el \
> -            libc6-dev:mips64el \
> -            libcacard-dev:mips64el \
> -            libcap-ng-dev:mips64el \
> -            libcapstone-dev:mips64el \
> -            libcmocka-dev:mips64el \
> -            libcurl4-gnutls-dev:mips64el \
> -            libdaxctl-dev:mips64el \
> -            libdrm-dev:mips64el \
> -            libepoxy-dev:mips64el \
> -            libfdt-dev:mips64el \
> -            libffi-dev:mips64el \
> -            libfuse3-dev:mips64el \
> -            libgbm-dev:mips64el \
> -            libgcrypt20-dev:mips64el \
> -            libglib2.0-dev:mips64el \
> -            libglusterfs-dev:mips64el \
> -            libgnutls28-dev:mips64el \
> -            libgtk-3-dev:mips64el \
> -            libibumad-dev:mips64el \
> -            libibverbs-dev:mips64el \
> -            libiscsi-dev:mips64el \
> -            libjemalloc-dev:mips64el \
> -            libjpeg62-turbo-dev:mips64el \
> -            libjson-c-dev:mips64el \
> -            liblttng-ust-dev:mips64el \
> -            liblzo2-dev:mips64el \
> -            libncursesw5-dev:mips64el \
> -            libnfs-dev:mips64el \
> -            libnuma-dev:mips64el \
> -            libpam0g-dev:mips64el \
> -            libpixman-1-dev:mips64el \
> -            libpng-dev:mips64el \
> -            libpulse-dev:mips64el \
> -            librbd-dev:mips64el \
> -            librdmacm-dev:mips64el \
> -            libsasl2-dev:mips64el \
> -            libsdl2-dev:mips64el \
> -            libsdl2-image-dev:mips64el \
> -            libseccomp-dev:mips64el \
> -            libselinux1-dev:mips64el \
> -            libslirp-dev:mips64el \
> -            libsnappy-dev:mips64el \
> -            libspice-server-dev:mips64el \
> -            libssh-gcrypt-dev:mips64el \
> -            libsystemd-dev:mips64el \
> -            libtasn1-6-dev:mips64el \
> -            libudev-dev:mips64el \
> -            liburing-dev:mips64el \
> -            libusb-1.0-0-dev:mips64el \
> -            libusbredirhost-dev:mips64el \
> -            libvdeplug-dev:mips64el \
> -            libvirglrenderer-dev:mips64el \
> -            libvte-2.91-dev:mips64el \
> -            libzstd-dev:mips64el \
> -            nettle-dev:mips64el \
> -            systemtap-sdt-dev:mips64el \
> -            xfslibs-dev:mips64el \
> -            zlib1g-dev:mips64el && \
> +                      g++-mips64el-linux-gnuabi64 \
> +                      gcc-mips64el-linux-gnuabi64 \
> +                      libaio-dev:mips64el \
> +                      libasound2-dev:mips64el \
> +                      libattr1-dev:mips64el \
> +                      libbpf-dev:mips64el \
> +                      libbrlapi-dev:mips64el \
> +                      libbz2-dev:mips64el \
> +                      libc6-dev:mips64el \
> +                      libcacard-dev:mips64el \
> +                      libcap-ng-dev:mips64el \
> +                      libcapstone-dev:mips64el \
> +                      libcmocka-dev:mips64el \
> +                      libcurl4-gnutls-dev:mips64el \
> +                      libdaxctl-dev:mips64el \
> +                      libdrm-dev:mips64el \
> +                      libepoxy-dev:mips64el \
> +                      libfdt-dev:mips64el \
> +                      libffi-dev:mips64el \
> +                      libfuse3-dev:mips64el \
> +                      libgbm-dev:mips64el \
> +                      libgcrypt20-dev:mips64el \
> +                      libglib2.0-dev:mips64el \
> +                      libglusterfs-dev:mips64el \
> +                      libgnutls28-dev:mips64el \
> +                      libgtk-3-dev:mips64el \
> +                      libibumad-dev:mips64el \
> +                      libibverbs-dev:mips64el \
> +                      libiscsi-dev:mips64el \
> +                      libjemalloc-dev:mips64el \
> +                      libjpeg62-turbo-dev:mips64el \
> +                      libjson-c-dev:mips64el \
> +                      liblttng-ust-dev:mips64el \
> +                      liblzo2-dev:mips64el \
> +                      libncursesw5-dev:mips64el \
> +                      libnfs-dev:mips64el \
> +                      libnuma-dev:mips64el \
> +                      libpam0g-dev:mips64el \
> +                      libpixman-1-dev:mips64el \
> +                      libpng-dev:mips64el \
> +                      libpulse-dev:mips64el \
> +                      librbd-dev:mips64el \
> +                      librdmacm-dev:mips64el \
> +                      libsasl2-dev:mips64el \
> +                      libsdl2-dev:mips64el \
> +                      libsdl2-image-dev:mips64el \
> +                      libseccomp-dev:mips64el \
> +                      libselinux1-dev:mips64el \
> +                      libslirp-dev:mips64el \
> +                      libsnappy-dev:mips64el \
> +                      libspice-server-dev:mips64el \
> +                      libssh-gcrypt-dev:mips64el \
> +                      libsystemd-dev:mips64el \
> +                      libtasn1-6-dev:mips64el \
> +                      libudev-dev:mips64el \
> +                      liburing-dev:mips64el \
> +                      libusb-1.0-0-dev:mips64el \
> +                      libusbredirhost-dev:mips64el \
> +                      libvdeplug-dev:mips64el \
> +                      libvirglrenderer-dev:mips64el \
> +                      libvte-2.91-dev:mips64el \
> +                      libzstd-dev:mips64el \
> +                      nettle-dev:mips64el \
> +                      systemtap-sdt-dev:mips64el \
> +                      xfslibs-dev:mips64el \
> +                      zlib1g-dev:mips64el && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
> index 02feaf26cb..940b6794d1 100644
> --- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
> +++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture mipsel && \
> @@ -74,72 +74,72 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-mipsel-linux-gnu \
> -            gcc-mipsel-linux-gnu \
> -            libaio-dev:mipsel \
> -            libasound2-dev:mipsel \
> -            libattr1-dev:mipsel \
> -            libbpf-dev:mipsel \
> -            libbrlapi-dev:mipsel \
> -            libbz2-dev:mipsel \
> -            libc6-dev:mipsel \
> -            libcacard-dev:mipsel \
> -            libcap-ng-dev:mipsel \
> -            libcapstone-dev:mipsel \
> -            libcmocka-dev:mipsel \
> -            libcurl4-gnutls-dev:mipsel \
> -            libdaxctl-dev:mipsel \
> -            libdrm-dev:mipsel \
> -            libepoxy-dev:mipsel \
> -            libfdt-dev:mipsel \
> -            libffi-dev:mipsel \
> -            libfuse3-dev:mipsel \
> -            libgbm-dev:mipsel \
> -            libgcrypt20-dev:mipsel \
> -            libglib2.0-dev:mipsel \
> -            libglusterfs-dev:mipsel \
> -            libgnutls28-dev:mipsel \
> -            libgtk-3-dev:mipsel \
> -            libibumad-dev:mipsel \
> -            libibverbs-dev:mipsel \
> -            libiscsi-dev:mipsel \
> -            libjemalloc-dev:mipsel \
> -            libjpeg62-turbo-dev:mipsel \
> -            libjson-c-dev:mipsel \
> -            liblttng-ust-dev:mipsel \
> -            liblzo2-dev:mipsel \
> -            libncursesw5-dev:mipsel \
> -            libnfs-dev:mipsel \
> -            libnuma-dev:mipsel \
> -            libpam0g-dev:mipsel \
> -            libpixman-1-dev:mipsel \
> -            libpng-dev:mipsel \
> -            libpulse-dev:mipsel \
> -            librbd-dev:mipsel \
> -            librdmacm-dev:mipsel \
> -            libsasl2-dev:mipsel \
> -            libsdl2-dev:mipsel \
> -            libsdl2-image-dev:mipsel \
> -            libseccomp-dev:mipsel \
> -            libselinux1-dev:mipsel \
> -            libslirp-dev:mipsel \
> -            libsnappy-dev:mipsel \
> -            libspice-server-dev:mipsel \
> -            libssh-gcrypt-dev:mipsel \
> -            libsystemd-dev:mipsel \
> -            libtasn1-6-dev:mipsel \
> -            libudev-dev:mipsel \
> -            liburing-dev:mipsel \
> -            libusb-1.0-0-dev:mipsel \
> -            libusbredirhost-dev:mipsel \
> -            libvdeplug-dev:mipsel \
> -            libvirglrenderer-dev:mipsel \
> -            libvte-2.91-dev:mipsel \
> -            libzstd-dev:mipsel \
> -            nettle-dev:mipsel \
> -            systemtap-sdt-dev:mipsel \
> -            xfslibs-dev:mipsel \
> -            zlib1g-dev:mipsel && \
> +                      g++-mipsel-linux-gnu \
> +                      gcc-mipsel-linux-gnu \
> +                      libaio-dev:mipsel \
> +                      libasound2-dev:mipsel \
> +                      libattr1-dev:mipsel \
> +                      libbpf-dev:mipsel \
> +                      libbrlapi-dev:mipsel \
> +                      libbz2-dev:mipsel \
> +                      libc6-dev:mipsel \
> +                      libcacard-dev:mipsel \
> +                      libcap-ng-dev:mipsel \
> +                      libcapstone-dev:mipsel \
> +                      libcmocka-dev:mipsel \
> +                      libcurl4-gnutls-dev:mipsel \
> +                      libdaxctl-dev:mipsel \
> +                      libdrm-dev:mipsel \
> +                      libepoxy-dev:mipsel \
> +                      libfdt-dev:mipsel \
> +                      libffi-dev:mipsel \
> +                      libfuse3-dev:mipsel \
> +                      libgbm-dev:mipsel \
> +                      libgcrypt20-dev:mipsel \
> +                      libglib2.0-dev:mipsel \
> +                      libglusterfs-dev:mipsel \
> +                      libgnutls28-dev:mipsel \
> +                      libgtk-3-dev:mipsel \
> +                      libibumad-dev:mipsel \
> +                      libibverbs-dev:mipsel \
> +                      libiscsi-dev:mipsel \
> +                      libjemalloc-dev:mipsel \
> +                      libjpeg62-turbo-dev:mipsel \
> +                      libjson-c-dev:mipsel \
> +                      liblttng-ust-dev:mipsel \
> +                      liblzo2-dev:mipsel \
> +                      libncursesw5-dev:mipsel \
> +                      libnfs-dev:mipsel \
> +                      libnuma-dev:mipsel \
> +                      libpam0g-dev:mipsel \
> +                      libpixman-1-dev:mipsel \
> +                      libpng-dev:mipsel \
> +                      libpulse-dev:mipsel \
> +                      librbd-dev:mipsel \
> +                      librdmacm-dev:mipsel \
> +                      libsasl2-dev:mipsel \
> +                      libsdl2-dev:mipsel \
> +                      libsdl2-image-dev:mipsel \
> +                      libseccomp-dev:mipsel \
> +                      libselinux1-dev:mipsel \
> +                      libslirp-dev:mipsel \
> +                      libsnappy-dev:mipsel \
> +                      libspice-server-dev:mipsel \
> +                      libssh-gcrypt-dev:mipsel \
> +                      libsystemd-dev:mipsel \
> +                      libtasn1-6-dev:mipsel \
> +                      libudev-dev:mipsel \
> +                      liburing-dev:mipsel \
> +                      libusb-1.0-0-dev:mipsel \
> +                      libusbredirhost-dev:mipsel \
> +                      libvdeplug-dev:mipsel \
> +                      libvirglrenderer-dev:mipsel \
> +                      libvte-2.91-dev:mipsel \
> +                      libzstd-dev:mipsel \
> +                      nettle-dev:mipsel \
> +                      systemtap-sdt-dev:mipsel \
> +                      xfslibs-dev:mipsel \
> +                      zlib1g-dev:mipsel && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
> index 97d3872ee2..2d59288622 100644
> --- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
> +++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture ppc64el && \
> @@ -74,74 +74,74 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-powerpc64le-linux-gnu \
> -            gcc-powerpc64le-linux-gnu \
> -            libaio-dev:ppc64el \
> -            libasan5:ppc64el \
> -            libasound2-dev:ppc64el \
> -            libattr1-dev:ppc64el \
> -            libbpf-dev:ppc64el \
> -            libbrlapi-dev:ppc64el \
> -            libbz2-dev:ppc64el \
> -            libc6-dev:ppc64el \
> -            libcacard-dev:ppc64el \
> -            libcap-ng-dev:ppc64el \
> -            libcapstone-dev:ppc64el \
> -            libcmocka-dev:ppc64el \
> -            libcurl4-gnutls-dev:ppc64el \
> -            libdaxctl-dev:ppc64el \
> -            libdrm-dev:ppc64el \
> -            libepoxy-dev:ppc64el \
> -            libfdt-dev:ppc64el \
> -            libffi-dev:ppc64el \
> -            libfuse3-dev:ppc64el \
> -            libgbm-dev:ppc64el \
> -            libgcrypt20-dev:ppc64el \
> -            libglib2.0-dev:ppc64el \
> -            libglusterfs-dev:ppc64el \
> -            libgnutls28-dev:ppc64el \
> -            libgtk-3-dev:ppc64el \
> -            libibumad-dev:ppc64el \
> -            libibverbs-dev:ppc64el \
> -            libiscsi-dev:ppc64el \
> -            libjemalloc-dev:ppc64el \
> -            libjpeg62-turbo-dev:ppc64el \
> -            libjson-c-dev:ppc64el \
> -            liblttng-ust-dev:ppc64el \
> -            liblzo2-dev:ppc64el \
> -            libncursesw5-dev:ppc64el \
> -            libnfs-dev:ppc64el \
> -            libnuma-dev:ppc64el \
> -            libpam0g-dev:ppc64el \
> -            libpixman-1-dev:ppc64el \
> -            libpng-dev:ppc64el \
> -            libpulse-dev:ppc64el \
> -            librbd-dev:ppc64el \
> -            librdmacm-dev:ppc64el \
> -            libsasl2-dev:ppc64el \
> -            libsdl2-dev:ppc64el \
> -            libsdl2-image-dev:ppc64el \
> -            libseccomp-dev:ppc64el \
> -            libselinux1-dev:ppc64el \
> -            libslirp-dev:ppc64el \
> -            libsnappy-dev:ppc64el \
> -            libspice-server-dev:ppc64el \
> -            libssh-gcrypt-dev:ppc64el \
> -            libsystemd-dev:ppc64el \
> -            libtasn1-6-dev:ppc64el \
> -            libubsan1:ppc64el \
> -            libudev-dev:ppc64el \
> -            liburing-dev:ppc64el \
> -            libusb-1.0-0-dev:ppc64el \
> -            libusbredirhost-dev:ppc64el \
> -            libvdeplug-dev:ppc64el \
> -            libvirglrenderer-dev:ppc64el \
> -            libvte-2.91-dev:ppc64el \
> -            libzstd-dev:ppc64el \
> -            nettle-dev:ppc64el \
> -            systemtap-sdt-dev:ppc64el \
> -            xfslibs-dev:ppc64el \
> -            zlib1g-dev:ppc64el && \
> +                      g++-powerpc64le-linux-gnu \
> +                      gcc-powerpc64le-linux-gnu \
> +                      libaio-dev:ppc64el \
> +                      libasan5:ppc64el \
> +                      libasound2-dev:ppc64el \
> +                      libattr1-dev:ppc64el \
> +                      libbpf-dev:ppc64el \
> +                      libbrlapi-dev:ppc64el \
> +                      libbz2-dev:ppc64el \
> +                      libc6-dev:ppc64el \
> +                      libcacard-dev:ppc64el \
> +                      libcap-ng-dev:ppc64el \
> +                      libcapstone-dev:ppc64el \
> +                      libcmocka-dev:ppc64el \
> +                      libcurl4-gnutls-dev:ppc64el \
> +                      libdaxctl-dev:ppc64el \
> +                      libdrm-dev:ppc64el \
> +                      libepoxy-dev:ppc64el \
> +                      libfdt-dev:ppc64el \
> +                      libffi-dev:ppc64el \
> +                      libfuse3-dev:ppc64el \
> +                      libgbm-dev:ppc64el \
> +                      libgcrypt20-dev:ppc64el \
> +                      libglib2.0-dev:ppc64el \
> +                      libglusterfs-dev:ppc64el \
> +                      libgnutls28-dev:ppc64el \
> +                      libgtk-3-dev:ppc64el \
> +                      libibumad-dev:ppc64el \
> +                      libibverbs-dev:ppc64el \
> +                      libiscsi-dev:ppc64el \
> +                      libjemalloc-dev:ppc64el \
> +                      libjpeg62-turbo-dev:ppc64el \
> +                      libjson-c-dev:ppc64el \
> +                      liblttng-ust-dev:ppc64el \
> +                      liblzo2-dev:ppc64el \
> +                      libncursesw5-dev:ppc64el \
> +                      libnfs-dev:ppc64el \
> +                      libnuma-dev:ppc64el \
> +                      libpam0g-dev:ppc64el \
> +                      libpixman-1-dev:ppc64el \
> +                      libpng-dev:ppc64el \
> +                      libpulse-dev:ppc64el \
> +                      librbd-dev:ppc64el \
> +                      librdmacm-dev:ppc64el \
> +                      libsasl2-dev:ppc64el \
> +                      libsdl2-dev:ppc64el \
> +                      libsdl2-image-dev:ppc64el \
> +                      libseccomp-dev:ppc64el \
> +                      libselinux1-dev:ppc64el \
> +                      libslirp-dev:ppc64el \
> +                      libsnappy-dev:ppc64el \
> +                      libspice-server-dev:ppc64el \
> +                      libssh-gcrypt-dev:ppc64el \
> +                      libsystemd-dev:ppc64el \
> +                      libtasn1-6-dev:ppc64el \
> +                      libubsan1:ppc64el \
> +                      libudev-dev:ppc64el \
> +                      liburing-dev:ppc64el \
> +                      libusb-1.0-0-dev:ppc64el \
> +                      libusbredirhost-dev:ppc64el \
> +                      libvdeplug-dev:ppc64el \
> +                      libvirglrenderer-dev:ppc64el \
> +                      libvte-2.91-dev:ppc64el \
> +                      libzstd-dev:ppc64el \
> +                      nettle-dev:ppc64el \
> +                      systemtap-sdt-dev:ppc64el \
> +                      xfslibs-dev:ppc64el \
> +                      zlib1g-dev:ppc64el && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
> index 95585e9e56..a105c1066e 100644
> --- a/tests/docker/dockerfiles/debian-s390x-cross.docker
> +++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdextrautils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libglib2.0-dev \
> -            libpcre2-dev \
> -            libspice-protocol-dev \
> -            llvm \
> -            locales \
> -            make \
> -            meson \
> -            ncat \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdextrautils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libglib2.0-dev \
> +                      libpcre2-dev \
> +                      libspice-protocol-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      meson \
> +                      ncat \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>      dpkg-reconfigure locales
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg --add-architecture s390x && \
> @@ -74,73 +74,73 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            g++-s390x-linux-gnu \
> -            gcc-s390x-linux-gnu \
> -            libaio-dev:s390x \
> -            libasan5:s390x \
> -            libasound2-dev:s390x \
> -            libattr1-dev:s390x \
> -            libbpf-dev:s390x \
> -            libbrlapi-dev:s390x \
> -            libbz2-dev:s390x \
> -            libc6-dev:s390x \
> -            libcacard-dev:s390x \
> -            libcap-ng-dev:s390x \
> -            libcapstone-dev:s390x \
> -            libcmocka-dev:s390x \
> -            libcurl4-gnutls-dev:s390x \
> -            libdaxctl-dev:s390x \
> -            libdrm-dev:s390x \
> -            libepoxy-dev:s390x \
> -            libfdt-dev:s390x \
> -            libffi-dev:s390x \
> -            libfuse3-dev:s390x \
> -            libgbm-dev:s390x \
> -            libgcrypt20-dev:s390x \
> -            libglib2.0-dev:s390x \
> -            libglusterfs-dev:s390x \
> -            libgnutls28-dev:s390x \
> -            libgtk-3-dev:s390x \
> -            libibumad-dev:s390x \
> -            libibverbs-dev:s390x \
> -            libiscsi-dev:s390x \
> -            libjemalloc-dev:s390x \
> -            libjpeg62-turbo-dev:s390x \
> -            libjson-c-dev:s390x \
> -            liblttng-ust-dev:s390x \
> -            liblzo2-dev:s390x \
> -            libncursesw5-dev:s390x \
> -            libnfs-dev:s390x \
> -            libnuma-dev:s390x \
> -            libpam0g-dev:s390x \
> -            libpixman-1-dev:s390x \
> -            libpng-dev:s390x \
> -            libpulse-dev:s390x \
> -            librbd-dev:s390x \
> -            librdmacm-dev:s390x \
> -            libsasl2-dev:s390x \
> -            libsdl2-dev:s390x \
> -            libsdl2-image-dev:s390x \
> -            libseccomp-dev:s390x \
> -            libselinux1-dev:s390x \
> -            libslirp-dev:s390x \
> -            libsnappy-dev:s390x \
> -            libssh-gcrypt-dev:s390x \
> -            libsystemd-dev:s390x \
> -            libtasn1-6-dev:s390x \
> -            libubsan1:s390x \
> -            libudev-dev:s390x \
> -            liburing-dev:s390x \
> -            libusb-1.0-0-dev:s390x \
> -            libusbredirhost-dev:s390x \
> -            libvdeplug-dev:s390x \
> -            libvirglrenderer-dev:s390x \
> -            libvte-2.91-dev:s390x \
> -            libzstd-dev:s390x \
> -            nettle-dev:s390x \
> -            systemtap-sdt-dev:s390x \
> -            xfslibs-dev:s390x \
> -            zlib1g-dev:s390x && \
> +                      g++-s390x-linux-gnu \
> +                      gcc-s390x-linux-gnu \
> +                      libaio-dev:s390x \
> +                      libasan5:s390x \
> +                      libasound2-dev:s390x \
> +                      libattr1-dev:s390x \
> +                      libbpf-dev:s390x \
> +                      libbrlapi-dev:s390x \
> +                      libbz2-dev:s390x \
> +                      libc6-dev:s390x \
> +                      libcacard-dev:s390x \
> +                      libcap-ng-dev:s390x \
> +                      libcapstone-dev:s390x \
> +                      libcmocka-dev:s390x \
> +                      libcurl4-gnutls-dev:s390x \
> +                      libdaxctl-dev:s390x \
> +                      libdrm-dev:s390x \
> +                      libepoxy-dev:s390x \
> +                      libfdt-dev:s390x \
> +                      libffi-dev:s390x \
> +                      libfuse3-dev:s390x \
> +                      libgbm-dev:s390x \
> +                      libgcrypt20-dev:s390x \
> +                      libglib2.0-dev:s390x \
> +                      libglusterfs-dev:s390x \
> +                      libgnutls28-dev:s390x \
> +                      libgtk-3-dev:s390x \
> +                      libibumad-dev:s390x \
> +                      libibverbs-dev:s390x \
> +                      libiscsi-dev:s390x \
> +                      libjemalloc-dev:s390x \
> +                      libjpeg62-turbo-dev:s390x \
> +                      libjson-c-dev:s390x \
> +                      liblttng-ust-dev:s390x \
> +                      liblzo2-dev:s390x \
> +                      libncursesw5-dev:s390x \
> +                      libnfs-dev:s390x \
> +                      libnuma-dev:s390x \
> +                      libpam0g-dev:s390x \
> +                      libpixman-1-dev:s390x \
> +                      libpng-dev:s390x \
> +                      libpulse-dev:s390x \
> +                      librbd-dev:s390x \
> +                      librdmacm-dev:s390x \
> +                      libsasl2-dev:s390x \
> +                      libsdl2-dev:s390x \
> +                      libsdl2-image-dev:s390x \
> +                      libseccomp-dev:s390x \
> +                      libselinux1-dev:s390x \
> +                      libslirp-dev:s390x \
> +                      libsnappy-dev:s390x \
> +                      libssh-gcrypt-dev:s390x \
> +                      libsystemd-dev:s390x \
> +                      libtasn1-6-dev:s390x \
> +                      libubsan1:s390x \
> +                      libudev-dev:s390x \
> +                      liburing-dev:s390x \
> +                      libusb-1.0-0-dev:s390x \
> +                      libusbredirhost-dev:s390x \
> +                      libvdeplug-dev:s390x \
> +                      libvirglrenderer-dev:s390x \
> +                      libvte-2.91-dev:s390x \
> +                      libzstd-dev:s390x \
> +                      nettle-dev:s390x \
> +                      systemtap-sdt-dev:s390x \
> +                      xfslibs-dev:s390x \
> +                      zlib1g-dev:s390x && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      mkdir -p /usr/local/share/meson/cross && \
> diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
> index aca37aabc4..75383ba185 100644
> --- a/tests/docker/dockerfiles/fedora-win32-cross.docker
> +++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
> @@ -1,46 +1,103 @@
> +# THIS FILE WAS AUTO-GENERATED
> +#
> +#  $ lcitool dockerfile --layers all --cross mingw32 fedora-35 qemu
> +#
> +# https://gitlab.com/libvirt/libvirt-ci
> +
>  FROM registry.fedoraproject.org/fedora:35
>
> -# Please keep this list sorted alphabetically
> -ENV PACKAGES \
> -    bc \
> -    bison \
> -    bzip2 \
> -    ccache \
> -    diffutils \
> -    findutils \
> -    flex \
> -    gcc \
> -    gettext \
> -    git \
> -    glib2-devel \
> -    hostname \
> -    make \
> -    meson \
> -    mingw32-bzip2 \
> -    mingw32-curl \
> -    mingw32-glib2 \
> -    mingw32-gmp \
> -    mingw32-gnutls \
> -    mingw32-gtk3 \
> -    mingw32-libffi \
> -    mingw32-libjpeg-turbo \
> -    mingw32-libpng \
> -    mingw32-libtasn1 \
> -    mingw32-libusbx \
> -    mingw32-nettle \
> -    mingw32-nsis \
> -    mingw32-pixman \
> -    mingw32-pkg-config \
> -    mingw32-SDL2 \
> -    msitools \
> -    perl \
> -    python3 \
> -    python3-PyYAML \
> -    tar \
> -    which
> +RUN dnf install -y nosync && \
> +    echo -e '#!/bin/sh\n\
> +if test -d /usr/lib64\n\
> +then\n\
> +    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
> +else\n\
> +    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
> +fi\n\
> +exec "$@"' > /usr/bin/nosync && \
> +    chmod +x /usr/bin/nosync && \
> +    nosync dnf update -y && \
> +    nosync dnf install -y \
> +               bash \
> +               bc \
> +               bison \
> +               bzip2 \
> +               ca-certificates \
> +               ccache \
> +               ctags \
> +               dbus-daemon \
> +               diffutils \
> +               findutils \
> +               flex \
> +               gcovr \
> +               genisoimage \
> +               git \
> +               glib2-devel \
> +               glibc-langpack-en \
> +               hostname \
> +               llvm \
> +               make \
> +               meson \
> +               ninja-build \
> +               nmap-ncat \
> +               openssh-clients \
> +               pcre-static \
> +               perl-base \
> +               python3 \
> +               python3-PyYAML \
> +               python3-numpy \
> +               python3-opencv \
> +               python3-pillow \
> +               python3-pip \
> +               python3-sphinx \
> +               python3-sphinx_rtd_theme \
> +               rpm \
> +               sed \
> +               sparse \
> +               spice-protocol \
> +               tar \
> +               tesseract \
> +               tesseract-langpack-eng \
> +               texinfo \
> +               util-linux \
> +               which && \
> +    nosync dnf autoremove -y && \
> +    nosync dnf clean all -y
> +
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
> +ENV LANG "en_US.UTF-8"
> +ENV MAKE "/usr/bin/make"
> +ENV NINJA "/usr/bin/ninja"
> +ENV PYTHON "/usr/bin/python3"
>
> -RUN dnf install -y $PACKAGES
> -RUN rpm -q $PACKAGES | sort > /packages.txt
> +RUN nosync dnf install -y \
> +               mingw32-SDL2 \
> +               mingw32-SDL2_image \
> +               mingw32-bzip2 \
> +               mingw32-curl \
> +               mingw32-gcc \
> +               mingw32-gcc-c++ \
> +               mingw32-gettext \
> +               mingw32-glib2 \
> +               mingw32-gnutls \
> +               mingw32-gtk3 \
> +               mingw32-libgcrypt \
> +               mingw32-libjpeg-turbo \
> +               mingw32-libpng \
> +               mingw32-libtasn1 \
> +               mingw32-nettle \
> +               mingw32-nsis \
> +               mingw32-pixman \
> +               mingw32-pkg-config && \
> +    nosync dnf clean all -y && \
> +    rpm -qa | sort > /packages.txt && \
> +    mkdir -p /usr/libexec/ccache-wrappers && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
>
> -# Specify the cross prefix for this image (see tests/docker/common.rc)
> +ENV ABI "i686-w64-mingw32"
> +ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
>  ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
> +ENV DEF_TARGET_LIST i386-softmmu
> diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
> index 3642766479..98c03dc13b 100644
> --- a/tests/docker/dockerfiles/fedora-win64-cross.docker
> +++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
> @@ -1,43 +1,103 @@
> +# THIS FILE WAS AUTO-GENERATED
> +#
> +#  $ lcitool dockerfile --layers all --cross mingw64 fedora-35 qemu
> +#
> +# https://gitlab.com/libvirt/libvirt-ci
> +
>  FROM registry.fedoraproject.org/fedora:35
>
> -# Please keep this list sorted alphabetically
> -ENV PACKAGES \
> -    bc \
> -    bison \
> -    bzip2 \
> -    ccache \
> -    diffutils \
> -    findutils \
> -    flex \
> -    gcc \
> -    gettext \
> -    git \
> -    glib2-devel \
> -    hostname \
> -    make \
> -    meson \
> -    mingw32-nsis \
> -    mingw64-bzip2 \
> -    mingw64-curl \
> -    mingw64-glib2 \
> -    mingw64-gmp \
> -    mingw64-gtk3 \
> -    mingw64-libffi \
> -    mingw64-libjpeg-turbo \
> -    mingw64-libpng \
> -    mingw64-libtasn1 \
> -    mingw64-libusbx \
> -    mingw64-pixman \
> -    mingw64-pkg-config \
> -    msitools \
> -    perl \
> -    python3 \
> -    python3-PyYAML \
> -    tar \
> -    which
> +RUN dnf install -y nosync && \
> +    echo -e '#!/bin/sh\n\
> +if test -d /usr/lib64\n\
> +then\n\
> +    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
> +else\n\
> +    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
> +fi\n\
> +exec "$@"' > /usr/bin/nosync && \
> +    chmod +x /usr/bin/nosync && \
> +    nosync dnf update -y && \
> +    nosync dnf install -y \
> +               bash \
> +               bc \
> +               bison \
> +               bzip2 \
> +               ca-certificates \
> +               ccache \
> +               ctags \
> +               dbus-daemon \
> +               diffutils \
> +               findutils \
> +               flex \
> +               gcovr \
> +               genisoimage \
> +               git \
> +               glib2-devel \
> +               glibc-langpack-en \
> +               hostname \
> +               llvm \
> +               make \
> +               meson \
> +               ninja-build \
> +               nmap-ncat \
> +               openssh-clients \
> +               pcre-static \
> +               perl-base \
> +               python3 \
> +               python3-PyYAML \
> +               python3-numpy \
> +               python3-opencv \
> +               python3-pillow \
> +               python3-pip \
> +               python3-sphinx \
> +               python3-sphinx_rtd_theme \
> +               rpm \
> +               sed \
> +               sparse \
> +               spice-protocol \
> +               tar \
> +               tesseract \
> +               tesseract-langpack-eng \
> +               texinfo \
> +               util-linux \
> +               which && \
> +    nosync dnf autoremove -y && \
> +    nosync dnf clean all -y
> +
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
> +ENV LANG "en_US.UTF-8"
> +ENV MAKE "/usr/bin/make"
> +ENV NINJA "/usr/bin/ninja"
> +ENV PYTHON "/usr/bin/python3"
>
> -RUN dnf install -y $PACKAGES
> -RUN rpm -q $PACKAGES | sort > /packages.txt
> +RUN nosync dnf install -y \
> +               mingw32-nsis \
> +               mingw64-SDL2 \
> +               mingw64-SDL2_image \
> +               mingw64-bzip2 \
> +               mingw64-curl \
> +               mingw64-gcc \
> +               mingw64-gcc-c++ \
> +               mingw64-gettext \
> +               mingw64-glib2 \
> +               mingw64-gnutls \
> +               mingw64-gtk3 \
> +               mingw64-libgcrypt \
> +               mingw64-libjpeg-turbo \
> +               mingw64-libpng \
> +               mingw64-libtasn1 \
> +               mingw64-nettle \
> +               mingw64-pixman \
> +               mingw64-pkg-config && \
> +    nosync dnf clean all -y && \
> +    rpm -qa | sort > /packages.txt && \
> +    mkdir -p /usr/libexec/ccache-wrappers && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \
> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
>
> -# Specify the cross prefix for this image (see tests/docker/common.rc)
> -ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone
> +ENV ABI "x86_64-w64-mingw32"
> +ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
> +ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32-
> +ENV DEF_TARGET_LIST x86_64-softmmu
> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> index fe84166ca1..d200c7fc10 100644
> --- a/tests/docker/dockerfiles/fedora.docker
> +++ b/tests/docker/dockerfiles/fedora.docker
> @@ -18,120 +18,120 @@ exec "$@"' > /usr/bin/nosync && \
>      chmod +x /usr/bin/nosync && \
>      nosync dnf update -y && \
>      nosync dnf install -y \
> -        SDL2-devel \
> -        SDL2_image-devel \
> -        alsa-lib-devel \
> -        bash \
> -        bc \
> -        bison \
> -        brlapi-devel \
> -        bzip2 \
> -        bzip2-devel \
> -        ca-certificates \
> -        capstone-devel \
> -        ccache \
> -        clang \
> -        ctags \
> -        cyrus-sasl-devel \
> -        daxctl-devel \
> -        dbus-daemon \
> -        device-mapper-multipath-devel \
> -        diffutils \
> -        findutils \
> -        flex \
> -        fuse3-devel \
> -        gcc \
> -        gcc-c++ \
> -        gcovr \
> -        genisoimage \
> -        gettext \
> -        git \
> -        glib2-devel \
> -        glib2-static \
> -        glibc-langpack-en \
> -        glibc-static \
> -        glusterfs-api-devel \
> -        gnutls-devel \
> -        gtk3-devel \
> -        hostname \
> -        jemalloc-devel \
> -        json-c-devel \
> -        libaio-devel \
> -        libasan \
> -        libattr-devel \
> -        libbpf-devel \
> -        libcacard-devel \
> -        libcap-ng-devel \
> -        libcmocka-devel \
> -        libcurl-devel \
> -        libdrm-devel \
> -        libepoxy-devel \
> -        libfdt-devel \
> -        libffi-devel \
> -        libgcrypt-devel \
> -        libiscsi-devel \
> -        libjpeg-devel \
> -        libnfs-devel \
> -        libpmem-devel \
> -        libpng-devel \
> -        librbd-devel \
> -        libseccomp-devel \
> -        libselinux-devel \
> -        libslirp-devel \
> -        libssh-devel \
> -        libtasn1-devel \
> -        libubsan \
> -        liburing-devel \
> -        libusbx-devel \
> -        libzstd-devel \
> -        llvm \
> -        lttng-ust-devel \
> -        lzo-devel \
> -        make \
> -        mesa-libgbm-devel \
> -        meson \
> -        ncurses-devel \
> -        nettle-devel \
> -        ninja-build \
> -        nmap-ncat \
> -        numactl-devel \
> -        openssh-clients \
> -        pam-devel \
> -        pcre-static \
> -        perl-base \
> -        pixman-devel \
> -        pkgconfig \
> -        pulseaudio-libs-devel \
> -        python3 \
> -        python3-PyYAML \
> -        python3-numpy \
> -        python3-opencv \
> -        python3-pillow \
> -        python3-pip \
> -        python3-sphinx \
> -        python3-sphinx_rtd_theme \
> -        rdma-core-devel \
> -        rpm \
> -        sed \
> -        snappy-devel \
> -        sparse \
> -        spice-protocol \
> -        spice-server-devel \
> -        systemd-devel \
> -        systemtap-sdt-devel \
> -        tar \
> -        tesseract \
> -        tesseract-langpack-eng \
> -        texinfo \
> -        usbredir-devel \
> -        util-linux \
> -        virglrenderer-devel \
> -        vte291-devel \
> -        which \
> -        xen-devel \
> -        xfsprogs-devel \
> -        zlib-devel \
> -        zlib-static && \
> +               SDL2-devel \
> +               SDL2_image-devel \
> +               alsa-lib-devel \
> +               bash \
> +               bc \
> +               bison \
> +               brlapi-devel \
> +               bzip2 \
> +               bzip2-devel \
> +               ca-certificates \
> +               capstone-devel \
> +               ccache \
> +               clang \
> +               ctags \
> +               cyrus-sasl-devel \
> +               daxctl-devel \
> +               dbus-daemon \
> +               device-mapper-multipath-devel \
> +               diffutils \
> +               findutils \
> +               flex \
> +               fuse3-devel \
> +               gcc \
> +               gcc-c++ \
> +               gcovr \
> +               genisoimage \
> +               gettext \
> +               git \
> +               glib2-devel \
> +               glib2-static \
> +               glibc-langpack-en \
> +               glibc-static \
> +               glusterfs-api-devel \
> +               gnutls-devel \
> +               gtk3-devel \
> +               hostname \
> +               jemalloc-devel \
> +               json-c-devel \
> +               libaio-devel \
> +               libasan \
> +               libattr-devel \
> +               libbpf-devel \
> +               libcacard-devel \
> +               libcap-ng-devel \
> +               libcmocka-devel \
> +               libcurl-devel \
> +               libdrm-devel \
> +               libepoxy-devel \
> +               libfdt-devel \
> +               libffi-devel \
> +               libgcrypt-devel \
> +               libiscsi-devel \
> +               libjpeg-devel \
> +               libnfs-devel \
> +               libpmem-devel \
> +               libpng-devel \
> +               librbd-devel \
> +               libseccomp-devel \
> +               libselinux-devel \
> +               libslirp-devel \
> +               libssh-devel \
> +               libtasn1-devel \
> +               libubsan \
> +               liburing-devel \
> +               libusbx-devel \
> +               libzstd-devel \
> +               llvm \
> +               lttng-ust-devel \
> +               lzo-devel \
> +               make \
> +               mesa-libgbm-devel \
> +               meson \
> +               ncurses-devel \
> +               nettle-devel \
> +               ninja-build \
> +               nmap-ncat \
> +               numactl-devel \
> +               openssh-clients \
> +               pam-devel \
> +               pcre-static \
> +               perl-base \
> +               pixman-devel \
> +               pkgconfig \
> +               pulseaudio-libs-devel \
> +               python3 \
> +               python3-PyYAML \
> +               python3-numpy \
> +               python3-opencv \
> +               python3-pillow \
> +               python3-pip \
> +               python3-sphinx \
> +               python3-sphinx_rtd_theme \
> +               rdma-core-devel \
> +               rpm \
> +               sed \
> +               snappy-devel \
> +               sparse \
> +               spice-protocol \
> +               spice-server-devel \
> +               systemd-devel \
> +               systemtap-sdt-devel \
> +               tar \
> +               tesseract \
> +               tesseract-langpack-eng \
> +               texinfo \
> +               usbredir-devel \
> +               util-linux \
> +               virglrenderer-devel \
> +               vte291-devel \
> +               which \
> +               xen-devel \
> +               xfsprogs-devel \
> +               zlib-devel \
> +               zlib-static && \
>      nosync dnf autoremove -y && \
>      nosync dnf clean all -y && \
>      rpm -qa | sort > /packages.txt && \
> @@ -142,8 +142,8 @@ exec "$@"' > /usr/bin/nosync && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
> diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
> index d80064756f..361979d6b3 100644
> --- a/tests/docker/dockerfiles/opensuse-leap.docker
> +++ b/tests/docker/dockerfiles/opensuse-leap.docker
> @@ -132,8 +132,8 @@ RUN zypper update -y && \
>
>  RUN /usr/bin/pip3 install meson==0.56.0
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
> diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker
> index 24594afc15..ac16383da7 100644
> --- a/tests/docker/dockerfiles/ubuntu2004.docker
> +++ b/tests/docker/dockerfiles/ubuntu2004.docker
> @@ -11,122 +11,122 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get install -y eatmydata && \
>      eatmydata apt-get dist-upgrade -y && \
>      eatmydata apt-get install --no-install-recommends -y \
> -            bash \
> -            bc \
> -            bison \
> -            bsdmainutils \
> -            bzip2 \
> -            ca-certificates \
> -            ccache \
> -            clang \
> -            dbus \
> -            debianutils \
> -            diffutils \
> -            exuberant-ctags \
> -            findutils \
> -            flex \
> -            g++ \
> -            gcc \
> -            gcovr \
> -            genisoimage \
> -            gettext \
> -            git \
> -            hostname \
> -            libaio-dev \
> -            libasan5 \
> -            libasound2-dev \
> -            libattr1-dev \
> -            libbrlapi-dev \
> -            libbz2-dev \
> -            libc6-dev \
> -            libcacard-dev \
> -            libcap-ng-dev \
> -            libcapstone-dev \
> -            libcmocka-dev \
> -            libcurl4-gnutls-dev \
> -            libdaxctl-dev \
> -            libdrm-dev \
> -            libepoxy-dev \
> -            libfdt-dev \
> -            libffi-dev \
> -            libfuse3-dev \
> -            libgbm-dev \
> -            libgcrypt20-dev \
> -            libglib2.0-dev \
> -            libglusterfs-dev \
> -            libgnutls28-dev \
> -            libgtk-3-dev \
> -            libibumad-dev \
> -            libibverbs-dev \
> -            libiscsi-dev \
> -            libjemalloc-dev \
> -            libjpeg-turbo8-dev \
> -            libjson-c-dev \
> -            liblttng-ust-dev \
> -            liblzo2-dev \
> -            libncursesw5-dev \
> -            libnfs-dev \
> -            libnuma-dev \
> -            libpam0g-dev \
> -            libpcre2-dev \
> -            libpixman-1-dev \
> -            libpmem-dev \
> -            libpng-dev \
> -            libpulse-dev \
> -            librbd-dev \
> -            librdmacm-dev \
> -            libsasl2-dev \
> -            libsdl2-dev \
> -            libsdl2-image-dev \
> -            libseccomp-dev \
> -            libselinux1-dev \
> -            libslirp-dev \
> -            libsnappy-dev \
> -            libspice-protocol-dev \
> -            libspice-server-dev \
> -            libssh-dev \
> -            libsystemd-dev \
> -            libtasn1-6-dev \
> -            libubsan1 \
> -            libudev-dev \
> -            libusb-1.0-0-dev \
> -            libusbredirhost-dev \
> -            libvdeplug-dev \
> -            libvirglrenderer-dev \
> -            libvte-2.91-dev \
> -            libxen-dev \
> -            libzstd-dev \
> -            llvm \
> -            locales \
> -            make \
> -            multipath-tools \
> -            ncat \
> -            nettle-dev \
> -            ninja-build \
> -            openssh-client \
> -            perl-base \
> -            pkgconf \
> -            python3 \
> -            python3-numpy \
> -            python3-opencv \
> -            python3-pillow \
> -            python3-pip \
> -            python3-setuptools \
> -            python3-sphinx \
> -            python3-sphinx-rtd-theme \
> -            python3-venv \
> -            python3-wheel \
> -            python3-yaml \
> -            rpm2cpio \
> -            sed \
> -            sparse \
> -            systemtap-sdt-dev \
> -            tar \
> -            tesseract-ocr \
> -            tesseract-ocr-eng \
> -            texinfo \
> -            xfslibs-dev \
> -            zlib1g-dev && \
> +                      bash \
> +                      bc \
> +                      bison \
> +                      bsdmainutils \
> +                      bzip2 \
> +                      ca-certificates \
> +                      ccache \
> +                      clang \
> +                      dbus \
> +                      debianutils \
> +                      diffutils \
> +                      exuberant-ctags \
> +                      findutils \
> +                      flex \
> +                      g++ \
> +                      gcc \
> +                      gcovr \
> +                      genisoimage \
> +                      gettext \
> +                      git \
> +                      hostname \
> +                      libaio-dev \
> +                      libasan5 \
> +                      libasound2-dev \
> +                      libattr1-dev \
> +                      libbrlapi-dev \
> +                      libbz2-dev \
> +                      libc6-dev \
> +                      libcacard-dev \
> +                      libcap-ng-dev \
> +                      libcapstone-dev \
> +                      libcmocka-dev \
> +                      libcurl4-gnutls-dev \
> +                      libdaxctl-dev \
> +                      libdrm-dev \
> +                      libepoxy-dev \
> +                      libfdt-dev \
> +                      libffi-dev \
> +                      libfuse3-dev \
> +                      libgbm-dev \
> +                      libgcrypt20-dev \
> +                      libglib2.0-dev \
> +                      libglusterfs-dev \
> +                      libgnutls28-dev \
> +                      libgtk-3-dev \
> +                      libibumad-dev \
> +                      libibverbs-dev \
> +                      libiscsi-dev \
> +                      libjemalloc-dev \
> +                      libjpeg-turbo8-dev \
> +                      libjson-c-dev \
> +                      liblttng-ust-dev \
> +                      liblzo2-dev \
> +                      libncursesw5-dev \
> +                      libnfs-dev \
> +                      libnuma-dev \
> +                      libpam0g-dev \
> +                      libpcre2-dev \
> +                      libpixman-1-dev \
> +                      libpmem-dev \
> +                      libpng-dev \
> +                      libpulse-dev \
> +                      librbd-dev \
> +                      librdmacm-dev \
> +                      libsasl2-dev \
> +                      libsdl2-dev \
> +                      libsdl2-image-dev \
> +                      libseccomp-dev \
> +                      libselinux1-dev \
> +                      libslirp-dev \
> +                      libsnappy-dev \
> +                      libspice-protocol-dev \
> +                      libspice-server-dev \
> +                      libssh-dev \
> +                      libsystemd-dev \
> +                      libtasn1-6-dev \
> +                      libubsan1 \
> +                      libudev-dev \
> +                      libusb-1.0-0-dev \
> +                      libusbredirhost-dev \
> +                      libvdeplug-dev \
> +                      libvirglrenderer-dev \
> +                      libvte-2.91-dev \
> +                      libxen-dev \
> +                      libzstd-dev \
> +                      llvm \
> +                      locales \
> +                      make \
> +                      multipath-tools \
> +                      ncat \
> +                      nettle-dev \
> +                      ninja-build \
> +                      openssh-client \
> +                      perl-base \
> +                      pkgconf \
> +                      python3 \
> +                      python3-numpy \
> +                      python3-opencv \
> +                      python3-pillow \
> +                      python3-pip \
> +                      python3-setuptools \
> +                      python3-sphinx \
> +                      python3-sphinx-rtd-theme \
> +                      python3-venv \
> +                      python3-wheel \
> +                      python3-yaml \
> +                      rpm2cpio \
> +                      sed \
> +                      sparse \
> +                      systemtap-sdt-dev \
> +                      tar \
> +                      tesseract-ocr \
> +                      tesseract-ocr-eng \
> +                      texinfo \
> +                      xfslibs-dev \
> +                      zlib1g-dev && \
>      eatmydata apt-get autoremove -y && \
>      eatmydata apt-get autoclean -y && \
>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
> @@ -141,11 +141,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>
>  RUN /usr/bin/pip3 install meson==0.56.0
>
> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  # Apply patch https://reviews.llvm.org/D75820
>  # This is required for TSan in clang-10 to compile with QEMU.
>  RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h
> diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
> index e3712b7912..a2633997ff 160000
> --- a/tests/lcitool/libvirt-ci
> +++ b/tests/lcitool/libvirt-ci
> @@ -1 +1 @@
> -Subproject commit e3712b79122180fdb3b7a7ea8cbee47ece253f97
> +Subproject commit a2633997ffb3830acc96c98c70122885d83bebf4
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index e45c99adbe..ce0b24c0b1 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -93,7 +93,7 @@ debian11_extras = [
>  ]
>
>
> -def debian_cross_build(prefix, targets):
> +def cross_build(prefix, targets):
>      conf = "ENV QEMU_CONFIGURE_OPTS --cross-prefix=%s\n" % (prefix)
>      targets = "ENV DEF_TARGET_LIST %s\n" % (targets)
>      return "".join([conf, targets])
> @@ -121,45 +121,55 @@ try:
>      #
>      generate_dockerfile("debian-amd64-cross", "debian-11",
>                          cross="x86_64",
> -                        trailer=debian_cross_build("x86_64-linux-gnu-",
> -                                                   "x86_64-softmmu,"
> -                                                   "x86_64-linux-user,"
> -                                                   "i386-softmmu,i386-linux-user"))
> +                        trailer=cross_build("x86_64-linux-gnu-",
> +                                            "x86_64-softmmu,"
> +                                            "x86_64-linux-user,"
> +                                            "i386-softmmu,i386-linux-user"))
>
>      generate_dockerfile("debian-arm64-cross", "debian-11",
>                          cross="aarch64",
> -                        trailer=debian_cross_build("aarch64-linux-gnu-",
> -                                                   "aarch64-softmmu,aarch64-linux-user"))
> +                        trailer=cross_build("aarch64-linux-gnu-",
> +                                            "aarch64-softmmu,aarch64-linux-user"))
>
>      generate_dockerfile("debian-armel-cross", "debian-11",
>                          cross="armv6l",
> -                        trailer=debian_cross_build("arm-linux-gnueabi-",
> -                                                   "arm-softmmu,arm-linux-user,armeb-linux-user"))
> +                        trailer=cross_build("arm-linux-gnueabi-",
> +                                            "arm-softmmu,arm-linux-user,armeb-linux-user"))
>
>      generate_dockerfile("debian-armhf-cross", "debian-11",
>                          cross="armv7l",
> -                        trailer=debian_cross_build("arm-linux-gnueabihf-",
> -                                                   "arm-softmmu,arm-linux-user"))
> +                        trailer=cross_build("arm-linux-gnueabihf-",
> +                                            "arm-softmmu,arm-linux-user"))
>
>      generate_dockerfile("debian-mips64el-cross", "debian-11",
>                          cross="mips64el",
> -                        trailer=debian_cross_build("mips64el-linux-gnuabi64-",
> -                                                  "mips64el-softmmu,mips64el-linux-user"))
> +                        trailer=cross_build("mips64el-linux-gnuabi64-",
> +                                            "mips64el-softmmu,mips64el-linux-user"))
>
>      generate_dockerfile("debian-mipsel-cross", "debian-11",
>                          cross="mipsel",
> -                        trailer=debian_cross_build("mipsel-linux-gnu-",
> -                                                   "mipsel-softmmu,mipsel-linux-user"))
> +                        trailer=cross_build("mipsel-linux-gnu-",
> +                                            "mipsel-softmmu,mipsel-linux-user"))
>
>      generate_dockerfile("debian-ppc64el-cross", "debian-11",
>                          cross="ppc64le",
> -                        trailer=debian_cross_build("powerpc64le-linux-gnu-",
> -                                                   "ppc64-softmmu,ppc64-linux-user"))
> +                        trailer=cross_build("powerpc64le-linux-gnu-",
> +                                            "ppc64-softmmu,ppc64-linux-user"))
>
>      generate_dockerfile("debian-s390x-cross", "debian-11",
>                          cross="s390x",
> -                        trailer=debian_cross_build("s390x-linux-gnu-",
> -                                                   "s390x-softmmu,s390x-linux-user"))
> +                        trailer=cross_build("s390x-linux-gnu-",
> +                                            "s390x-softmmu,s390x-linux-user"))
> +
> +    generate_dockerfile("fedora-win32-cross", "fedora-35",
> +                        cross="mingw32",
> +                        trailer=cross_build("i686-w64-mingw32-",
> +                                            "i386-softmmu"))
> +
> +    generate_dockerfile("fedora-win64-cross", "fedora-35",
> +                        cross="mingw64",
> +                        trailer=cross_build("x86_64-w64-mingw32-",
> +                                            "x86_64-softmmu"))
>
>      #
>      # Cirrus packages lists for GitLab
> --
> 2.34.1
>
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool
  2022-10-11 14:26   ` Stefan Hajnoczi
@ 2022-10-11 16:53     ` Alex Bennée
  0 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2022-10-11 16:53 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: qemu-devel, fam, berrange, f4bug, aurelien, pbonzini, stefanha,
	crosa, Thomas Huth, Wainer dos Santos Moschetta, Beraldo Leal


Stefan Hajnoczi <stefanha@gmail.com> writes:

> On Tue, 11 Oct 2022 at 09:01, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> Convert another two dockerfiles to lcitool and update. I renamed the
>> helper because it is not Debian specific. We need an updated lcitool
>> for this to deal with the weirdness of a 32bit nsis tool for both 32
>> and 64 bit builds. As a result there are some minor whitespace and
>> re-order changes in a bunch of the docker files.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Message-Id: <20220929114231.583801-10-alex.bennee@linaro.org>
>
> The commit description does not include anything that explains why
> this commit is part of a hotfix patch series. I'm not sure if this
> commit fixes anything, is urgent, or is required by a later commit.
>
> This won't stop me from pushing the series to CI, but it would be nice
> to justify commits in a hotfix series so I understand why this needs
> to be applied urgently.

Ahh the "Also" in my cover text was probably working a bit too hard:

  Also we have updates for the win32/64 builds which didn't make the
  last PR although they currently rely on a out-of-tree libvirt-ci
  update.

the only hotfix part is the revert. However the other patches should
have made the previous testing pull request but were pulled due to
issues during the last iteration and I'll include them if they get
reviewed in time. The out of tree libvirt-ci change is now merged.

>
> Thanks,
> Stefan
>
>> ---
>>  tests/docker/dockerfiles/alpine.docker        |   2 +-
>>  tests/docker/dockerfiles/centos8.docker       |   2 +-
>>  .../dockerfiles/debian-amd64-cross.docker     | 234 ++++++++---------
>>  tests/docker/dockerfiles/debian-amd64.docker  | 236 +++++++++---------
>>  .../dockerfiles/debian-arm64-cross.docker     | 232 ++++++++---------
>>  .../dockerfiles/debian-armel-cross.docker     | 230 ++++++++---------
>>  .../dockerfiles/debian-armhf-cross.docker     | 232 ++++++++---------
>>  .../dockerfiles/debian-mips64el-cross.docker  | 226 ++++++++---------
>>  .../dockerfiles/debian-mipsel-cross.docker    | 226 ++++++++---------
>>  .../dockerfiles/debian-ppc64el-cross.docker   | 230 ++++++++---------
>>  .../dockerfiles/debian-s390x-cross.docker     | 228 ++++++++---------
>>  .../dockerfiles/fedora-win32-cross.docker     | 139 ++++++++---
>>  .../dockerfiles/fedora-win64-cross.docker     | 138 +++++++---
>>  tests/docker/dockerfiles/fedora.docker        | 230 ++++++++---------
>>  tests/docker/dockerfiles/opensuse-leap.docker |   2 +-
>>  tests/docker/dockerfiles/ubuntu2004.docker    | 234 ++++++++---------
>>  tests/lcitool/libvirt-ci                      |   2 +-
>>  tests/lcitool/refresh                         |  48 ++--
>>  18 files changed, 1499 insertions(+), 1372 deletions(-)
>>
>> diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
>> index 9b7541261a..a854ae6b78 100644
>> --- a/tests/docker/dockerfiles/alpine.docker
>> +++ b/tests/docker/dockerfiles/alpine.docker
>> @@ -119,8 +119,8 @@ RUN apk update && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>> diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerfiles/centos8.docker
>> index d89113c0df..1f70d41aeb 100644
>> --- a/tests/docker/dockerfiles/centos8.docker
>> +++ b/tests/docker/dockerfiles/centos8.docker
>> @@ -130,8 +130,8 @@ RUN dnf distro-sync -y && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>> diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker
> b/tests/docker/dockerfiles/debian-amd64-cross.docker
>> index 9047759e76..8311024632 100644
>> --- a/tests/docker/dockerfiles/debian-amd64-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture amd64 && \
>> @@ -74,76 +74,76 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-x86-64-linux-gnu \
>> -            gcc-x86-64-linux-gnu \
>> -            libaio-dev:amd64 \
>> -            libasan5:amd64 \
>> -            libasound2-dev:amd64 \
>> -            libattr1-dev:amd64 \
>> -            libbpf-dev:amd64 \
>> -            libbrlapi-dev:amd64 \
>> -            libbz2-dev:amd64 \
>> -            libc6-dev:amd64 \
>> -            libcacard-dev:amd64 \
>> -            libcap-ng-dev:amd64 \
>> -            libcapstone-dev:amd64 \
>> -            libcmocka-dev:amd64 \
>> -            libcurl4-gnutls-dev:amd64 \
>> -            libdaxctl-dev:amd64 \
>> -            libdrm-dev:amd64 \
>> -            libepoxy-dev:amd64 \
>> -            libfdt-dev:amd64 \
>> -            libffi-dev:amd64 \
>> -            libfuse3-dev:amd64 \
>> -            libgbm-dev:amd64 \
>> -            libgcrypt20-dev:amd64 \
>> -            libglib2.0-dev:amd64 \
>> -            libglusterfs-dev:amd64 \
>> -            libgnutls28-dev:amd64 \
>> -            libgtk-3-dev:amd64 \
>> -            libibumad-dev:amd64 \
>> -            libibverbs-dev:amd64 \
>> -            libiscsi-dev:amd64 \
>> -            libjemalloc-dev:amd64 \
>> -            libjpeg62-turbo-dev:amd64 \
>> -            libjson-c-dev:amd64 \
>> -            liblttng-ust-dev:amd64 \
>> -            liblzo2-dev:amd64 \
>> -            libncursesw5-dev:amd64 \
>> -            libnfs-dev:amd64 \
>> -            libnuma-dev:amd64 \
>> -            libpam0g-dev:amd64 \
>> -            libpixman-1-dev:amd64 \
>> -            libpmem-dev:amd64 \
>> -            libpng-dev:amd64 \
>> -            libpulse-dev:amd64 \
>> -            librbd-dev:amd64 \
>> -            librdmacm-dev:amd64 \
>> -            libsasl2-dev:amd64 \
>> -            libsdl2-dev:amd64 \
>> -            libsdl2-image-dev:amd64 \
>> -            libseccomp-dev:amd64 \
>> -            libselinux1-dev:amd64 \
>> -            libslirp-dev:amd64 \
>> -            libsnappy-dev:amd64 \
>> -            libspice-server-dev:amd64 \
>> -            libssh-gcrypt-dev:amd64 \
>> -            libsystemd-dev:amd64 \
>> -            libtasn1-6-dev:amd64 \
>> -            libubsan1:amd64 \
>> -            libudev-dev:amd64 \
>> -            liburing-dev:amd64 \
>> -            libusb-1.0-0-dev:amd64 \
>> -            libusbredirhost-dev:amd64 \
>> -            libvdeplug-dev:amd64 \
>> -            libvirglrenderer-dev:amd64 \
>> -            libvte-2.91-dev:amd64 \
>> -            libxen-dev:amd64 \
>> -            libzstd-dev:amd64 \
>> -            nettle-dev:amd64 \
>> -            systemtap-sdt-dev:amd64 \
>> -            xfslibs-dev:amd64 \
>> -            zlib1g-dev:amd64 && \
>> +                      g++-x86-64-linux-gnu \
>> +                      gcc-x86-64-linux-gnu \
>> +                      libaio-dev:amd64 \
>> +                      libasan5:amd64 \
>> +                      libasound2-dev:amd64 \
>> +                      libattr1-dev:amd64 \
>> +                      libbpf-dev:amd64 \
>> +                      libbrlapi-dev:amd64 \
>> +                      libbz2-dev:amd64 \
>> +                      libc6-dev:amd64 \
>> +                      libcacard-dev:amd64 \
>> +                      libcap-ng-dev:amd64 \
>> +                      libcapstone-dev:amd64 \
>> +                      libcmocka-dev:amd64 \
>> +                      libcurl4-gnutls-dev:amd64 \
>> +                      libdaxctl-dev:amd64 \
>> +                      libdrm-dev:amd64 \
>> +                      libepoxy-dev:amd64 \
>> +                      libfdt-dev:amd64 \
>> +                      libffi-dev:amd64 \
>> +                      libfuse3-dev:amd64 \
>> +                      libgbm-dev:amd64 \
>> +                      libgcrypt20-dev:amd64 \
>> +                      libglib2.0-dev:amd64 \
>> +                      libglusterfs-dev:amd64 \
>> +                      libgnutls28-dev:amd64 \
>> +                      libgtk-3-dev:amd64 \
>> +                      libibumad-dev:amd64 \
>> +                      libibverbs-dev:amd64 \
>> +                      libiscsi-dev:amd64 \
>> +                      libjemalloc-dev:amd64 \
>> +                      libjpeg62-turbo-dev:amd64 \
>> +                      libjson-c-dev:amd64 \
>> +                      liblttng-ust-dev:amd64 \
>> +                      liblzo2-dev:amd64 \
>> +                      libncursesw5-dev:amd64 \
>> +                      libnfs-dev:amd64 \
>> +                      libnuma-dev:amd64 \
>> +                      libpam0g-dev:amd64 \
>> +                      libpixman-1-dev:amd64 \
>> +                      libpmem-dev:amd64 \
>> +                      libpng-dev:amd64 \
>> +                      libpulse-dev:amd64 \
>> +                      librbd-dev:amd64 \
>> +                      librdmacm-dev:amd64 \
>> +                      libsasl2-dev:amd64 \
>> +                      libsdl2-dev:amd64 \
>> +                      libsdl2-image-dev:amd64 \
>> +                      libseccomp-dev:amd64 \
>> +                      libselinux1-dev:amd64 \
>> +                      libslirp-dev:amd64 \
>> +                      libsnappy-dev:amd64 \
>> +                      libspice-server-dev:amd64 \
>> +                      libssh-gcrypt-dev:amd64 \
>> +                      libsystemd-dev:amd64 \
>> +                      libtasn1-6-dev:amd64 \
>> +                      libubsan1:amd64 \
>> +                      libudev-dev:amd64 \
>> +                      liburing-dev:amd64 \
>> +                      libusb-1.0-0-dev:amd64 \
>> +                      libusbredirhost-dev:amd64 \
>> +                      libvdeplug-dev:amd64 \
>> +                      libvirglrenderer-dev:amd64 \
>> +                      libvte-2.91-dev:amd64 \
>> +                      libxen-dev:amd64 \
>> +                      libzstd-dev:amd64 \
>> +                      nettle-dev:amd64 \
>> +                      systemtap-sdt-dev:amd64 \
>> +                      xfslibs-dev:amd64 \
>> +                      zlib1g-dev:amd64 && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker
>> index a8b728ca64..6db3079321 100644
>> --- a/tests/docker/dockerfiles/debian-amd64.docker
>> +++ b/tests/docker/dockerfiles/debian-amd64.docker
>> @@ -11,123 +11,123 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            clang \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            g++ \
>> -            gcc \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libaio-dev \
>> -            libasan5 \
>> -            libasound2-dev \
>> -            libattr1-dev \
>> -            libbpf-dev \
>> -            libbrlapi-dev \
>> -            libbz2-dev \
>> -            libc6-dev \
>> -            libcacard-dev \
>> -            libcap-ng-dev \
>> -            libcapstone-dev \
>> -            libcmocka-dev \
>> -            libcurl4-gnutls-dev \
>> -            libdaxctl-dev \
>> -            libdrm-dev \
>> -            libepoxy-dev \
>> -            libfdt-dev \
>> -            libffi-dev \
>> -            libfuse3-dev \
>> -            libgbm-dev \
>> -            libgcrypt20-dev \
>> -            libglib2.0-dev \
>> -            libglusterfs-dev \
>> -            libgnutls28-dev \
>> -            libgtk-3-dev \
>> -            libibumad-dev \
>> -            libibverbs-dev \
>> -            libiscsi-dev \
>> -            libjemalloc-dev \
>> -            libjpeg62-turbo-dev \
>> -            libjson-c-dev \
>> -            liblttng-ust-dev \
>> -            liblzo2-dev \
>> -            libncursesw5-dev \
>> -            libnfs-dev \
>> -            libnuma-dev \
>> -            libpam0g-dev \
>> -            libpcre2-dev \
>> -            libpixman-1-dev \
>> -            libpmem-dev \
>> -            libpng-dev \
>> -            libpulse-dev \
>> -            librbd-dev \
>> -            librdmacm-dev \
>> -            libsasl2-dev \
>> -            libsdl2-dev \
>> -            libsdl2-image-dev \
>> -            libseccomp-dev \
>> -            libselinux1-dev \
>> -            libslirp-dev \
>> -            libsnappy-dev \
>> -            libspice-protocol-dev \
>> -            libspice-server-dev \
>> -            libssh-gcrypt-dev \
>> -            libsystemd-dev \
>> -            libtasn1-6-dev \
>> -            libubsan1 \
>> -            libudev-dev \
>> -            liburing-dev \
>> -            libusb-1.0-0-dev \
>> -            libusbredirhost-dev \
>> -            libvdeplug-dev \
>> -            libvirglrenderer-dev \
>> -            libvte-2.91-dev \
>> -            libxen-dev \
>> -            libzstd-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            multipath-tools \
>> -            ncat \
>> -            nettle-dev \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            systemtap-sdt-dev \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo \
>> -            xfslibs-dev \
>> -            zlib1g-dev && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      clang \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      g++ \
>> +                      gcc \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libaio-dev \
>> +                      libasan5 \
>> +                      libasound2-dev \
>> +                      libattr1-dev \
>> +                      libbpf-dev \
>> +                      libbrlapi-dev \
>> +                      libbz2-dev \
>> +                      libc6-dev \
>> +                      libcacard-dev \
>> +                      libcap-ng-dev \
>> +                      libcapstone-dev \
>> +                      libcmocka-dev \
>> +                      libcurl4-gnutls-dev \
>> +                      libdaxctl-dev \
>> +                      libdrm-dev \
>> +                      libepoxy-dev \
>> +                      libfdt-dev \
>> +                      libffi-dev \
>> +                      libfuse3-dev \
>> +                      libgbm-dev \
>> +                      libgcrypt20-dev \
>> +                      libglib2.0-dev \
>> +                      libglusterfs-dev \
>> +                      libgnutls28-dev \
>> +                      libgtk-3-dev \
>> +                      libibumad-dev \
>> +                      libibverbs-dev \
>> +                      libiscsi-dev \
>> +                      libjemalloc-dev \
>> +                      libjpeg62-turbo-dev \
>> +                      libjson-c-dev \
>> +                      liblttng-ust-dev \
>> +                      liblzo2-dev \
>> +                      libncursesw5-dev \
>> +                      libnfs-dev \
>> +                      libnuma-dev \
>> +                      libpam0g-dev \
>> +                      libpcre2-dev \
>> +                      libpixman-1-dev \
>> +                      libpmem-dev \
>> +                      libpng-dev \
>> +                      libpulse-dev \
>> +                      librbd-dev \
>> +                      librdmacm-dev \
>> +                      libsasl2-dev \
>> +                      libsdl2-dev \
>> +                      libsdl2-image-dev \
>> +                      libseccomp-dev \
>> +                      libselinux1-dev \
>> +                      libslirp-dev \
>> +                      libsnappy-dev \
>> +                      libspice-protocol-dev \
>> +                      libspice-server-dev \
>> +                      libssh-gcrypt-dev \
>> +                      libsystemd-dev \
>> +                      libtasn1-6-dev \
>> +                      libubsan1 \
>> +                      libudev-dev \
>> +                      liburing-dev \
>> +                      libusb-1.0-0-dev \
>> +                      libusbredirhost-dev \
>> +                      libvdeplug-dev \
>> +                      libvirglrenderer-dev \
>> +                      libvte-2.91-dev \
>> +                      libxen-dev \
>> +                      libzstd-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      multipath-tools \
>> +                      ncat \
>> +                      nettle-dev \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      systemtap-sdt-dev \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo \
>> +                      xfslibs-dev \
>> +                      zlib1g-dev && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>> @@ -140,11 +140,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  # netmap/cscope/global
>>  RUN DEBIAN_FRONTEND=noninteractive eatmydata \
>>    apt install -y --no-install-recommends \
>> diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker
> b/tests/docker/dockerfiles/debian-arm64-cross.docker
>> index 17a5709245..1fbe2b1376 100644
>> --- a/tests/docker/dockerfiles/debian-arm64-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture arm64 && \
>> @@ -74,75 +74,75 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-aarch64-linux-gnu \
>> -            gcc-aarch64-linux-gnu \
>> -            libaio-dev:arm64 \
>> -            libasan5:arm64 \
>> -            libasound2-dev:arm64 \
>> -            libattr1-dev:arm64 \
>> -            libbpf-dev:arm64 \
>> -            libbrlapi-dev:arm64 \
>> -            libbz2-dev:arm64 \
>> -            libc6-dev:arm64 \
>> -            libcacard-dev:arm64 \
>> -            libcap-ng-dev:arm64 \
>> -            libcapstone-dev:arm64 \
>> -            libcmocka-dev:arm64 \
>> -            libcurl4-gnutls-dev:arm64 \
>> -            libdaxctl-dev:arm64 \
>> -            libdrm-dev:arm64 \
>> -            libepoxy-dev:arm64 \
>> -            libfdt-dev:arm64 \
>> -            libffi-dev:arm64 \
>> -            libfuse3-dev:arm64 \
>> -            libgbm-dev:arm64 \
>> -            libgcrypt20-dev:arm64 \
>> -            libglib2.0-dev:arm64 \
>> -            libglusterfs-dev:arm64 \
>> -            libgnutls28-dev:arm64 \
>> -            libgtk-3-dev:arm64 \
>> -            libibumad-dev:arm64 \
>> -            libibverbs-dev:arm64 \
>> -            libiscsi-dev:arm64 \
>> -            libjemalloc-dev:arm64 \
>> -            libjpeg62-turbo-dev:arm64 \
>> -            libjson-c-dev:arm64 \
>> -            liblttng-ust-dev:arm64 \
>> -            liblzo2-dev:arm64 \
>> -            libncursesw5-dev:arm64 \
>> -            libnfs-dev:arm64 \
>> -            libnuma-dev:arm64 \
>> -            libpam0g-dev:arm64 \
>> -            libpixman-1-dev:arm64 \
>> -            libpng-dev:arm64 \
>> -            libpulse-dev:arm64 \
>> -            librbd-dev:arm64 \
>> -            librdmacm-dev:arm64 \
>> -            libsasl2-dev:arm64 \
>> -            libsdl2-dev:arm64 \
>> -            libsdl2-image-dev:arm64 \
>> -            libseccomp-dev:arm64 \
>> -            libselinux1-dev:arm64 \
>> -            libslirp-dev:arm64 \
>> -            libsnappy-dev:arm64 \
>> -            libspice-server-dev:arm64 \
>> -            libssh-gcrypt-dev:arm64 \
>> -            libsystemd-dev:arm64 \
>> -            libtasn1-6-dev:arm64 \
>> -            libubsan1:arm64 \
>> -            libudev-dev:arm64 \
>> -            liburing-dev:arm64 \
>> -            libusb-1.0-0-dev:arm64 \
>> -            libusbredirhost-dev:arm64 \
>> -            libvdeplug-dev:arm64 \
>> -            libvirglrenderer-dev:arm64 \
>> -            libvte-2.91-dev:arm64 \
>> -            libxen-dev:arm64 \
>> -            libzstd-dev:arm64 \
>> -            nettle-dev:arm64 \
>> -            systemtap-sdt-dev:arm64 \
>> -            xfslibs-dev:arm64 \
>> -            zlib1g-dev:arm64 && \
>> +                      g++-aarch64-linux-gnu \
>> +                      gcc-aarch64-linux-gnu \
>> +                      libaio-dev:arm64 \
>> +                      libasan5:arm64 \
>> +                      libasound2-dev:arm64 \
>> +                      libattr1-dev:arm64 \
>> +                      libbpf-dev:arm64 \
>> +                      libbrlapi-dev:arm64 \
>> +                      libbz2-dev:arm64 \
>> +                      libc6-dev:arm64 \
>> +                      libcacard-dev:arm64 \
>> +                      libcap-ng-dev:arm64 \
>> +                      libcapstone-dev:arm64 \
>> +                      libcmocka-dev:arm64 \
>> +                      libcurl4-gnutls-dev:arm64 \
>> +                      libdaxctl-dev:arm64 \
>> +                      libdrm-dev:arm64 \
>> +                      libepoxy-dev:arm64 \
>> +                      libfdt-dev:arm64 \
>> +                      libffi-dev:arm64 \
>> +                      libfuse3-dev:arm64 \
>> +                      libgbm-dev:arm64 \
>> +                      libgcrypt20-dev:arm64 \
>> +                      libglib2.0-dev:arm64 \
>> +                      libglusterfs-dev:arm64 \
>> +                      libgnutls28-dev:arm64 \
>> +                      libgtk-3-dev:arm64 \
>> +                      libibumad-dev:arm64 \
>> +                      libibverbs-dev:arm64 \
>> +                      libiscsi-dev:arm64 \
>> +                      libjemalloc-dev:arm64 \
>> +                      libjpeg62-turbo-dev:arm64 \
>> +                      libjson-c-dev:arm64 \
>> +                      liblttng-ust-dev:arm64 \
>> +                      liblzo2-dev:arm64 \
>> +                      libncursesw5-dev:arm64 \
>> +                      libnfs-dev:arm64 \
>> +                      libnuma-dev:arm64 \
>> +                      libpam0g-dev:arm64 \
>> +                      libpixman-1-dev:arm64 \
>> +                      libpng-dev:arm64 \
>> +                      libpulse-dev:arm64 \
>> +                      librbd-dev:arm64 \
>> +                      librdmacm-dev:arm64 \
>> +                      libsasl2-dev:arm64 \
>> +                      libsdl2-dev:arm64 \
>> +                      libsdl2-image-dev:arm64 \
>> +                      libseccomp-dev:arm64 \
>> +                      libselinux1-dev:arm64 \
>> +                      libslirp-dev:arm64 \
>> +                      libsnappy-dev:arm64 \
>> +                      libspice-server-dev:arm64 \
>> +                      libssh-gcrypt-dev:arm64 \
>> +                      libsystemd-dev:arm64 \
>> +                      libtasn1-6-dev:arm64 \
>> +                      libubsan1:arm64 \
>> +                      libudev-dev:arm64 \
>> +                      liburing-dev:arm64 \
>> +                      libusb-1.0-0-dev:arm64 \
>> +                      libusbredirhost-dev:arm64 \
>> +                      libvdeplug-dev:arm64 \
>> +                      libvirglrenderer-dev:arm64 \
>> +                      libvte-2.91-dev:arm64 \
>> +                      libxen-dev:arm64 \
>> +                      libzstd-dev:arm64 \
>> +                      nettle-dev:arm64 \
>> +                      systemtap-sdt-dev:arm64 \
>> +                      xfslibs-dev:arm64 \
>> +                      zlib1g-dev:arm64 && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/debian-armel-cross.docker
> b/tests/docker/dockerfiles/debian-armel-cross.docker
>> index 701fc70db0..a430900505 100644
>> --- a/tests/docker/dockerfiles/debian-armel-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-armel-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture armel && \
>> @@ -74,74 +74,74 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-arm-linux-gnueabi \
>> -            gcc-arm-linux-gnueabi \
>> -            libaio-dev:armel \
>> -            libasan5:armel \
>> -            libasound2-dev:armel \
>> -            libattr1-dev:armel \
>> -            libbpf-dev:armel \
>> -            libbrlapi-dev:armel \
>> -            libbz2-dev:armel \
>> -            libc6-dev:armel \
>> -            libcacard-dev:armel \
>> -            libcap-ng-dev:armel \
>> -            libcapstone-dev:armel \
>> -            libcmocka-dev:armel \
>> -            libcurl4-gnutls-dev:armel \
>> -            libdaxctl-dev:armel \
>> -            libdrm-dev:armel \
>> -            libepoxy-dev:armel \
>> -            libfdt-dev:armel \
>> -            libffi-dev:armel \
>> -            libfuse3-dev:armel \
>> -            libgbm-dev:armel \
>> -            libgcrypt20-dev:armel \
>> -            libglib2.0-dev:armel \
>> -            libglusterfs-dev:armel \
>> -            libgnutls28-dev:armel \
>> -            libgtk-3-dev:armel \
>> -            libibumad-dev:armel \
>> -            libibverbs-dev:armel \
>> -            libiscsi-dev:armel \
>> -            libjemalloc-dev:armel \
>> -            libjpeg62-turbo-dev:armel \
>> -            libjson-c-dev:armel \
>> -            liblttng-ust-dev:armel \
>> -            liblzo2-dev:armel \
>> -            libncursesw5-dev:armel \
>> -            libnfs-dev:armel \
>> -            libnuma-dev:armel \
>> -            libpam0g-dev:armel \
>> -            libpixman-1-dev:armel \
>> -            libpng-dev:armel \
>> -            libpulse-dev:armel \
>> -            librbd-dev:armel \
>> -            librdmacm-dev:armel \
>> -            libsasl2-dev:armel \
>> -            libsdl2-dev:armel \
>> -            libsdl2-image-dev:armel \
>> -            libseccomp-dev:armel \
>> -            libselinux1-dev:armel \
>> -            libslirp-dev:armel \
>> -            libsnappy-dev:armel \
>> -            libspice-server-dev:armel \
>> -            libssh-gcrypt-dev:armel \
>> -            libsystemd-dev:armel \
>> -            libtasn1-6-dev:armel \
>> -            libubsan1:armel \
>> -            libudev-dev:armel \
>> -            liburing-dev:armel \
>> -            libusb-1.0-0-dev:armel \
>> -            libusbredirhost-dev:armel \
>> -            libvdeplug-dev:armel \
>> -            libvirglrenderer-dev:armel \
>> -            libvte-2.91-dev:armel \
>> -            libzstd-dev:armel \
>> -            nettle-dev:armel \
>> -            systemtap-sdt-dev:armel \
>> -            xfslibs-dev:armel \
>> -            zlib1g-dev:armel && \
>> +                      g++-arm-linux-gnueabi \
>> +                      gcc-arm-linux-gnueabi \
>> +                      libaio-dev:armel \
>> +                      libasan5:armel \
>> +                      libasound2-dev:armel \
>> +                      libattr1-dev:armel \
>> +                      libbpf-dev:armel \
>> +                      libbrlapi-dev:armel \
>> +                      libbz2-dev:armel \
>> +                      libc6-dev:armel \
>> +                      libcacard-dev:armel \
>> +                      libcap-ng-dev:armel \
>> +                      libcapstone-dev:armel \
>> +                      libcmocka-dev:armel \
>> +                      libcurl4-gnutls-dev:armel \
>> +                      libdaxctl-dev:armel \
>> +                      libdrm-dev:armel \
>> +                      libepoxy-dev:armel \
>> +                      libfdt-dev:armel \
>> +                      libffi-dev:armel \
>> +                      libfuse3-dev:armel \
>> +                      libgbm-dev:armel \
>> +                      libgcrypt20-dev:armel \
>> +                      libglib2.0-dev:armel \
>> +                      libglusterfs-dev:armel \
>> +                      libgnutls28-dev:armel \
>> +                      libgtk-3-dev:armel \
>> +                      libibumad-dev:armel \
>> +                      libibverbs-dev:armel \
>> +                      libiscsi-dev:armel \
>> +                      libjemalloc-dev:armel \
>> +                      libjpeg62-turbo-dev:armel \
>> +                      libjson-c-dev:armel \
>> +                      liblttng-ust-dev:armel \
>> +                      liblzo2-dev:armel \
>> +                      libncursesw5-dev:armel \
>> +                      libnfs-dev:armel \
>> +                      libnuma-dev:armel \
>> +                      libpam0g-dev:armel \
>> +                      libpixman-1-dev:armel \
>> +                      libpng-dev:armel \
>> +                      libpulse-dev:armel \
>> +                      librbd-dev:armel \
>> +                      librdmacm-dev:armel \
>> +                      libsasl2-dev:armel \
>> +                      libsdl2-dev:armel \
>> +                      libsdl2-image-dev:armel \
>> +                      libseccomp-dev:armel \
>> +                      libselinux1-dev:armel \
>> +                      libslirp-dev:armel \
>> +                      libsnappy-dev:armel \
>> +                      libspice-server-dev:armel \
>> +                      libssh-gcrypt-dev:armel \
>> +                      libsystemd-dev:armel \
>> +                      libtasn1-6-dev:armel \
>> +                      libubsan1:armel \
>> +                      libudev-dev:armel \
>> +                      liburing-dev:armel \
>> +                      libusb-1.0-0-dev:armel \
>> +                      libusbredirhost-dev:armel \
>> +                      libvdeplug-dev:armel \
>> +                      libvirglrenderer-dev:armel \
>> +                      libvte-2.91-dev:armel \
>> +                      libzstd-dev:armel \
>> +                      nettle-dev:armel \
>> +                      systemtap-sdt-dev:armel \
>> +                      xfslibs-dev:armel \
>> +                      zlib1g-dev:armel && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker
> b/tests/docker/dockerfiles/debian-armhf-cross.docker
>> index 5a11fe3900..4c54898420 100644
>> --- a/tests/docker/dockerfiles/debian-armhf-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture armhf && \
>> @@ -74,75 +74,75 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-arm-linux-gnueabihf \
>> -            gcc-arm-linux-gnueabihf \
>> -            libaio-dev:armhf \
>> -            libasan5:armhf \
>> -            libasound2-dev:armhf \
>> -            libattr1-dev:armhf \
>> -            libbpf-dev:armhf \
>> -            libbrlapi-dev:armhf \
>> -            libbz2-dev:armhf \
>> -            libc6-dev:armhf \
>> -            libcacard-dev:armhf \
>> -            libcap-ng-dev:armhf \
>> -            libcapstone-dev:armhf \
>> -            libcmocka-dev:armhf \
>> -            libcurl4-gnutls-dev:armhf \
>> -            libdaxctl-dev:armhf \
>> -            libdrm-dev:armhf \
>> -            libepoxy-dev:armhf \
>> -            libfdt-dev:armhf \
>> -            libffi-dev:armhf \
>> -            libfuse3-dev:armhf \
>> -            libgbm-dev:armhf \
>> -            libgcrypt20-dev:armhf \
>> -            libglib2.0-dev:armhf \
>> -            libglusterfs-dev:armhf \
>> -            libgnutls28-dev:armhf \
>> -            libgtk-3-dev:armhf \
>> -            libibumad-dev:armhf \
>> -            libibverbs-dev:armhf \
>> -            libiscsi-dev:armhf \
>> -            libjemalloc-dev:armhf \
>> -            libjpeg62-turbo-dev:armhf \
>> -            libjson-c-dev:armhf \
>> -            liblttng-ust-dev:armhf \
>> -            liblzo2-dev:armhf \
>> -            libncursesw5-dev:armhf \
>> -            libnfs-dev:armhf \
>> -            libnuma-dev:armhf \
>> -            libpam0g-dev:armhf \
>> -            libpixman-1-dev:armhf \
>> -            libpng-dev:armhf \
>> -            libpulse-dev:armhf \
>> -            librbd-dev:armhf \
>> -            librdmacm-dev:armhf \
>> -            libsasl2-dev:armhf \
>> -            libsdl2-dev:armhf \
>> -            libsdl2-image-dev:armhf \
>> -            libseccomp-dev:armhf \
>> -            libselinux1-dev:armhf \
>> -            libslirp-dev:armhf \
>> -            libsnappy-dev:armhf \
>> -            libspice-server-dev:armhf \
>> -            libssh-gcrypt-dev:armhf \
>> -            libsystemd-dev:armhf \
>> -            libtasn1-6-dev:armhf \
>> -            libubsan1:armhf \
>> -            libudev-dev:armhf \
>> -            liburing-dev:armhf \
>> -            libusb-1.0-0-dev:armhf \
>> -            libusbredirhost-dev:armhf \
>> -            libvdeplug-dev:armhf \
>> -            libvirglrenderer-dev:armhf \
>> -            libvte-2.91-dev:armhf \
>> -            libxen-dev:armhf \
>> -            libzstd-dev:armhf \
>> -            nettle-dev:armhf \
>> -            systemtap-sdt-dev:armhf \
>> -            xfslibs-dev:armhf \
>> -            zlib1g-dev:armhf && \
>> +                      g++-arm-linux-gnueabihf \
>> +                      gcc-arm-linux-gnueabihf \
>> +                      libaio-dev:armhf \
>> +                      libasan5:armhf \
>> +                      libasound2-dev:armhf \
>> +                      libattr1-dev:armhf \
>> +                      libbpf-dev:armhf \
>> +                      libbrlapi-dev:armhf \
>> +                      libbz2-dev:armhf \
>> +                      libc6-dev:armhf \
>> +                      libcacard-dev:armhf \
>> +                      libcap-ng-dev:armhf \
>> +                      libcapstone-dev:armhf \
>> +                      libcmocka-dev:armhf \
>> +                      libcurl4-gnutls-dev:armhf \
>> +                      libdaxctl-dev:armhf \
>> +                      libdrm-dev:armhf \
>> +                      libepoxy-dev:armhf \
>> +                      libfdt-dev:armhf \
>> +                      libffi-dev:armhf \
>> +                      libfuse3-dev:armhf \
>> +                      libgbm-dev:armhf \
>> +                      libgcrypt20-dev:armhf \
>> +                      libglib2.0-dev:armhf \
>> +                      libglusterfs-dev:armhf \
>> +                      libgnutls28-dev:armhf \
>> +                      libgtk-3-dev:armhf \
>> +                      libibumad-dev:armhf \
>> +                      libibverbs-dev:armhf \
>> +                      libiscsi-dev:armhf \
>> +                      libjemalloc-dev:armhf \
>> +                      libjpeg62-turbo-dev:armhf \
>> +                      libjson-c-dev:armhf \
>> +                      liblttng-ust-dev:armhf \
>> +                      liblzo2-dev:armhf \
>> +                      libncursesw5-dev:armhf \
>> +                      libnfs-dev:armhf \
>> +                      libnuma-dev:armhf \
>> +                      libpam0g-dev:armhf \
>> +                      libpixman-1-dev:armhf \
>> +                      libpng-dev:armhf \
>> +                      libpulse-dev:armhf \
>> +                      librbd-dev:armhf \
>> +                      librdmacm-dev:armhf \
>> +                      libsasl2-dev:armhf \
>> +                      libsdl2-dev:armhf \
>> +                      libsdl2-image-dev:armhf \
>> +                      libseccomp-dev:armhf \
>> +                      libselinux1-dev:armhf \
>> +                      libslirp-dev:armhf \
>> +                      libsnappy-dev:armhf \
>> +                      libspice-server-dev:armhf \
>> +                      libssh-gcrypt-dev:armhf \
>> +                      libsystemd-dev:armhf \
>> +                      libtasn1-6-dev:armhf \
>> +                      libubsan1:armhf \
>> +                      libudev-dev:armhf \
>> +                      liburing-dev:armhf \
>> +                      libusb-1.0-0-dev:armhf \
>> +                      libusbredirhost-dev:armhf \
>> +                      libvdeplug-dev:armhf \
>> +                      libvirglrenderer-dev:armhf \
>> +                      libvte-2.91-dev:armhf \
>> +                      libxen-dev:armhf \
>> +                      libzstd-dev:armhf \
>> +                      nettle-dev:armhf \
>> +                      systemtap-sdt-dev:armhf \
>> +                      xfslibs-dev:armhf \
>> +                      zlib1g-dev:armhf && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker
> b/tests/docker/dockerfiles/debian-mips64el-cross.docker
>> index 9b90a4d6ff..c0d4b0df17 100644
>> --- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture mips64el && \
>> @@ -74,72 +74,72 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-mips64el-linux-gnuabi64 \
>> -            gcc-mips64el-linux-gnuabi64 \
>> -            libaio-dev:mips64el \
>> -            libasound2-dev:mips64el \
>> -            libattr1-dev:mips64el \
>> -            libbpf-dev:mips64el \
>> -            libbrlapi-dev:mips64el \
>> -            libbz2-dev:mips64el \
>> -            libc6-dev:mips64el \
>> -            libcacard-dev:mips64el \
>> -            libcap-ng-dev:mips64el \
>> -            libcapstone-dev:mips64el \
>> -            libcmocka-dev:mips64el \
>> -            libcurl4-gnutls-dev:mips64el \
>> -            libdaxctl-dev:mips64el \
>> -            libdrm-dev:mips64el \
>> -            libepoxy-dev:mips64el \
>> -            libfdt-dev:mips64el \
>> -            libffi-dev:mips64el \
>> -            libfuse3-dev:mips64el \
>> -            libgbm-dev:mips64el \
>> -            libgcrypt20-dev:mips64el \
>> -            libglib2.0-dev:mips64el \
>> -            libglusterfs-dev:mips64el \
>> -            libgnutls28-dev:mips64el \
>> -            libgtk-3-dev:mips64el \
>> -            libibumad-dev:mips64el \
>> -            libibverbs-dev:mips64el \
>> -            libiscsi-dev:mips64el \
>> -            libjemalloc-dev:mips64el \
>> -            libjpeg62-turbo-dev:mips64el \
>> -            libjson-c-dev:mips64el \
>> -            liblttng-ust-dev:mips64el \
>> -            liblzo2-dev:mips64el \
>> -            libncursesw5-dev:mips64el \
>> -            libnfs-dev:mips64el \
>> -            libnuma-dev:mips64el \
>> -            libpam0g-dev:mips64el \
>> -            libpixman-1-dev:mips64el \
>> -            libpng-dev:mips64el \
>> -            libpulse-dev:mips64el \
>> -            librbd-dev:mips64el \
>> -            librdmacm-dev:mips64el \
>> -            libsasl2-dev:mips64el \
>> -            libsdl2-dev:mips64el \
>> -            libsdl2-image-dev:mips64el \
>> -            libseccomp-dev:mips64el \
>> -            libselinux1-dev:mips64el \
>> -            libslirp-dev:mips64el \
>> -            libsnappy-dev:mips64el \
>> -            libspice-server-dev:mips64el \
>> -            libssh-gcrypt-dev:mips64el \
>> -            libsystemd-dev:mips64el \
>> -            libtasn1-6-dev:mips64el \
>> -            libudev-dev:mips64el \
>> -            liburing-dev:mips64el \
>> -            libusb-1.0-0-dev:mips64el \
>> -            libusbredirhost-dev:mips64el \
>> -            libvdeplug-dev:mips64el \
>> -            libvirglrenderer-dev:mips64el \
>> -            libvte-2.91-dev:mips64el \
>> -            libzstd-dev:mips64el \
>> -            nettle-dev:mips64el \
>> -            systemtap-sdt-dev:mips64el \
>> -            xfslibs-dev:mips64el \
>> -            zlib1g-dev:mips64el && \
>> +                      g++-mips64el-linux-gnuabi64 \
>> +                      gcc-mips64el-linux-gnuabi64 \
>> +                      libaio-dev:mips64el \
>> +                      libasound2-dev:mips64el \
>> +                      libattr1-dev:mips64el \
>> +                      libbpf-dev:mips64el \
>> +                      libbrlapi-dev:mips64el \
>> +                      libbz2-dev:mips64el \
>> +                      libc6-dev:mips64el \
>> +                      libcacard-dev:mips64el \
>> +                      libcap-ng-dev:mips64el \
>> +                      libcapstone-dev:mips64el \
>> +                      libcmocka-dev:mips64el \
>> +                      libcurl4-gnutls-dev:mips64el \
>> +                      libdaxctl-dev:mips64el \
>> +                      libdrm-dev:mips64el \
>> +                      libepoxy-dev:mips64el \
>> +                      libfdt-dev:mips64el \
>> +                      libffi-dev:mips64el \
>> +                      libfuse3-dev:mips64el \
>> +                      libgbm-dev:mips64el \
>> +                      libgcrypt20-dev:mips64el \
>> +                      libglib2.0-dev:mips64el \
>> +                      libglusterfs-dev:mips64el \
>> +                      libgnutls28-dev:mips64el \
>> +                      libgtk-3-dev:mips64el \
>> +                      libibumad-dev:mips64el \
>> +                      libibverbs-dev:mips64el \
>> +                      libiscsi-dev:mips64el \
>> +                      libjemalloc-dev:mips64el \
>> +                      libjpeg62-turbo-dev:mips64el \
>> +                      libjson-c-dev:mips64el \
>> +                      liblttng-ust-dev:mips64el \
>> +                      liblzo2-dev:mips64el \
>> +                      libncursesw5-dev:mips64el \
>> +                      libnfs-dev:mips64el \
>> +                      libnuma-dev:mips64el \
>> +                      libpam0g-dev:mips64el \
>> +                      libpixman-1-dev:mips64el \
>> +                      libpng-dev:mips64el \
>> +                      libpulse-dev:mips64el \
>> +                      librbd-dev:mips64el \
>> +                      librdmacm-dev:mips64el \
>> +                      libsasl2-dev:mips64el \
>> +                      libsdl2-dev:mips64el \
>> +                      libsdl2-image-dev:mips64el \
>> +                      libseccomp-dev:mips64el \
>> +                      libselinux1-dev:mips64el \
>> +                      libslirp-dev:mips64el \
>> +                      libsnappy-dev:mips64el \
>> +                      libspice-server-dev:mips64el \
>> +                      libssh-gcrypt-dev:mips64el \
>> +                      libsystemd-dev:mips64el \
>> +                      libtasn1-6-dev:mips64el \
>> +                      libudev-dev:mips64el \
>> +                      liburing-dev:mips64el \
>> +                      libusb-1.0-0-dev:mips64el \
>> +                      libusbredirhost-dev:mips64el \
>> +                      libvdeplug-dev:mips64el \
>> +                      libvirglrenderer-dev:mips64el \
>> +                      libvte-2.91-dev:mips64el \
>> +                      libzstd-dev:mips64el \
>> +                      nettle-dev:mips64el \
>> +                      systemtap-sdt-dev:mips64el \
>> +                      xfslibs-dev:mips64el \
>> +                      zlib1g-dev:mips64el && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker
> b/tests/docker/dockerfiles/debian-mipsel-cross.docker
>> index 02feaf26cb..940b6794d1 100644
>> --- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture mipsel && \
>> @@ -74,72 +74,72 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-mipsel-linux-gnu \
>> -            gcc-mipsel-linux-gnu \
>> -            libaio-dev:mipsel \
>> -            libasound2-dev:mipsel \
>> -            libattr1-dev:mipsel \
>> -            libbpf-dev:mipsel \
>> -            libbrlapi-dev:mipsel \
>> -            libbz2-dev:mipsel \
>> -            libc6-dev:mipsel \
>> -            libcacard-dev:mipsel \
>> -            libcap-ng-dev:mipsel \
>> -            libcapstone-dev:mipsel \
>> -            libcmocka-dev:mipsel \
>> -            libcurl4-gnutls-dev:mipsel \
>> -            libdaxctl-dev:mipsel \
>> -            libdrm-dev:mipsel \
>> -            libepoxy-dev:mipsel \
>> -            libfdt-dev:mipsel \
>> -            libffi-dev:mipsel \
>> -            libfuse3-dev:mipsel \
>> -            libgbm-dev:mipsel \
>> -            libgcrypt20-dev:mipsel \
>> -            libglib2.0-dev:mipsel \
>> -            libglusterfs-dev:mipsel \
>> -            libgnutls28-dev:mipsel \
>> -            libgtk-3-dev:mipsel \
>> -            libibumad-dev:mipsel \
>> -            libibverbs-dev:mipsel \
>> -            libiscsi-dev:mipsel \
>> -            libjemalloc-dev:mipsel \
>> -            libjpeg62-turbo-dev:mipsel \
>> -            libjson-c-dev:mipsel \
>> -            liblttng-ust-dev:mipsel \
>> -            liblzo2-dev:mipsel \
>> -            libncursesw5-dev:mipsel \
>> -            libnfs-dev:mipsel \
>> -            libnuma-dev:mipsel \
>> -            libpam0g-dev:mipsel \
>> -            libpixman-1-dev:mipsel \
>> -            libpng-dev:mipsel \
>> -            libpulse-dev:mipsel \
>> -            librbd-dev:mipsel \
>> -            librdmacm-dev:mipsel \
>> -            libsasl2-dev:mipsel \
>> -            libsdl2-dev:mipsel \
>> -            libsdl2-image-dev:mipsel \
>> -            libseccomp-dev:mipsel \
>> -            libselinux1-dev:mipsel \
>> -            libslirp-dev:mipsel \
>> -            libsnappy-dev:mipsel \
>> -            libspice-server-dev:mipsel \
>> -            libssh-gcrypt-dev:mipsel \
>> -            libsystemd-dev:mipsel \
>> -            libtasn1-6-dev:mipsel \
>> -            libudev-dev:mipsel \
>> -            liburing-dev:mipsel \
>> -            libusb-1.0-0-dev:mipsel \
>> -            libusbredirhost-dev:mipsel \
>> -            libvdeplug-dev:mipsel \
>> -            libvirglrenderer-dev:mipsel \
>> -            libvte-2.91-dev:mipsel \
>> -            libzstd-dev:mipsel \
>> -            nettle-dev:mipsel \
>> -            systemtap-sdt-dev:mipsel \
>> -            xfslibs-dev:mipsel \
>> -            zlib1g-dev:mipsel && \
>> +                      g++-mipsel-linux-gnu \
>> +                      gcc-mipsel-linux-gnu \
>> +                      libaio-dev:mipsel \
>> +                      libasound2-dev:mipsel \
>> +                      libattr1-dev:mipsel \
>> +                      libbpf-dev:mipsel \
>> +                      libbrlapi-dev:mipsel \
>> +                      libbz2-dev:mipsel \
>> +                      libc6-dev:mipsel \
>> +                      libcacard-dev:mipsel \
>> +                      libcap-ng-dev:mipsel \
>> +                      libcapstone-dev:mipsel \
>> +                      libcmocka-dev:mipsel \
>> +                      libcurl4-gnutls-dev:mipsel \
>> +                      libdaxctl-dev:mipsel \
>> +                      libdrm-dev:mipsel \
>> +                      libepoxy-dev:mipsel \
>> +                      libfdt-dev:mipsel \
>> +                      libffi-dev:mipsel \
>> +                      libfuse3-dev:mipsel \
>> +                      libgbm-dev:mipsel \
>> +                      libgcrypt20-dev:mipsel \
>> +                      libglib2.0-dev:mipsel \
>> +                      libglusterfs-dev:mipsel \
>> +                      libgnutls28-dev:mipsel \
>> +                      libgtk-3-dev:mipsel \
>> +                      libibumad-dev:mipsel \
>> +                      libibverbs-dev:mipsel \
>> +                      libiscsi-dev:mipsel \
>> +                      libjemalloc-dev:mipsel \
>> +                      libjpeg62-turbo-dev:mipsel \
>> +                      libjson-c-dev:mipsel \
>> +                      liblttng-ust-dev:mipsel \
>> +                      liblzo2-dev:mipsel \
>> +                      libncursesw5-dev:mipsel \
>> +                      libnfs-dev:mipsel \
>> +                      libnuma-dev:mipsel \
>> +                      libpam0g-dev:mipsel \
>> +                      libpixman-1-dev:mipsel \
>> +                      libpng-dev:mipsel \
>> +                      libpulse-dev:mipsel \
>> +                      librbd-dev:mipsel \
>> +                      librdmacm-dev:mipsel \
>> +                      libsasl2-dev:mipsel \
>> +                      libsdl2-dev:mipsel \
>> +                      libsdl2-image-dev:mipsel \
>> +                      libseccomp-dev:mipsel \
>> +                      libselinux1-dev:mipsel \
>> +                      libslirp-dev:mipsel \
>> +                      libsnappy-dev:mipsel \
>> +                      libspice-server-dev:mipsel \
>> +                      libssh-gcrypt-dev:mipsel \
>> +                      libsystemd-dev:mipsel \
>> +                      libtasn1-6-dev:mipsel \
>> +                      libudev-dev:mipsel \
>> +                      liburing-dev:mipsel \
>> +                      libusb-1.0-0-dev:mipsel \
>> +                      libusbredirhost-dev:mipsel \
>> +                      libvdeplug-dev:mipsel \
>> +                      libvirglrenderer-dev:mipsel \
>> +                      libvte-2.91-dev:mipsel \
>> +                      libzstd-dev:mipsel \
>> +                      nettle-dev:mipsel \
>> +                      systemtap-sdt-dev:mipsel \
>> +                      xfslibs-dev:mipsel \
>> +                      zlib1g-dev:mipsel && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
> b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
>> index 97d3872ee2..2d59288622 100644
>> --- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture ppc64el && \
>> @@ -74,74 +74,74 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-powerpc64le-linux-gnu \
>> -            gcc-powerpc64le-linux-gnu \
>> -            libaio-dev:ppc64el \
>> -            libasan5:ppc64el \
>> -            libasound2-dev:ppc64el \
>> -            libattr1-dev:ppc64el \
>> -            libbpf-dev:ppc64el \
>> -            libbrlapi-dev:ppc64el \
>> -            libbz2-dev:ppc64el \
>> -            libc6-dev:ppc64el \
>> -            libcacard-dev:ppc64el \
>> -            libcap-ng-dev:ppc64el \
>> -            libcapstone-dev:ppc64el \
>> -            libcmocka-dev:ppc64el \
>> -            libcurl4-gnutls-dev:ppc64el \
>> -            libdaxctl-dev:ppc64el \
>> -            libdrm-dev:ppc64el \
>> -            libepoxy-dev:ppc64el \
>> -            libfdt-dev:ppc64el \
>> -            libffi-dev:ppc64el \
>> -            libfuse3-dev:ppc64el \
>> -            libgbm-dev:ppc64el \
>> -            libgcrypt20-dev:ppc64el \
>> -            libglib2.0-dev:ppc64el \
>> -            libglusterfs-dev:ppc64el \
>> -            libgnutls28-dev:ppc64el \
>> -            libgtk-3-dev:ppc64el \
>> -            libibumad-dev:ppc64el \
>> -            libibverbs-dev:ppc64el \
>> -            libiscsi-dev:ppc64el \
>> -            libjemalloc-dev:ppc64el \
>> -            libjpeg62-turbo-dev:ppc64el \
>> -            libjson-c-dev:ppc64el \
>> -            liblttng-ust-dev:ppc64el \
>> -            liblzo2-dev:ppc64el \
>> -            libncursesw5-dev:ppc64el \
>> -            libnfs-dev:ppc64el \
>> -            libnuma-dev:ppc64el \
>> -            libpam0g-dev:ppc64el \
>> -            libpixman-1-dev:ppc64el \
>> -            libpng-dev:ppc64el \
>> -            libpulse-dev:ppc64el \
>> -            librbd-dev:ppc64el \
>> -            librdmacm-dev:ppc64el \
>> -            libsasl2-dev:ppc64el \
>> -            libsdl2-dev:ppc64el \
>> -            libsdl2-image-dev:ppc64el \
>> -            libseccomp-dev:ppc64el \
>> -            libselinux1-dev:ppc64el \
>> -            libslirp-dev:ppc64el \
>> -            libsnappy-dev:ppc64el \
>> -            libspice-server-dev:ppc64el \
>> -            libssh-gcrypt-dev:ppc64el \
>> -            libsystemd-dev:ppc64el \
>> -            libtasn1-6-dev:ppc64el \
>> -            libubsan1:ppc64el \
>> -            libudev-dev:ppc64el \
>> -            liburing-dev:ppc64el \
>> -            libusb-1.0-0-dev:ppc64el \
>> -            libusbredirhost-dev:ppc64el \
>> -            libvdeplug-dev:ppc64el \
>> -            libvirglrenderer-dev:ppc64el \
>> -            libvte-2.91-dev:ppc64el \
>> -            libzstd-dev:ppc64el \
>> -            nettle-dev:ppc64el \
>> -            systemtap-sdt-dev:ppc64el \
>> -            xfslibs-dev:ppc64el \
>> -            zlib1g-dev:ppc64el && \
>> +                      g++-powerpc64le-linux-gnu \
>> +                      gcc-powerpc64le-linux-gnu \
>> +                      libaio-dev:ppc64el \
>> +                      libasan5:ppc64el \
>> +                      libasound2-dev:ppc64el \
>> +                      libattr1-dev:ppc64el \
>> +                      libbpf-dev:ppc64el \
>> +                      libbrlapi-dev:ppc64el \
>> +                      libbz2-dev:ppc64el \
>> +                      libc6-dev:ppc64el \
>> +                      libcacard-dev:ppc64el \
>> +                      libcap-ng-dev:ppc64el \
>> +                      libcapstone-dev:ppc64el \
>> +                      libcmocka-dev:ppc64el \
>> +                      libcurl4-gnutls-dev:ppc64el \
>> +                      libdaxctl-dev:ppc64el \
>> +                      libdrm-dev:ppc64el \
>> +                      libepoxy-dev:ppc64el \
>> +                      libfdt-dev:ppc64el \
>> +                      libffi-dev:ppc64el \
>> +                      libfuse3-dev:ppc64el \
>> +                      libgbm-dev:ppc64el \
>> +                      libgcrypt20-dev:ppc64el \
>> +                      libglib2.0-dev:ppc64el \
>> +                      libglusterfs-dev:ppc64el \
>> +                      libgnutls28-dev:ppc64el \
>> +                      libgtk-3-dev:ppc64el \
>> +                      libibumad-dev:ppc64el \
>> +                      libibverbs-dev:ppc64el \
>> +                      libiscsi-dev:ppc64el \
>> +                      libjemalloc-dev:ppc64el \
>> +                      libjpeg62-turbo-dev:ppc64el \
>> +                      libjson-c-dev:ppc64el \
>> +                      liblttng-ust-dev:ppc64el \
>> +                      liblzo2-dev:ppc64el \
>> +                      libncursesw5-dev:ppc64el \
>> +                      libnfs-dev:ppc64el \
>> +                      libnuma-dev:ppc64el \
>> +                      libpam0g-dev:ppc64el \
>> +                      libpixman-1-dev:ppc64el \
>> +                      libpng-dev:ppc64el \
>> +                      libpulse-dev:ppc64el \
>> +                      librbd-dev:ppc64el \
>> +                      librdmacm-dev:ppc64el \
>> +                      libsasl2-dev:ppc64el \
>> +                      libsdl2-dev:ppc64el \
>> +                      libsdl2-image-dev:ppc64el \
>> +                      libseccomp-dev:ppc64el \
>> +                      libselinux1-dev:ppc64el \
>> +                      libslirp-dev:ppc64el \
>> +                      libsnappy-dev:ppc64el \
>> +                      libspice-server-dev:ppc64el \
>> +                      libssh-gcrypt-dev:ppc64el \
>> +                      libsystemd-dev:ppc64el \
>> +                      libtasn1-6-dev:ppc64el \
>> +                      libubsan1:ppc64el \
>> +                      libudev-dev:ppc64el \
>> +                      liburing-dev:ppc64el \
>> +                      libusb-1.0-0-dev:ppc64el \
>> +                      libusbredirhost-dev:ppc64el \
>> +                      libvdeplug-dev:ppc64el \
>> +                      libvirglrenderer-dev:ppc64el \
>> +                      libvte-2.91-dev:ppc64el \
>> +                      libzstd-dev:ppc64el \
>> +                      nettle-dev:ppc64el \
>> +                      systemtap-sdt-dev:ppc64el \
>> +                      xfslibs-dev:ppc64el \
>> +                      zlib1g-dev:ppc64el && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker
> b/tests/docker/dockerfiles/debian-s390x-cross.docker
>> index 95585e9e56..a105c1066e 100644
>> --- a/tests/docker/dockerfiles/debian-s390x-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
>> @@ -11,62 +11,62 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdextrautils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libglib2.0-dev \
>> -            libpcre2-dev \
>> -            libspice-protocol-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            meson \
>> -            ncat \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdextrautils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libglib2.0-dev \
>> +                      libpcre2-dev \
>> +                      libspice-protocol-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      meson \
>> +                      ncat \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>>      dpkg-reconfigure locales
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>
>>  RUN export DEBIAN_FRONTEND=noninteractive && \
>>      dpkg --add-architecture s390x && \
>> @@ -74,73 +74,73 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            g++-s390x-linux-gnu \
>> -            gcc-s390x-linux-gnu \
>> -            libaio-dev:s390x \
>> -            libasan5:s390x \
>> -            libasound2-dev:s390x \
>> -            libattr1-dev:s390x \
>> -            libbpf-dev:s390x \
>> -            libbrlapi-dev:s390x \
>> -            libbz2-dev:s390x \
>> -            libc6-dev:s390x \
>> -            libcacard-dev:s390x \
>> -            libcap-ng-dev:s390x \
>> -            libcapstone-dev:s390x \
>> -            libcmocka-dev:s390x \
>> -            libcurl4-gnutls-dev:s390x \
>> -            libdaxctl-dev:s390x \
>> -            libdrm-dev:s390x \
>> -            libepoxy-dev:s390x \
>> -            libfdt-dev:s390x \
>> -            libffi-dev:s390x \
>> -            libfuse3-dev:s390x \
>> -            libgbm-dev:s390x \
>> -            libgcrypt20-dev:s390x \
>> -            libglib2.0-dev:s390x \
>> -            libglusterfs-dev:s390x \
>> -            libgnutls28-dev:s390x \
>> -            libgtk-3-dev:s390x \
>> -            libibumad-dev:s390x \
>> -            libibverbs-dev:s390x \
>> -            libiscsi-dev:s390x \
>> -            libjemalloc-dev:s390x \
>> -            libjpeg62-turbo-dev:s390x \
>> -            libjson-c-dev:s390x \
>> -            liblttng-ust-dev:s390x \
>> -            liblzo2-dev:s390x \
>> -            libncursesw5-dev:s390x \
>> -            libnfs-dev:s390x \
>> -            libnuma-dev:s390x \
>> -            libpam0g-dev:s390x \
>> -            libpixman-1-dev:s390x \
>> -            libpng-dev:s390x \
>> -            libpulse-dev:s390x \
>> -            librbd-dev:s390x \
>> -            librdmacm-dev:s390x \
>> -            libsasl2-dev:s390x \
>> -            libsdl2-dev:s390x \
>> -            libsdl2-image-dev:s390x \
>> -            libseccomp-dev:s390x \
>> -            libselinux1-dev:s390x \
>> -            libslirp-dev:s390x \
>> -            libsnappy-dev:s390x \
>> -            libssh-gcrypt-dev:s390x \
>> -            libsystemd-dev:s390x \
>> -            libtasn1-6-dev:s390x \
>> -            libubsan1:s390x \
>> -            libudev-dev:s390x \
>> -            liburing-dev:s390x \
>> -            libusb-1.0-0-dev:s390x \
>> -            libusbredirhost-dev:s390x \
>> -            libvdeplug-dev:s390x \
>> -            libvirglrenderer-dev:s390x \
>> -            libvte-2.91-dev:s390x \
>> -            libzstd-dev:s390x \
>> -            nettle-dev:s390x \
>> -            systemtap-sdt-dev:s390x \
>> -            xfslibs-dev:s390x \
>> -            zlib1g-dev:s390x && \
>> +                      g++-s390x-linux-gnu \
>> +                      gcc-s390x-linux-gnu \
>> +                      libaio-dev:s390x \
>> +                      libasan5:s390x \
>> +                      libasound2-dev:s390x \
>> +                      libattr1-dev:s390x \
>> +                      libbpf-dev:s390x \
>> +                      libbrlapi-dev:s390x \
>> +                      libbz2-dev:s390x \
>> +                      libc6-dev:s390x \
>> +                      libcacard-dev:s390x \
>> +                      libcap-ng-dev:s390x \
>> +                      libcapstone-dev:s390x \
>> +                      libcmocka-dev:s390x \
>> +                      libcurl4-gnutls-dev:s390x \
>> +                      libdaxctl-dev:s390x \
>> +                      libdrm-dev:s390x \
>> +                      libepoxy-dev:s390x \
>> +                      libfdt-dev:s390x \
>> +                      libffi-dev:s390x \
>> +                      libfuse3-dev:s390x \
>> +                      libgbm-dev:s390x \
>> +                      libgcrypt20-dev:s390x \
>> +                      libglib2.0-dev:s390x \
>> +                      libglusterfs-dev:s390x \
>> +                      libgnutls28-dev:s390x \
>> +                      libgtk-3-dev:s390x \
>> +                      libibumad-dev:s390x \
>> +                      libibverbs-dev:s390x \
>> +                      libiscsi-dev:s390x \
>> +                      libjemalloc-dev:s390x \
>> +                      libjpeg62-turbo-dev:s390x \
>> +                      libjson-c-dev:s390x \
>> +                      liblttng-ust-dev:s390x \
>> +                      liblzo2-dev:s390x \
>> +                      libncursesw5-dev:s390x \
>> +                      libnfs-dev:s390x \
>> +                      libnuma-dev:s390x \
>> +                      libpam0g-dev:s390x \
>> +                      libpixman-1-dev:s390x \
>> +                      libpng-dev:s390x \
>> +                      libpulse-dev:s390x \
>> +                      librbd-dev:s390x \
>> +                      librdmacm-dev:s390x \
>> +                      libsasl2-dev:s390x \
>> +                      libsdl2-dev:s390x \
>> +                      libsdl2-image-dev:s390x \
>> +                      libseccomp-dev:s390x \
>> +                      libselinux1-dev:s390x \
>> +                      libslirp-dev:s390x \
>> +                      libsnappy-dev:s390x \
>> +                      libssh-gcrypt-dev:s390x \
>> +                      libsystemd-dev:s390x \
>> +                      libtasn1-6-dev:s390x \
>> +                      libubsan1:s390x \
>> +                      libudev-dev:s390x \
>> +                      liburing-dev:s390x \
>> +                      libusb-1.0-0-dev:s390x \
>> +                      libusbredirhost-dev:s390x \
>> +                      libvdeplug-dev:s390x \
>> +                      libvirglrenderer-dev:s390x \
>> +                      libvte-2.91-dev:s390x \
>> +                      libzstd-dev:s390x \
>> +                      nettle-dev:s390x \
>> +                      systemtap-sdt-dev:s390x \
>> +                      xfslibs-dev:s390x \
>> +                      zlib1g-dev:s390x && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      mkdir -p /usr/local/share/meson/cross && \
>> diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker
> b/tests/docker/dockerfiles/fedora-win32-cross.docker
>> index aca37aabc4..75383ba185 100644
>> --- a/tests/docker/dockerfiles/fedora-win32-cross.docker
>> +++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
>> @@ -1,46 +1,103 @@
>> +# THIS FILE WAS AUTO-GENERATED
>> +#
>> +#  $ lcitool dockerfile --layers all --cross mingw32 fedora-35 qemu
>> +#
>> +# https://gitlab.com/libvirt/libvirt-ci
>> +
>>  FROM registry.fedoraproject.org/fedora:35
>>
>> -# Please keep this list sorted alphabetically
>> -ENV PACKAGES \
>> -    bc \
>> -    bison \
>> -    bzip2 \
>> -    ccache \
>> -    diffutils \
>> -    findutils \
>> -    flex \
>> -    gcc \
>> -    gettext \
>> -    git \
>> -    glib2-devel \
>> -    hostname \
>> -    make \
>> -    meson \
>> -    mingw32-bzip2 \
>> -    mingw32-curl \
>> -    mingw32-glib2 \
>> -    mingw32-gmp \
>> -    mingw32-gnutls \
>> -    mingw32-gtk3 \
>> -    mingw32-libffi \
>> -    mingw32-libjpeg-turbo \
>> -    mingw32-libpng \
>> -    mingw32-libtasn1 \
>> -    mingw32-libusbx \
>> -    mingw32-nettle \
>> -    mingw32-nsis \
>> -    mingw32-pixman \
>> -    mingw32-pkg-config \
>> -    mingw32-SDL2 \
>> -    msitools \
>> -    perl \
>> -    python3 \
>> -    python3-PyYAML \
>> -    tar \
>> -    which
>> +RUN dnf install -y nosync && \
>> +    echo -e '#!/bin/sh\n\
>> +if test -d /usr/lib64\n\
>> +then\n\
>> +    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
>> +else\n\
>> +    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
>> +fi\n\
>> +exec "$@"' > /usr/bin/nosync && \
>> +    chmod +x /usr/bin/nosync && \
>> +    nosync dnf update -y && \
>> +    nosync dnf install -y \
>> +               bash \
>> +               bc \
>> +               bison \
>> +               bzip2 \
>> +               ca-certificates \
>> +               ccache \
>> +               ctags \
>> +               dbus-daemon \
>> +               diffutils \
>> +               findutils \
>> +               flex \
>> +               gcovr \
>> +               genisoimage \
>> +               git \
>> +               glib2-devel \
>> +               glibc-langpack-en \
>> +               hostname \
>> +               llvm \
>> +               make \
>> +               meson \
>> +               ninja-build \
>> +               nmap-ncat \
>> +               openssh-clients \
>> +               pcre-static \
>> +               perl-base \
>> +               python3 \
>> +               python3-PyYAML \
>> +               python3-numpy \
>> +               python3-opencv \
>> +               python3-pillow \
>> +               python3-pip \
>> +               python3-sphinx \
>> +               python3-sphinx_rtd_theme \
>> +               rpm \
>> +               sed \
>> +               sparse \
>> +               spice-protocol \
>> +               tar \
>> +               tesseract \
>> +               tesseract-langpack-eng \
>> +               texinfo \
>> +               util-linux \
>> +               which && \
>> +    nosync dnf autoremove -y && \
>> +    nosync dnf clean all -y
>> +
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>> +ENV LANG "en_US.UTF-8"
>> +ENV MAKE "/usr/bin/make"
>> +ENV NINJA "/usr/bin/ninja"
>> +ENV PYTHON "/usr/bin/python3"
>>
>> -RUN dnf install -y $PACKAGES
>> -RUN rpm -q $PACKAGES | sort > /packages.txt
>> +RUN nosync dnf install -y \
>> +               mingw32-SDL2 \
>> +               mingw32-SDL2_image \
>> +               mingw32-bzip2 \
>> +               mingw32-curl \
>> +               mingw32-gcc \
>> +               mingw32-gcc-c++ \
>> +               mingw32-gettext \
>> +               mingw32-glib2 \
>> +               mingw32-gnutls \
>> +               mingw32-gtk3 \
>> +               mingw32-libgcrypt \
>> +               mingw32-libjpeg-turbo \
>> +               mingw32-libpng \
>> +               mingw32-libtasn1 \
>> +               mingw32-nettle \
>> +               mingw32-nsis \
>> +               mingw32-pixman \
>> +               mingw32-pkg-config && \
>> +    nosync dnf clean all -y && \
>> +    rpm -qa | sort > /packages.txt && \
>> +    mkdir -p /usr/libexec/ccache-wrappers && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
>>
>> -# Specify the cross prefix for this image (see tests/docker/common.rc)
>> +ENV ABI "i686-w64-mingw32"
>> +ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
>>  ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
>> +ENV DEF_TARGET_LIST i386-softmmu
>> diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker
> b/tests/docker/dockerfiles/fedora-win64-cross.docker
>> index 3642766479..98c03dc13b 100644
>> --- a/tests/docker/dockerfiles/fedora-win64-cross.docker
>> +++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
>> @@ -1,43 +1,103 @@
>> +# THIS FILE WAS AUTO-GENERATED
>> +#
>> +#  $ lcitool dockerfile --layers all --cross mingw64 fedora-35 qemu
>> +#
>> +# https://gitlab.com/libvirt/libvirt-ci
>> +
>>  FROM registry.fedoraproject.org/fedora:35
>>
>> -# Please keep this list sorted alphabetically
>> -ENV PACKAGES \
>> -    bc \
>> -    bison \
>> -    bzip2 \
>> -    ccache \
>> -    diffutils \
>> -    findutils \
>> -    flex \
>> -    gcc \
>> -    gettext \
>> -    git \
>> -    glib2-devel \
>> -    hostname \
>> -    make \
>> -    meson \
>> -    mingw32-nsis \
>> -    mingw64-bzip2 \
>> -    mingw64-curl \
>> -    mingw64-glib2 \
>> -    mingw64-gmp \
>> -    mingw64-gtk3 \
>> -    mingw64-libffi \
>> -    mingw64-libjpeg-turbo \
>> -    mingw64-libpng \
>> -    mingw64-libtasn1 \
>> -    mingw64-libusbx \
>> -    mingw64-pixman \
>> -    mingw64-pkg-config \
>> -    msitools \
>> -    perl \
>> -    python3 \
>> -    python3-PyYAML \
>> -    tar \
>> -    which
>> +RUN dnf install -y nosync && \
>> +    echo -e '#!/bin/sh\n\
>> +if test -d /usr/lib64\n\
>> +then\n\
>> +    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
>> +else\n\
>> +    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
>> +fi\n\
>> +exec "$@"' > /usr/bin/nosync && \
>> +    chmod +x /usr/bin/nosync && \
>> +    nosync dnf update -y && \
>> +    nosync dnf install -y \
>> +               bash \
>> +               bc \
>> +               bison \
>> +               bzip2 \
>> +               ca-certificates \
>> +               ccache \
>> +               ctags \
>> +               dbus-daemon \
>> +               diffutils \
>> +               findutils \
>> +               flex \
>> +               gcovr \
>> +               genisoimage \
>> +               git \
>> +               glib2-devel \
>> +               glibc-langpack-en \
>> +               hostname \
>> +               llvm \
>> +               make \
>> +               meson \
>> +               ninja-build \
>> +               nmap-ncat \
>> +               openssh-clients \
>> +               pcre-static \
>> +               perl-base \
>> +               python3 \
>> +               python3-PyYAML \
>> +               python3-numpy \
>> +               python3-opencv \
>> +               python3-pillow \
>> +               python3-pip \
>> +               python3-sphinx \
>> +               python3-sphinx_rtd_theme \
>> +               rpm \
>> +               sed \
>> +               sparse \
>> +               spice-protocol \
>> +               tar \
>> +               tesseract \
>> +               tesseract-langpack-eng \
>> +               texinfo \
>> +               util-linux \
>> +               which && \
>> +    nosync dnf autoremove -y && \
>> +    nosync dnf clean all -y
>> +
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>> +ENV LANG "en_US.UTF-8"
>> +ENV MAKE "/usr/bin/make"
>> +ENV NINJA "/usr/bin/ninja"
>> +ENV PYTHON "/usr/bin/python3"
>>
>> -RUN dnf install -y $PACKAGES
>> -RUN rpm -q $PACKAGES | sort > /packages.txt
>> +RUN nosync dnf install -y \
>> +               mingw32-nsis \
>> +               mingw64-SDL2 \
>> +               mingw64-SDL2_image \
>> +               mingw64-bzip2 \
>> +               mingw64-curl \
>> +               mingw64-gcc \
>> +               mingw64-gcc-c++ \
>> +               mingw64-gettext \
>> +               mingw64-glib2 \
>> +               mingw64-gnutls \
>> +               mingw64-gtk3 \
>> +               mingw64-libgcrypt \
>> +               mingw64-libjpeg-turbo \
>> +               mingw64-libpng \
>> +               mingw64-libtasn1 \
>> +               mingw64-nettle \
>> +               mingw64-pixman \
>> +               mingw64-pkg-config && \
>> +    nosync dnf clean all -y && \
>> +    rpm -qa | sort > /packages.txt && \
>> +    mkdir -p /usr/libexec/ccache-wrappers && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \
>> +    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
>>
>> -# Specify the cross prefix for this image (see tests/docker/common.rc)
>> -ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone
>> +ENV ABI "x86_64-w64-mingw32"
>> +ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
>> +ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32-
>> +ENV DEF_TARGET_LIST x86_64-softmmu
>> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
>> index fe84166ca1..d200c7fc10 100644
>> --- a/tests/docker/dockerfiles/fedora.docker
>> +++ b/tests/docker/dockerfiles/fedora.docker
>> @@ -18,120 +18,120 @@ exec "$@"' > /usr/bin/nosync && \
>>      chmod +x /usr/bin/nosync && \
>>      nosync dnf update -y && \
>>      nosync dnf install -y \
>> -        SDL2-devel \
>> -        SDL2_image-devel \
>> -        alsa-lib-devel \
>> -        bash \
>> -        bc \
>> -        bison \
>> -        brlapi-devel \
>> -        bzip2 \
>> -        bzip2-devel \
>> -        ca-certificates \
>> -        capstone-devel \
>> -        ccache \
>> -        clang \
>> -        ctags \
>> -        cyrus-sasl-devel \
>> -        daxctl-devel \
>> -        dbus-daemon \
>> -        device-mapper-multipath-devel \
>> -        diffutils \
>> -        findutils \
>> -        flex \
>> -        fuse3-devel \
>> -        gcc \
>> -        gcc-c++ \
>> -        gcovr \
>> -        genisoimage \
>> -        gettext \
>> -        git \
>> -        glib2-devel \
>> -        glib2-static \
>> -        glibc-langpack-en \
>> -        glibc-static \
>> -        glusterfs-api-devel \
>> -        gnutls-devel \
>> -        gtk3-devel \
>> -        hostname \
>> -        jemalloc-devel \
>> -        json-c-devel \
>> -        libaio-devel \
>> -        libasan \
>> -        libattr-devel \
>> -        libbpf-devel \
>> -        libcacard-devel \
>> -        libcap-ng-devel \
>> -        libcmocka-devel \
>> -        libcurl-devel \
>> -        libdrm-devel \
>> -        libepoxy-devel \
>> -        libfdt-devel \
>> -        libffi-devel \
>> -        libgcrypt-devel \
>> -        libiscsi-devel \
>> -        libjpeg-devel \
>> -        libnfs-devel \
>> -        libpmem-devel \
>> -        libpng-devel \
>> -        librbd-devel \
>> -        libseccomp-devel \
>> -        libselinux-devel \
>> -        libslirp-devel \
>> -        libssh-devel \
>> -        libtasn1-devel \
>> -        libubsan \
>> -        liburing-devel \
>> -        libusbx-devel \
>> -        libzstd-devel \
>> -        llvm \
>> -        lttng-ust-devel \
>> -        lzo-devel \
>> -        make \
>> -        mesa-libgbm-devel \
>> -        meson \
>> -        ncurses-devel \
>> -        nettle-devel \
>> -        ninja-build \
>> -        nmap-ncat \
>> -        numactl-devel \
>> -        openssh-clients \
>> -        pam-devel \
>> -        pcre-static \
>> -        perl-base \
>> -        pixman-devel \
>> -        pkgconfig \
>> -        pulseaudio-libs-devel \
>> -        python3 \
>> -        python3-PyYAML \
>> -        python3-numpy \
>> -        python3-opencv \
>> -        python3-pillow \
>> -        python3-pip \
>> -        python3-sphinx \
>> -        python3-sphinx_rtd_theme \
>> -        rdma-core-devel \
>> -        rpm \
>> -        sed \
>> -        snappy-devel \
>> -        sparse \
>> -        spice-protocol \
>> -        spice-server-devel \
>> -        systemd-devel \
>> -        systemtap-sdt-devel \
>> -        tar \
>> -        tesseract \
>> -        tesseract-langpack-eng \
>> -        texinfo \
>> -        usbredir-devel \
>> -        util-linux \
>> -        virglrenderer-devel \
>> -        vte291-devel \
>> -        which \
>> -        xen-devel \
>> -        xfsprogs-devel \
>> -        zlib-devel \
>> -        zlib-static && \
>> +               SDL2-devel \
>> +               SDL2_image-devel \
>> +               alsa-lib-devel \
>> +               bash \
>> +               bc \
>> +               bison \
>> +               brlapi-devel \
>> +               bzip2 \
>> +               bzip2-devel \
>> +               ca-certificates \
>> +               capstone-devel \
>> +               ccache \
>> +               clang \
>> +               ctags \
>> +               cyrus-sasl-devel \
>> +               daxctl-devel \
>> +               dbus-daemon \
>> +               device-mapper-multipath-devel \
>> +               diffutils \
>> +               findutils \
>> +               flex \
>> +               fuse3-devel \
>> +               gcc \
>> +               gcc-c++ \
>> +               gcovr \
>> +               genisoimage \
>> +               gettext \
>> +               git \
>> +               glib2-devel \
>> +               glib2-static \
>> +               glibc-langpack-en \
>> +               glibc-static \
>> +               glusterfs-api-devel \
>> +               gnutls-devel \
>> +               gtk3-devel \
>> +               hostname \
>> +               jemalloc-devel \
>> +               json-c-devel \
>> +               libaio-devel \
>> +               libasan \
>> +               libattr-devel \
>> +               libbpf-devel \
>> +               libcacard-devel \
>> +               libcap-ng-devel \
>> +               libcmocka-devel \
>> +               libcurl-devel \
>> +               libdrm-devel \
>> +               libepoxy-devel \
>> +               libfdt-devel \
>> +               libffi-devel \
>> +               libgcrypt-devel \
>> +               libiscsi-devel \
>> +               libjpeg-devel \
>> +               libnfs-devel \
>> +               libpmem-devel \
>> +               libpng-devel \
>> +               librbd-devel \
>> +               libseccomp-devel \
>> +               libselinux-devel \
>> +               libslirp-devel \
>> +               libssh-devel \
>> +               libtasn1-devel \
>> +               libubsan \
>> +               liburing-devel \
>> +               libusbx-devel \
>> +               libzstd-devel \
>> +               llvm \
>> +               lttng-ust-devel \
>> +               lzo-devel \
>> +               make \
>> +               mesa-libgbm-devel \
>> +               meson \
>> +               ncurses-devel \
>> +               nettle-devel \
>> +               ninja-build \
>> +               nmap-ncat \
>> +               numactl-devel \
>> +               openssh-clients \
>> +               pam-devel \
>> +               pcre-static \
>> +               perl-base \
>> +               pixman-devel \
>> +               pkgconfig \
>> +               pulseaudio-libs-devel \
>> +               python3 \
>> +               python3-PyYAML \
>> +               python3-numpy \
>> +               python3-opencv \
>> +               python3-pillow \
>> +               python3-pip \
>> +               python3-sphinx \
>> +               python3-sphinx_rtd_theme \
>> +               rdma-core-devel \
>> +               rpm \
>> +               sed \
>> +               snappy-devel \
>> +               sparse \
>> +               spice-protocol \
>> +               spice-server-devel \
>> +               systemd-devel \
>> +               systemtap-sdt-devel \
>> +               tar \
>> +               tesseract \
>> +               tesseract-langpack-eng \
>> +               texinfo \
>> +               usbredir-devel \
>> +               util-linux \
>> +               virglrenderer-devel \
>> +               vte291-devel \
>> +               which \
>> +               xen-devel \
>> +               xfsprogs-devel \
>> +               zlib-devel \
>> +               zlib-static && \
>>      nosync dnf autoremove -y && \
>>      nosync dnf clean all -y && \
>>      rpm -qa | sort > /packages.txt && \
>> @@ -142,8 +142,8 @@ exec "$@"' > /usr/bin/nosync && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
>>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>> diff --git a/tests/docker/dockerfiles/opensuse-leap.docker
> b/tests/docker/dockerfiles/opensuse-leap.docker
>> index d80064756f..361979d6b3 100644
>> --- a/tests/docker/dockerfiles/opensuse-leap.docker
>> +++ b/tests/docker/dockerfiles/opensuse-leap.docker
>> @@ -132,8 +132,8 @@ RUN zypper update -y && \
>>
>>  RUN /usr/bin/pip3 install meson==0.56.0
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>> diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker
>> index 24594afc15..ac16383da7 100644
>> --- a/tests/docker/dockerfiles/ubuntu2004.docker
>> +++ b/tests/docker/dockerfiles/ubuntu2004.docker
>> @@ -11,122 +11,122 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>      apt-get install -y eatmydata && \
>>      eatmydata apt-get dist-upgrade -y && \
>>      eatmydata apt-get install --no-install-recommends -y \
>> -            bash \
>> -            bc \
>> -            bison \
>> -            bsdmainutils \
>> -            bzip2 \
>> -            ca-certificates \
>> -            ccache \
>> -            clang \
>> -            dbus \
>> -            debianutils \
>> -            diffutils \
>> -            exuberant-ctags \
>> -            findutils \
>> -            flex \
>> -            g++ \
>> -            gcc \
>> -            gcovr \
>> -            genisoimage \
>> -            gettext \
>> -            git \
>> -            hostname \
>> -            libaio-dev \
>> -            libasan5 \
>> -            libasound2-dev \
>> -            libattr1-dev \
>> -            libbrlapi-dev \
>> -            libbz2-dev \
>> -            libc6-dev \
>> -            libcacard-dev \
>> -            libcap-ng-dev \
>> -            libcapstone-dev \
>> -            libcmocka-dev \
>> -            libcurl4-gnutls-dev \
>> -            libdaxctl-dev \
>> -            libdrm-dev \
>> -            libepoxy-dev \
>> -            libfdt-dev \
>> -            libffi-dev \
>> -            libfuse3-dev \
>> -            libgbm-dev \
>> -            libgcrypt20-dev \
>> -            libglib2.0-dev \
>> -            libglusterfs-dev \
>> -            libgnutls28-dev \
>> -            libgtk-3-dev \
>> -            libibumad-dev \
>> -            libibverbs-dev \
>> -            libiscsi-dev \
>> -            libjemalloc-dev \
>> -            libjpeg-turbo8-dev \
>> -            libjson-c-dev \
>> -            liblttng-ust-dev \
>> -            liblzo2-dev \
>> -            libncursesw5-dev \
>> -            libnfs-dev \
>> -            libnuma-dev \
>> -            libpam0g-dev \
>> -            libpcre2-dev \
>> -            libpixman-1-dev \
>> -            libpmem-dev \
>> -            libpng-dev \
>> -            libpulse-dev \
>> -            librbd-dev \
>> -            librdmacm-dev \
>> -            libsasl2-dev \
>> -            libsdl2-dev \
>> -            libsdl2-image-dev \
>> -            libseccomp-dev \
>> -            libselinux1-dev \
>> -            libslirp-dev \
>> -            libsnappy-dev \
>> -            libspice-protocol-dev \
>> -            libspice-server-dev \
>> -            libssh-dev \
>> -            libsystemd-dev \
>> -            libtasn1-6-dev \
>> -            libubsan1 \
>> -            libudev-dev \
>> -            libusb-1.0-0-dev \
>> -            libusbredirhost-dev \
>> -            libvdeplug-dev \
>> -            libvirglrenderer-dev \
>> -            libvte-2.91-dev \
>> -            libxen-dev \
>> -            libzstd-dev \
>> -            llvm \
>> -            locales \
>> -            make \
>> -            multipath-tools \
>> -            ncat \
>> -            nettle-dev \
>> -            ninja-build \
>> -            openssh-client \
>> -            perl-base \
>> -            pkgconf \
>> -            python3 \
>> -            python3-numpy \
>> -            python3-opencv \
>> -            python3-pillow \
>> -            python3-pip \
>> -            python3-setuptools \
>> -            python3-sphinx \
>> -            python3-sphinx-rtd-theme \
>> -            python3-venv \
>> -            python3-wheel \
>> -            python3-yaml \
>> -            rpm2cpio \
>> -            sed \
>> -            sparse \
>> -            systemtap-sdt-dev \
>> -            tar \
>> -            tesseract-ocr \
>> -            tesseract-ocr-eng \
>> -            texinfo \
>> -            xfslibs-dev \
>> -            zlib1g-dev && \
>> +                      bash \
>> +                      bc \
>> +                      bison \
>> +                      bsdmainutils \
>> +                      bzip2 \
>> +                      ca-certificates \
>> +                      ccache \
>> +                      clang \
>> +                      dbus \
>> +                      debianutils \
>> +                      diffutils \
>> +                      exuberant-ctags \
>> +                      findutils \
>> +                      flex \
>> +                      g++ \
>> +                      gcc \
>> +                      gcovr \
>> +                      genisoimage \
>> +                      gettext \
>> +                      git \
>> +                      hostname \
>> +                      libaio-dev \
>> +                      libasan5 \
>> +                      libasound2-dev \
>> +                      libattr1-dev \
>> +                      libbrlapi-dev \
>> +                      libbz2-dev \
>> +                      libc6-dev \
>> +                      libcacard-dev \
>> +                      libcap-ng-dev \
>> +                      libcapstone-dev \
>> +                      libcmocka-dev \
>> +                      libcurl4-gnutls-dev \
>> +                      libdaxctl-dev \
>> +                      libdrm-dev \
>> +                      libepoxy-dev \
>> +                      libfdt-dev \
>> +                      libffi-dev \
>> +                      libfuse3-dev \
>> +                      libgbm-dev \
>> +                      libgcrypt20-dev \
>> +                      libglib2.0-dev \
>> +                      libglusterfs-dev \
>> +                      libgnutls28-dev \
>> +                      libgtk-3-dev \
>> +                      libibumad-dev \
>> +                      libibverbs-dev \
>> +                      libiscsi-dev \
>> +                      libjemalloc-dev \
>> +                      libjpeg-turbo8-dev \
>> +                      libjson-c-dev \
>> +                      liblttng-ust-dev \
>> +                      liblzo2-dev \
>> +                      libncursesw5-dev \
>> +                      libnfs-dev \
>> +                      libnuma-dev \
>> +                      libpam0g-dev \
>> +                      libpcre2-dev \
>> +                      libpixman-1-dev \
>> +                      libpmem-dev \
>> +                      libpng-dev \
>> +                      libpulse-dev \
>> +                      librbd-dev \
>> +                      librdmacm-dev \
>> +                      libsasl2-dev \
>> +                      libsdl2-dev \
>> +                      libsdl2-image-dev \
>> +                      libseccomp-dev \
>> +                      libselinux1-dev \
>> +                      libslirp-dev \
>> +                      libsnappy-dev \
>> +                      libspice-protocol-dev \
>> +                      libspice-server-dev \
>> +                      libssh-dev \
>> +                      libsystemd-dev \
>> +                      libtasn1-6-dev \
>> +                      libubsan1 \
>> +                      libudev-dev \
>> +                      libusb-1.0-0-dev \
>> +                      libusbredirhost-dev \
>> +                      libvdeplug-dev \
>> +                      libvirglrenderer-dev \
>> +                      libvte-2.91-dev \
>> +                      libxen-dev \
>> +                      libzstd-dev \
>> +                      llvm \
>> +                      locales \
>> +                      make \
>> +                      multipath-tools \
>> +                      ncat \
>> +                      nettle-dev \
>> +                      ninja-build \
>> +                      openssh-client \
>> +                      perl-base \
>> +                      pkgconf \
>> +                      python3 \
>> +                      python3-numpy \
>> +                      python3-opencv \
>> +                      python3-pillow \
>> +                      python3-pip \
>> +                      python3-setuptools \
>> +                      python3-sphinx \
>> +                      python3-sphinx-rtd-theme \
>> +                      python3-venv \
>> +                      python3-wheel \
>> +                      python3-yaml \
>> +                      rpm2cpio \
>> +                      sed \
>> +                      sparse \
>> +                      systemtap-sdt-dev \
>> +                      tar \
>> +                      tesseract-ocr \
>> +                      tesseract-ocr-eng \
>> +                      texinfo \
>> +                      xfslibs-dev \
>> +                      zlib1g-dev && \
>>      eatmydata apt-get autoremove -y && \
>>      eatmydata apt-get autoclean -y && \
>>      sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
>> @@ -141,11 +141,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>>
>>  RUN /usr/bin/pip3 install meson==0.56.0
>>
>> +ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  ENV LANG "en_US.UTF-8"
>>  ENV MAKE "/usr/bin/make"
>>  ENV NINJA "/usr/bin/ninja"
>>  ENV PYTHON "/usr/bin/python3"
>> -ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>>  # Apply patch https://reviews.llvm.org/D75820
>>  # This is required for TSan in clang-10 to compile with QEMU.
>> RUN sed -i 's/^const/static const/g'
> /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h
>> diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
>> index e3712b7912..a2633997ff 160000
>> --- a/tests/lcitool/libvirt-ci
>> +++ b/tests/lcitool/libvirt-ci
>> @@ -1 +1 @@
>> -Subproject commit e3712b79122180fdb3b7a7ea8cbee47ece253f97
>> +Subproject commit a2633997ffb3830acc96c98c70122885d83bebf4
>> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
>> index e45c99adbe..ce0b24c0b1 100755
>> --- a/tests/lcitool/refresh
>> +++ b/tests/lcitool/refresh
>> @@ -93,7 +93,7 @@ debian11_extras = [
>>  ]
>>
>>
>> -def debian_cross_build(prefix, targets):
>> +def cross_build(prefix, targets):
>>      conf = "ENV QEMU_CONFIGURE_OPTS --cross-prefix=%s\n" % (prefix)
>>      targets = "ENV DEF_TARGET_LIST %s\n" % (targets)
>>      return "".join([conf, targets])
>> @@ -121,45 +121,55 @@ try:
>>      #
>>      generate_dockerfile("debian-amd64-cross", "debian-11",
>>                          cross="x86_64",
>> -                        trailer=debian_cross_build("x86_64-linux-gnu-",
>> -                                                   "x86_64-softmmu,"
>> -                                                   "x86_64-linux-user,"
>> -                                                   "i386-softmmu,i386-linux-user"))
>> +                        trailer=cross_build("x86_64-linux-gnu-",
>> +                                            "x86_64-softmmu,"
>> +                                            "x86_64-linux-user,"
>> +                                            "i386-softmmu,i386-linux-user"))
>>
>>      generate_dockerfile("debian-arm64-cross", "debian-11",
>>                          cross="aarch64",
>> -                        trailer=debian_cross_build("aarch64-linux-gnu-",
>> -                                                   "aarch64-softmmu,aarch64-linux-user"))
>> +                        trailer=cross_build("aarch64-linux-gnu-",
>> +                                            "aarch64-softmmu,aarch64-linux-user"))
>>
>>      generate_dockerfile("debian-armel-cross", "debian-11",
>>                          cross="armv6l",
>> -                        trailer=debian_cross_build("arm-linux-gnueabi-",
>> -                                                   "arm-softmmu,arm-linux-user,armeb-linux-user"))
>> +                        trailer=cross_build("arm-linux-gnueabi-",
>> +                                            "arm-softmmu,arm-linux-user,armeb-linux-user"))
>>
>>      generate_dockerfile("debian-armhf-cross", "debian-11",
>>                          cross="armv7l",
>> -                        trailer=debian_cross_build("arm-linux-gnueabihf-",
>> -                                                   "arm-softmmu,arm-linux-user"))
>> +                        trailer=cross_build("arm-linux-gnueabihf-",
>> +                                            "arm-softmmu,arm-linux-user"))
>>
>>      generate_dockerfile("debian-mips64el-cross", "debian-11",
>>                          cross="mips64el",
>> -                        trailer=debian_cross_build("mips64el-linux-gnuabi64-",
>> -                                                  "mips64el-softmmu,mips64el-linux-user"))
>> +                        trailer=cross_build("mips64el-linux-gnuabi64-",
>> +                                            "mips64el-softmmu,mips64el-linux-user"))
>>
>>      generate_dockerfile("debian-mipsel-cross", "debian-11",
>>                          cross="mipsel",
>> -                        trailer=debian_cross_build("mipsel-linux-gnu-",
>> -                                                   "mipsel-softmmu,mipsel-linux-user"))
>> +                        trailer=cross_build("mipsel-linux-gnu-",
>> +                                            "mipsel-softmmu,mipsel-linux-user"))
>>
>>      generate_dockerfile("debian-ppc64el-cross", "debian-11",
>>                          cross="ppc64le",
>> -                        trailer=debian_cross_build("powerpc64le-linux-gnu-",
>> -                                                   "ppc64-softmmu,ppc64-linux-user"))
>> +                        trailer=cross_build("powerpc64le-linux-gnu-",
>> +                                            "ppc64-softmmu,ppc64-linux-user"))
>>
>>      generate_dockerfile("debian-s390x-cross", "debian-11",
>>                          cross="s390x",
>> -                        trailer=debian_cross_build("s390x-linux-gnu-",
>> -                                                   "s390x-softmmu,s390x-linux-user"))
>> +                        trailer=cross_build("s390x-linux-gnu-",
>> +                                            "s390x-softmmu,s390x-linux-user"))
>> +
>> +    generate_dockerfile("fedora-win32-cross", "fedora-35",
>> +                        cross="mingw32",
>> +                        trailer=cross_build("i686-w64-mingw32-",
>> +                                            "i386-softmmu"))
>> +
>> +    generate_dockerfile("fedora-win64-cross", "fedora-35",
>> +                        cross="mingw64",
>> +                        trailer=cross_build("x86_64-w64-mingw32-",
>> +                                            "x86_64-softmmu"))
>>
>>      #
>>      # Cirrus packages lists for GitLab
>> --
>> 2.34.1
>>
>>


-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers"
  2022-10-11 11:34 ` [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers" Alex Bennée
@ 2022-10-11 18:38   ` Daniel Henrique Barboza
  0 siblings, 0 replies; 10+ messages in thread
From: Daniel Henrique Barboza @ 2022-10-11 18:38 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, f4bug, aurelien, pbonzini, stefanha, crosa



On 10/11/22 08:34, Alex Bennée wrote:
> This reverts commit 730fe750fba63023e294ff0acf0f874369f1946f.
> 
> Unconditionally building all the bios for all arches was a little too
> far too fast.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> ---

Thanks for this patch. I was having problems building the ppc64 targets in
an x86 Intel Xeon host today. 'make -j' was being spammed with errors like
this:

make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:32: strstr.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:44: sbrk.o] Error 1
make[1]: *** [Makefile:24: virtio.o] Error 1
Traceback (most recent call last):
   File "/home/danielhb/qemu/tests/docker/docker.py", line 683, in <module>
     sys.exit(main())
   File "/home/danielhb/qemu/tests/docker/docker.py", line 679, in main
     return args.cmdobj.run(args, argv)
   File "/home/danielhb/qemu/tests/docker/docker.py", line 657, in run
     return Docker().run(cmd, False, quiet=args.quiet,
   File "/home/danielhb/qemu/tests/docker/docker.py", line 370, in run
     ret = self._do_check(["run", "--rm", "--label",
   File "/home/danielhb/qemu/tests/docker/docker.py", line 247, in _do_check
     return subprocess.check_call(self._command + cmd, **kwargs)
   File "/usr/lib64/python3.9/subprocess.py", line 373, in check_call
     raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['podman', 'run', '--rm', '--label', 'com.qemu.instance.uuid=7782aa219ff64bc89847adf489cf49c3', '--userns=keep-id', '-u', '1005', '-w', '/home/danielhb/qemu/build/pc-bios/s390-ccw', '-v', '/home/danielhb/qemu/build/pc-bios/s390-ccw:/home/danielhb/qemu/build/pc-bios/s390-ccw:rw', '-v', '/home/danielhb/qemu:/home/danielhb/qemu:ro,z', 'qemu/debian-s390x-cross', 's390x-linux-gnu-gcc', '-Wall', '-ffreestanding', '-fno-delete-null-pointer-checks', '-fno-common', '-fPIE', '-fwrapv', '-fno-strict-aliasing', '-fno-asynchronous-unwind-tables', '-msoft-float', '-std=gnu99', '-march=z10', '-O2', '-g', '-nostdinc', '-I/home/danielhb/qemu/pc-bios/s390-ccw/../../roms/SLOF/lib/libc/include', '-I/home/danielhb/qemu/pc-bios/s390-ccw/../../roms/SLOF/lib/libnet', '-MMD', '-MP', '-MT', 'rand.o', '-MF', 'rand.d', '-c', '-o', 'rand.o', '/home/danielhb/qemu/pc-bios/s390-ccw/../../roms/SLOF/lib/libc/stdlib/rand.c']' returned non-zero exit status 127.
filter=--filter=label=com.qemu.instance.uuid=7782aa219ff64bc89847adf489cf49c3
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:41: fprintf.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:32: strncasecmp.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:26: isdigit.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:36: rand.o] Error 1
make: *** [Makefile:195: pc-bios/s390-ccw/all] Error 2


I don't see this error in my development box though. I was going to check whether I
was missing packages from one system to the other.


But this patch makes 'make -j' functional again for me.


Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com>


>   configure | 30 ++++++++++++------------------
>   1 file changed, 12 insertions(+), 18 deletions(-)
> 
> diff --git a/configure b/configure
> index baa69189f0..45ee6f4eb3 100755
> --- a/configure
> +++ b/configure
> @@ -2121,7 +2121,7 @@ probe_target_compiler() {
>       target_ranlib=
>       target_strip=
>     fi
> -  test -n "$target_cc" || test -n "$container_image"
> +  test -n "$target_cc"
>   }
>   
>   write_target_makefile() {
> @@ -2268,7 +2268,7 @@ if test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
>       config_mak=pc-bios/optionrom/config.mak
>       echo "# Automatically generated by configure - do not modify" > $config_mak
>       echo "TOPSRC_DIR=$source_path" >> $config_mak
> -    write_target_makefile pc-bios/optionrom/all >> $config_mak
> +    write_target_makefile >> $config_mak
>   fi
>   
>   if test "$softmmu" = yes && probe_target_compiler ppc-softmmu; then
> @@ -2276,31 +2276,25 @@ if test "$softmmu" = yes && probe_target_compiler ppc-softmmu; then
>       config_mak=pc-bios/vof/config.mak
>       echo "# Automatically generated by configure - do not modify" > $config_mak
>       echo "SRC_DIR=$source_path/pc-bios/vof" >> $config_mak
> -    write_target_makefile pc-bios/vof/all >> $config_mak
> +    write_target_makefile >> $config_mak
>   fi
>   
>   # Only build s390-ccw bios if the compiler has -march=z900 or -march=z10
>   # (which is the lowest architecture level that Clang supports)
>   if test "$softmmu" = yes && probe_target_compiler s390x-softmmu; then
> -  got_cross_cc=no
> -  if test -n "$target_cc"; then
> -    write_c_skeleton
> -    do_compiler "$target_cc" $target_cc_cflags -march=z900 -o $TMPO -c $TMPC
> -    has_z900=$?
> -    if [ $has_z900 = 0 ] || do_compiler "$target_cc" $target_cc_cflags -march=z10 -msoft-float -Werror -o $TMPO -c $TMPC; then
> -      if [ $has_z900 != 0 ]; then
> -        echo "WARNING: Your compiler does not support the z900!"
> -        echo "         The s390-ccw bios will only work with guest CPUs >= z10."
> -      fi
> -      got_cross_cc=yes
> +  write_c_skeleton
> +  do_compiler "$target_cc" $target_cc_cflags -march=z900 -o $TMPO -c $TMPC
> +  has_z900=$?
> +  if [ $has_z900 = 0 ] || do_compiler "$target_cc" $target_cc_cflags -march=z10 -msoft-float -Werror -o $TMPO -c $TMPC; then
> +    if [ $has_z900 != 0 ]; then
> +      echo "WARNING: Your compiler does not support the z900!"
> +      echo "         The s390-ccw bios will only work with guest CPUs >= z10."
>       fi
> -  fi
> -  if test "$got_cross_cc" = yes || test -n "$container_image"; then
>       roms="$roms pc-bios/s390-ccw"
>       config_mak=pc-bios/s390-ccw/config-host.mak
>       echo "# Automatically generated by configure - do not modify" > $config_mak
>       echo "SRC_PATH=$source_path/pc-bios/s390-ccw" >> $config_mak
> -    write_target_makefile pc-bios/s390-ccw/all >> $config_mak
> +    write_target_makefile >> $config_mak
>       # SLOF is required for building the s390-ccw firmware on s390x,
>       # since it is using the libnet code from SLOF for network booting.
>       git_submodules="${git_submodules} roms/SLOF"
> @@ -2488,7 +2482,7 @@ for target in $target_list; do
>         ;;
>     esac
>   
> -  if probe_target_compiler $target; then
> +  if probe_target_compiler $target || test -n "$container_image"; then
>         test -n "$container_image" && build_static=y
>         mkdir -p "tests/tcg/$target"
>         config_target_mak=tests/tcg/$target/config-target.mak


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw)
  2022-10-11 11:34 [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Alex Bennée
                   ` (3 preceding siblings ...)
  2022-10-11 11:34 ` [PATCH v1 4/4] configure: expose the direct container command Alex Bennée
@ 2022-10-11 18:58 ` Stefan Hajnoczi
  2022-10-11 19:29   ` Alex Bennée
  4 siblings, 1 reply; 10+ messages in thread
From: Stefan Hajnoczi @ 2022-10-11 18:58 UTC (permalink / raw)
  To: Alex Bennée
  Cc: qemu-devel, fam, berrange, f4bug, aurelien, pbonzini, stefanha,
	crosa

Hi Alex,
Please send a pull request and I'll kick off the CI.

Thanks,
Stefan


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw)
  2022-10-11 18:58 ` [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Stefan Hajnoczi
@ 2022-10-11 19:29   ` Alex Bennée
  0 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2022-10-11 19:29 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: qemu-devel, fam, berrange, f4bug, aurelien, pbonzini, stefanha,
	crosa


Stefan Hajnoczi <stefanha@gmail.com> writes:

> Hi Alex,
> Please send a pull request and I'll kick off the CI.

I've sent you a PR with just the revert in it.

>
> Thanks,
> Stefan


-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-10-11 19:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-11 11:34 [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Alex Bennée
2022-10-11 11:34 ` [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool Alex Bennée
2022-10-11 14:26   ` Stefan Hajnoczi
2022-10-11 16:53     ` Alex Bennée
2022-10-11 11:34 ` [PATCH v1 2/4] tests/docker: update test-mingw to run single build Alex Bennée
2022-10-11 11:34 ` [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers" Alex Bennée
2022-10-11 18:38   ` Daniel Henrique Barboza
2022-10-11 11:34 ` [PATCH v1 4/4] configure: expose the direct container command Alex Bennée
2022-10-11 18:58 ` [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Stefan Hajnoczi
2022-10-11 19:29   ` Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).