From: Thomas Huth <thuth@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one)
Date: Mon, 13 May 2024 14:05:16 +0200 [thread overview]
Message-ID: <41974e51-cee5-4a62-bcab-db9b78f76aee@redhat.com> (raw)
In-Reply-To: <ZkHrXOR05UkkMn2X@redhat.com>
On 13/05/2024 12.28, Daniel P. Berrangé wrote:
> On Mon, May 13, 2024 at 12:22:50PM +0200, Thomas Huth wrote:
>> We don't need C++ for the normal QEMU builds anymore, so installing
>> g++ in each and every container seems to be a waste of time and disk
>> space. The only container that still needs it is the Fedora MinGW
>> container that builds the only remaining C++ code in ./qga/vss-win32/
>> and we can install it here with an extra RUN statement instead.
>>
>> This way we can also add the mingw-w64-tools package quite easily
>> which contains the x86_64-w64-mingw32-widl program that is required
>> for compiling the vss code of the guest agent (it was missing before
>> this change, so the VSS code was actually never compiled in the CI).
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> tests/lcitool/projects/qemu.yml | 1 -
>> tests/lcitool/refresh | 10 ++++++++--
>> 2 files changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
>> index 9173d1e36e..b63b6bd850 100644
>> --- a/tests/lcitool/projects/qemu.yml
>> +++ b/tests/lcitool/projects/qemu.yml
>> @@ -22,7 +22,6 @@ packages:
>> - findutils
>> - flex
>> - fuse3
>> - - g++
>> - gcc
>> - gcc-native
>> - gcovr
>> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
>> index 24a735a3f2..dda07ddcd1 100755
>> --- a/tests/lcitool/refresh
>> +++ b/tests/lcitool/refresh
>> @@ -109,6 +109,11 @@ debian12_extras = [
>> "ENV QEMU_CONFIGURE_OPTS --enable-netmap\n"
>> ]
>>
>> +fedora_mingw_extras = [ "\n"
>> + "RUN nosync dnf install -y mingw64-gcc-c++ mingw-w64-tools && \\\n"
>> + " ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \\\n"
>> + " ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++\n\n"
>> +]
>>
>> def cross_build(prefix, targets):
>> conf = "ENV QEMU_CONFIGURE_OPTS --cross-prefix=%s\n" % (prefix)
>> @@ -193,8 +198,9 @@ try:
>>
>> generate_dockerfile("fedora-win64-cross", "fedora-38",
>> cross="mingw64",
>> - trailer=cross_build("x86_64-w64-mingw32-",
>> - "x86_64-softmmu"))
>> + trailer="".join(fedora_mingw_extras)
>> + + cross_build("x86_64-w64-mingw32-",
>> + "x86_64-softmmu"))
>>
>> #
>> # Cirrus packages lists for GitLab
>
> A better way to handle this would be to define a separate project
>
> 'tests/lcitool/projects/qemu-win-installer.yml'
>
> With
>
> packages
> - g++
>
> Then enable the extra project for win64
>
> generate_dockerfile("fedora-win64-cross", "fedora-38",
> project='qemu,qemu-win-installer',
> cross="mingw64",
> trailer=cross_build("x86_64-w64-mingw32-",
> "x86_64-softmmu"))
>
> which should result in an identical container to what we have today
> for win64, while letting us slim the other containers.
Ok, good idea! ... but then we need to teach lcitool about mingw-w64-tools
first, otherwise that vss code won't get built due to the missing "widl" tool.
Thomas
next prev parent reply other threads:[~2024-05-13 12:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-13 10:22 [PATCH 0/4] tests: Remove xfsprogs and g++ from the dockerfiles Thomas Huth
2024-05-13 10:22 ` [PATCH 1/4] tests/lcitool: Remove 'xfsprogs' from QEMU Thomas Huth
2024-05-13 10:22 ` [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one) Thomas Huth
2024-05-13 10:28 ` Daniel P. Berrangé
2024-05-13 12:05 ` Thomas Huth [this message]
2024-05-13 12:11 ` Daniel P. Berrangé
2024-05-13 14:22 ` Thomas Huth
2024-05-13 14:26 ` Daniel P. Berrangé
2024-05-13 10:22 ` [PATCH 3/4] tests/lcitool/projects/qemu.yml: Sort entries alphabetically again Thomas Huth
2024-05-13 10:22 ` [PATCH 4/4] tests/docker/dockerfiles: Update container files with "lcitool-refresh" Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41974e51-cee5-4a62-bcab-db9b78f76aee@redhat.com \
--to=thuth@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=berrange@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).