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 <th...@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 -- 2.45.0