After adding some missing packages, it's possible to check 32-bit
builds and tests with the fedora-i386-cross container in the gitlab-CI,
too. Unfortunately, the code in subprojects/ ignores the --extra-cflags
(on purpose), so the vhost-user part has to be disabled for this.
While we're at it, update the container to Fedora 31. Unfortunately the
gcc from the later versions emits some very dubious format-truncation
warnings, so Fedora 32 and 33 are currently unsuitable for this job.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/crossbuilds.yml | 16 ++++++++++++++--
.../dockerfiles/fedora-i386-cross.docker | 18 +++++++++++++++---
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index bd6473a75a..2da92e4a6f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -10,7 +10,7 @@
--target-list-exclude="aarch64-softmmu i386-softmmu microblaze-softmmu
mips-softmmu mipsel-softmmu mips64-softmmu ppc64-softmmu sh4-softmmu
xtensa-softmmu"
- - make -j$(expr $(nproc) + 1) all check-build
+ - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
# Job to cross-build specific accelerators.
#
@@ -37,7 +37,7 @@
- cd build
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH
../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-system
- - make -j$(expr $(nproc) + 1) all check-build
+ - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
cross-armel-system:
extends: .cross_system_build_job
@@ -69,6 +69,18 @@ cross-arm64-user:
variables:
IMAGE: debian-arm64-cross
+cross-i386-system:
+ extends: .cross_system_build_job
+ variables:
+ IMAGE: fedora-i386-cross
+ MAKE_CHECK_ARGS: check-qtest
+
+cross-i386-user:
+ extends: .cross_user_build_job
+ variables:
+ IMAGE: fedora-i386-cross
+ MAKE_CHECK_ARGS: check
+
cross-mips-system:
extends: .cross_system_build_job
variables:
diff --git a/tests/docker/dockerfiles/fedora-i386-cross.docker
b/tests/docker/dockerfiles/fedora-i386-cross.docker
index cd16cd1bfa..a6e411291b 100644
--- a/tests/docker/dockerfiles/fedora-i386-cross.docker
+++ b/tests/docker/dockerfiles/fedora-i386-cross.docker
@@ -1,14 +1,26 @@
-FROM fedora:30
+FROM fedora:31
ENV PACKAGES \
+ bzip2 \
+ diffutils \
+ findutils \
gcc \
+ git \
+ libtasn1-devel.i686 \
+ libzstd-devel.i686 \
+ make \
+ meson \
+ ninja-build \
glib2-devel.i686 \
glibc-devel.i686 \
glibc-static.i686 \
gnutls-devel.i686 \
nettle-devel.i686 \
+ perl-Test-Harness \
pixman-devel.i686 \
- zlib-devel.i686 \
- libzstd-devel.i686
+ zlib-devel.i686
+
+ENV QEMU_CONFIGURE_OPTS --extra-cflags=-m32 --disable-vhost-user
+ENV PKG_CONFIG_PATH /usr/lib/pkgconfig
RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt