qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-buil


From: Thomas Huth
Subject: Re: [PATCH 1/7] tests/docker: Use Fedora containers for MinGW cross-builds in the gitlab-CI
Date: Mon, 21 Sep 2020 20:07:42 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0

On 21/09/2020 20.03, Daniel P. Berrangé wrote:
> On Mon, Sep 21, 2020 at 07:43:14PM +0200, Thomas Huth wrote:
>> According to our support policy, we do not support Debian 9 in QEMU
>> anymore, and we only support building the Windows binaries with a
>> very recent version of the MinGW toolchain. So we should not test
>> the MinGW cross-compilation with Debian 9 anymore, but switch to
>> something newer like Fedora. To do this, we need a separate Fedora
>> container for each build that provides the QEMU_CONFIGURE_OPTS
>> environment variable.
>> Unfortunately, the MinGW 64-bit compiler seems to be a little bit
>> slow, so we also have to disable some features like "capstone" in the
>> build here to make sure that the CI pipelines still finish within a
>> reasonable amount of time.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>  .gitlab-ci.d/containers.yml                   | 10 +++++
>>  .gitlab-ci.d/crossbuilds.yml                  |  4 +-
>>  .../dockerfiles/fedora-win32-cross.docker     | 42 +++++++++++++++++++
>>  .../dockerfiles/fedora-win64-cross.docker     | 38 +++++++++++++++++
>>  4 files changed, 92 insertions(+), 2 deletions(-)
>>  create mode 100644 tests/docker/dockerfiles/fedora-win32-cross.docker
>>  create mode 100644 tests/docker/dockerfiles/fedora-win64-cross.docker
>>
>> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
>> index 8c89efeb6d..15e7b564f9 100644
>> --- a/.gitlab-ci.d/containers.yml
>> +++ b/.gitlab-ci.d/containers.yml
>> @@ -248,6 +248,16 @@ i386-fedora-cross-container:
>>    variables:
>>      NAME: fedora-i386-cross
>>  
>> +win32-fedora-cross-container:
>> +  <<: *container_job_definition
>> +  variables:
>> +    NAME: fedora-win32-cross
>> +
>> +win64-fedora-cross-container:
>> +  <<: *container_job_definition
>> +  variables:
>> +    NAME: fedora-win64-cross
>> +
>>  amd64-ubuntu1804-container:
>>    <<: *container_job_definition
>>    variables:
>> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
>> index 4ec7226b5c..510cfec03b 100644
>> --- a/.gitlab-ci.d/crossbuilds.yml
>> +++ b/.gitlab-ci.d/crossbuilds.yml
>> @@ -105,9 +105,9 @@ cross-s390x-user:
>>  cross-win32-system:
>>    <<: *cross_system_build_job_definition
>>    variables:
>> -    IMAGE: debian-win32-cross
>> +    IMAGE: fedora-win32-cross
>>  
>>  cross-win64-system:
>>    <<: *cross_system_build_job_definition
>>    variables:
>> -    IMAGE: debian-win64-cross
>> +    IMAGE: fedora-win64-cross
>> diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker 
>> b/tests/docker/dockerfiles/fedora-win32-cross.docker
>> new file mode 100644
>> index 0000000000..5903e1b0b4
>> --- /dev/null
>> +++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
>> @@ -0,0 +1,42 @@
>> +FROM fedora:32
>> +
>> +# Please keep this list sorted alphabetically
>> +ENV PACKAGES \
>> +    bc \
>> +    bzip2 \
>> +    diffutils \
>> +    findutils \
>> +    gcc \
>> +    gettext \
>> +    git \
>> +    hostname \
>> +    make \
>> +    meson \
>> +    mingw32-bzip2 \
>> +    mingw32-curl \
>> +    mingw32-glib2 \
>> +    mingw32-gmp \
>> +    mingw32-gnutls \
>> +    mingw32-gtk3 \
>> +    mingw32-libjpeg-turbo \
>> +    mingw32-libpng \
>> +    mingw32-libtasn1 \
>> +    mingw32-nettle \
>> +    mingw32-nsis \
>> +    mingw32-pixman \
>> +    mingw32-pkg-config \
>> +    mingw32-SDL2 \
> 
> It feels like we could be removing the mingw packages from the
> main fedora.docker now, so it results in smaller images.

I wasn't quite sure whether anybody uses the mingw packages in that main
fedora docker image ... Philippe, do you know?

 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]