On 27/11/2020 19.10, Thomas Huth wrote:
> 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.
>
> While we're at it, update it 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.
>
> I also had to remove the gnutls-devel package since linking then
> failed due to its dependency libtasn1 not being recognized (even
> if I explicitely installed it into the container).
In case anybody is interested, the failure can be seen here:
https://gitlab.com/huth/qemu/-/jobs/876977206#L4799
... which is very strange, since in line 259, meson claimed to have found
libtasn1 ... anybody got an idea what's going wrong here?
Thomas
> ---
> Test runs can be seen here:
> https://gitlab.com/huth/qemu/-/jobs/877519207
> and here:
> https://gitlab.com/huth/qemu/-/jobs/877519208
>
> .gitlab-ci.d/crossbuilds.yml | 16 ++--
> .../docker/dockerfiles/fedora-i386-cross.docker | 14 --
> 2 files changed, 26 insertions(+), 4 deletions(-)
>
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 03ebfabb3f..283c42b100 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -11,7 +11,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
>
> .cross_user_build_job_template: _user_build_job_definition
>stage: build
> @@ -21,7 +21,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:
><<: *cross_system_build_job_definition
> @@ -53,6 +53,18 @@ cross-arm64-user:
>variables:
> IMAGE: debian-arm64-cross
>
> +cross-i386-system:
> + <<: *cross_system_build_job_definition
> + variables:
> +IMAGE: fedora-i386-cross
> +MAKE_CHECK_ARGS: check
> +
> +cross-i386-user:
> + <<: *cross_user_build_job_definition
> + variables:
> +IMAGE: fedora-i386-cross
> +MAKE_CHECK_ARGS: check
> +
> cross-mips-system:
><<: *cross_system_build_job_definition
>variables:
> diff --git a/tests/docker/dockerfiles/fedora-i386-cross.docker
> b/tests/docker/dockerfiles/fedora-i386-cross.docker
> index cd16cd1bfa..7824cc0da3 100644
> --- a/tests/docker/dockerfiles/fedora-i386-cross.docker
> +++ b/tests/docker/dockerfiles/fedora-i386-cross.docker
> @@ -1,14 +1,24 @@
> -FROM fedora:30
> +FROM fedora:31
> ENV PACKAGES \
> +bzip2 \
> +diffutils \
> +findutils \
> gcc \
> +git \
> +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
>
> +ENV QEMU_CONFIGURE_OPTS --extra-cflags=-m32
> +ENV PKG_CONFIG_PATH /usr/lib/pkgconfig
> +
> RUN dnf install -y $PACKAGES
> RUN rpm -q $PACKAGES | sort > /packages.txt
>