* [PATCH 0/4] tests: Remove xfsprogs and g++ from the dockerfiles
@ 2024-05-13 10:22 Thomas Huth
2024-05-13 10:22 ` [PATCH 1/4] tests/lcitool: Remove 'xfsprogs' from QEMU Thomas Huth
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Thomas Huth @ 2024-05-13 10:22 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Philippe Mathieu-Daudé,
Daniel P . Berrangé, Thomas Huth
The xfsprogs package is not necessary anymore since commit a5730b8bd3
and we don't need g++ in any of the containers (except for the mingw
cross compiler container which can be handled differently), so this
patch series simplifies the dockerfiles a little bit accordingly.
Philippe Mathieu-Daudé (1):
tests/lcitool: Remove 'xfsprogs' from QEMU
Thomas Huth (3):
tests/lcitool: Remove g++ from the containers (except for the MinGW
one)
tests/lcitool/projects/qemu.yml: Sort entries alphabetically again
tests/docker/dockerfiles: Update container files with
"lcitool-refresh"
tests/docker/dockerfiles/alpine.docker | 4 ----
tests/docker/dockerfiles/centos9.docker | 4 ----
.../dockerfiles/debian-amd64-cross.docker | 4 ----
.../dockerfiles/debian-arm64-cross.docker | 4 ----
.../dockerfiles/debian-armel-cross.docker | 4 ----
.../dockerfiles/debian-armhf-cross.docker | 4 ----
.../dockerfiles/debian-i686-cross.docker | 4 ----
.../dockerfiles/debian-mips64el-cross.docker | 4 ----
.../dockerfiles/debian-mipsel-cross.docker | 4 ----
.../dockerfiles/debian-ppc64el-cross.docker | 4 ----
.../dockerfiles/debian-s390x-cross.docker | 4 ----
tests/docker/dockerfiles/debian.docker | 4 ----
.../dockerfiles/fedora-win64-cross.docker | 8 +++++---
tests/docker/dockerfiles/fedora.docker | 4 ----
tests/docker/dockerfiles/opensuse-leap.docker | 4 ----
tests/docker/dockerfiles/ubuntu2204.docker | 4 ----
tests/lcitool/projects/qemu.yml | 20 +++++++++----------
tests/lcitool/refresh | 10 ++++++++--
18 files changed, 22 insertions(+), 76 deletions(-)
--
2.45.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] tests/lcitool: Remove 'xfsprogs' from QEMU
2024-05-13 10:22 [PATCH 0/4] tests: Remove xfsprogs and g++ from the dockerfiles Thomas Huth
@ 2024-05-13 10:22 ` Thomas Huth
2024-05-13 10:22 ` [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one) Thomas Huth
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Thomas Huth @ 2024-05-13 10:22 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Philippe Mathieu-Daudé,
Daniel P . Berrangé, Thomas Huth
From: Philippe Mathieu-Daudé <philmd@linaro.org>
QEMU's commit a5730b8bd3 ("block/file-posix: Simplify the
XFS_IOC_DIOINFO handling") removed the need for the 'xfsprogs'
package.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[thuth: Adjusted the patch from the lcitools repo to QEMU's repo]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/lcitool/projects/qemu.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index 149b15de57..9173d1e36e 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -121,7 +121,6 @@ packages:
- vte
- which
- xen
- - xfsprogs
- xorriso
- zstdtools
- zlib
--
2.45.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one)
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 ` Thomas Huth
2024-05-13 10:28 ` 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
3 siblings, 1 reply; 10+ messages in thread
From: Thomas Huth @ 2024-05-13 10:22 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Philippe Mathieu-Daudé,
Daniel P . Berrangé, Thomas Huth
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
--
2.45.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/4] tests/lcitool/projects/qemu.yml: Sort entries alphabetically again
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:22 ` Thomas Huth
2024-05-13 10:22 ` [PATCH 4/4] tests/docker/dockerfiles: Update container files with "lcitool-refresh" Thomas Huth
3 siblings, 0 replies; 10+ messages in thread
From: Thomas Huth @ 2024-05-13 10:22 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Philippe Mathieu-Daudé,
Daniel P . Berrangé, Thomas Huth
Let's try to keep the entries in alphabetical order here!
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/lcitool/projects/qemu.yml | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index b63b6bd850..752079b858 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -35,12 +35,12 @@ packages:
- hostname
- json-c
- libaio
- - libattr
- libasan
+ - libattr
- libbpf
- - libc-static
- libcacard
- libcap-ng
+ - libc-static
- libcurl
- libdrm
- libepoxy
@@ -54,6 +54,7 @@ packages:
- libjpeg
- libnfs
- libnuma
+ - libpipewire-dev
- libpmem
- libpng
- librbd
@@ -73,27 +74,26 @@ packages:
- llvm
- lttng-ust
- lzo
+ - make
+ - mesa-libgbm
+ - meson
- mtools
+ - ncursesw
- netcat
- nettle
- ninja
- nsis
- - make
- - mesa-libgbm
- - meson
- - ncursesw
- pam
- pcre-static
- pixman
- - libpipewire-dev
- pkg-config
- pulseaudio
- python3
- - python3-PyYAML
- python3-numpy
- python3-opencv
- python3-pillow
- python3-pip
+ - python3-PyYAML
- python3-sphinx
- python3-sphinx-rtd-theme
- python3-sqlite3
@@ -121,6 +121,6 @@ packages:
- which
- xen
- xorriso
- - zstdtools
- zlib
- zlib-static
+ - zstdtools
--
2.45.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] tests/docker/dockerfiles: Update container files with "lcitool-refresh"
2024-05-13 10:22 [PATCH 0/4] tests: Remove xfsprogs and g++ from the dockerfiles Thomas Huth
` (2 preceding siblings ...)
2024-05-13 10:22 ` [PATCH 3/4] tests/lcitool/projects/qemu.yml: Sort entries alphabetically again Thomas Huth
@ 2024-05-13 10:22 ` Thomas Huth
3 siblings, 0 replies; 10+ messages in thread
From: Thomas Huth @ 2024-05-13 10:22 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Philippe Mathieu-Daudé,
Daniel P . Berrangé, Thomas Huth
Run "make lcitool-refresh" after the previous changes to the lcitool
files. This removes the g++ and xfslibs-dev packages from the dockerfiles.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/docker/dockerfiles/alpine.docker | 4 ----
tests/docker/dockerfiles/centos9.docker | 4 ----
tests/docker/dockerfiles/debian-amd64-cross.docker | 4 ----
tests/docker/dockerfiles/debian-arm64-cross.docker | 4 ----
tests/docker/dockerfiles/debian-armel-cross.docker | 4 ----
tests/docker/dockerfiles/debian-armhf-cross.docker | 4 ----
tests/docker/dockerfiles/debian-i686-cross.docker | 4 ----
tests/docker/dockerfiles/debian-mips64el-cross.docker | 4 ----
tests/docker/dockerfiles/debian-mipsel-cross.docker | 4 ----
tests/docker/dockerfiles/debian-ppc64el-cross.docker | 4 ----
tests/docker/dockerfiles/debian-s390x-cross.docker | 4 ----
tests/docker/dockerfiles/debian.docker | 4 ----
tests/docker/dockerfiles/fedora-win64-cross.docker | 8 +++++---
tests/docker/dockerfiles/fedora.docker | 4 ----
tests/docker/dockerfiles/opensuse-leap.docker | 4 ----
tests/docker/dockerfiles/ubuntu2204.docker | 4 ----
16 files changed, 5 insertions(+), 63 deletions(-)
diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index cd9d7af1ce..554464f31e 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -32,7 +32,6 @@ RUN apk update && \
findutils \
flex \
fuse3-dev \
- g++ \
gcc \
gcovr \
gettext \
@@ -110,7 +109,6 @@ RUN apk update && \
vte3-dev \
which \
xen-dev \
- xfsprogs-dev \
xorriso \
zlib-dev \
zlib-static \
@@ -119,10 +117,8 @@ RUN apk update && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
apk list --installed | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/centos9.docker b/tests/docker/dockerfiles/centos9.docker
index 6cf47ce786..0256865b9e 100644
--- a/tests/docker/dockerfiles/centos9.docker
+++ b/tests/docker/dockerfiles/centos9.docker
@@ -34,7 +34,6 @@ RUN dnf distro-sync -y && \
flex \
fuse3-devel \
gcc \
- gcc-c++ \
gettext \
git \
glib2-devel \
@@ -115,7 +114,6 @@ RUN dnf distro-sync -y && \
util-linux \
vte291-devel \
which \
- xfsprogs-devel \
xorriso \
zlib-devel \
zlib-static \
@@ -125,10 +123,8 @@ RUN dnf distro-sync -y && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index d0b0e9778e..f8c61d1191 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -79,7 +79,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-x86-64-linux-gnu \
gcc-x86-64-linux-gnu \
libaio-dev:amd64 \
libasan6:amd64 \
@@ -149,7 +148,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:amd64 \
nettle-dev:amd64 \
systemtap-sdt-dev:amd64 \
- xfslibs-dev:amd64 \
zlib1g-dev:amd64 && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -167,9 +165,7 @@ cpu = 'x86_64'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/x86_64-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-gcc
ENV ABI "x86_64-linux-gnu"
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 8cb225740e..6510872279 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -79,7 +79,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-aarch64-linux-gnu \
gcc-aarch64-linux-gnu \
libaio-dev:arm64 \
libasan6:arm64 \
@@ -148,7 +147,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:arm64 \
nettle-dev:arm64 \
systemtap-sdt-dev:arm64 \
- xfslibs-dev:arm64 \
zlib1g-dev:arm64 && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -166,9 +164,7 @@ cpu = 'aarch64'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc
ENV ABI "aarch64-linux-gnu"
diff --git a/tests/docker/dockerfiles/debian-armel-cross.docker b/tests/docker/dockerfiles/debian-armel-cross.docker
index e6f37418ed..f227d42987 100644
--- a/tests/docker/dockerfiles/debian-armel-cross.docker
+++ b/tests/docker/dockerfiles/debian-armel-cross.docker
@@ -82,7 +82,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-arm-linux-gnueabi \
gcc-arm-linux-gnueabi \
libaio-dev:armel \
libasan6:armel \
@@ -149,7 +148,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:armel \
nettle-dev:armel \
systemtap-sdt-dev:armel \
- xfslibs-dev:armel \
zlib1g-dev:armel && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -167,9 +165,7 @@ cpu = 'arm'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
ENV ABI "arm-linux-gnueabi"
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index 407a014f57..58bdf07223 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -79,7 +79,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-arm-linux-gnueabihf \
gcc-arm-linux-gnueabihf \
libaio-dev:armhf \
libasan6:armhf \
@@ -148,7 +147,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:armhf \
nettle-dev:armhf \
systemtap-sdt-dev:armhf \
- xfslibs-dev:armhf \
zlib1g-dev:armhf && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -166,9 +164,7 @@ cpu = 'armhf'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
ENV ABI "arm-linux-gnueabihf"
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index bdc9566b67..9f4102be8f 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -82,7 +82,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-i686-linux-gnu \
gcc-i686-linux-gnu \
libaio-dev:i386 \
libasan6:i386 \
@@ -149,7 +148,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:i386 \
nettle-dev:i386 \
systemtap-sdt-dev:i386 \
- xfslibs-dev:i386 \
zlib1g-dev:i386 && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -167,9 +165,7 @@ cpu = 'i686'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-gcc
ENV ABI "i686-linux-gnu"
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
index 4d995d0b12..c861c3bd5b 100644
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
@@ -82,7 +82,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-mips64el-linux-gnuabi64 \
gcc-mips64el-linux-gnuabi64 \
libaio-dev:mips64el \
libasound2-dev:mips64el \
@@ -147,7 +146,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:mips64el \
nettle-dev:mips64el \
systemtap-sdt-dev:mips64el \
- xfslibs-dev:mips64el \
zlib1g-dev:mips64el && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -165,9 +163,7 @@ cpu = 'mips64el'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
ENV ABI "mips64el-linux-gnuabi64"
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index 0cf803bda5..fe9415395e 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -82,7 +82,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-mipsel-linux-gnu \
gcc-mipsel-linux-gnu \
libaio-dev:mipsel \
libasound2-dev:mipsel \
@@ -147,7 +146,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:mipsel \
nettle-dev:mipsel \
systemtap-sdt-dev:mipsel \
- xfslibs-dev:mipsel \
zlib1g-dev:mipsel && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -165,9 +163,7 @@ cpu = 'mipsel'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
ENV ABI "mipsel-linux-gnu"
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index 6180ec08c3..35c8ff0864 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -79,7 +79,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-powerpc64le-linux-gnu \
gcc-powerpc64le-linux-gnu \
libaio-dev:ppc64el \
libasan6:ppc64el \
@@ -147,7 +146,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:ppc64el \
nettle-dev:ppc64el \
systemtap-sdt-dev:ppc64el \
- xfslibs-dev:ppc64el \
zlib1g-dev:ppc64el && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -165,9 +163,7 @@ cpu = 'powerpc64le'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
ENV ABI "powerpc64le-linux-gnu"
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index 90c8d3c7b8..bef9dff17a 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -79,7 +79,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get dist-upgrade -y && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
- g++-s390x-linux-gnu \
gcc-s390x-linux-gnu \
libaio-dev:s390x \
libasan6:s390x \
@@ -146,7 +145,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libzstd-dev:s390x \
nettle-dev:s390x \
systemtap-sdt-dev:s390x \
- xfslibs-dev:s390x \
zlib1g-dev:s390x && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
@@ -164,9 +162,7 @@ cpu = 's390x'\n\
endian = 'big'\n" > /usr/local/share/meson/cross/s390x-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-gcc
ENV ABI "s390x-linux-gnu"
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index 5722482e4c..63d7aac616 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -25,7 +25,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
exuberant-ctags \
findutils \
flex \
- g++ \
gcc \
gcovr \
gettext \
@@ -129,7 +128,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
tar \
tesseract-ocr \
tesseract-ocr-eng \
- xfslibs-dev \
xorriso \
zlib1g-dev \
zstd && \
@@ -140,10 +138,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index d1a480fa71..a5644de57a 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -80,7 +80,6 @@ RUN nosync dnf install -y \
mingw64-bzip2 \
mingw64-curl \
mingw64-gcc \
- mingw64-gcc-c++ \
mingw64-gettext \
mingw64-glib2 \
mingw64-gnutls \
@@ -96,13 +95,16 @@ RUN nosync dnf install -y \
nosync dnf clean all -y && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
ENV ABI "x86_64-w64-mingw32"
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
+
+RUN nosync dnf install -y mingw64-gcc-c++ mingw-w64-tools && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++
+
ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32-
ENV DEF_TARGET_LIST x86_64-softmmu
# As a final step configure the user (if env is defined)
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 7e6ab0308a..098c894d10 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -41,7 +41,6 @@ exec "$@"\n' > /usr/bin/nosync && \
flex \
fuse3-devel \
gcc \
- gcc-c++ \
gcovr \
gettext \
git \
@@ -130,7 +129,6 @@ exec "$@"\n' > /usr/bin/nosync && \
vte291-devel \
which \
xen-devel \
- xfsprogs-devel \
xorriso \
zlib-devel \
zlib-static \
@@ -140,10 +138,8 @@ exec "$@"\n' > /usr/bin/nosync && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index c4055bdd10..836f531ac1 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -26,7 +26,6 @@ RUN zypper update -y && \
flex \
fuse3-devel \
gcc \
- gcc-c++ \
gcovr \
gettext-runtime \
git \
@@ -113,7 +112,6 @@ RUN zypper update -y && \
vte-devel \
which \
xen-devel \
- xfsprogs-devel \
xorriso \
zlib-devel \
zlib-devel-static \
@@ -122,10 +120,8 @@ RUN zypper update -y && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
RUN /usr/bin/pip3.11 install \
diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
index b8e78331db..febd25b320 100644
--- a/tests/docker/dockerfiles/ubuntu2204.docker
+++ b/tests/docker/dockerfiles/ubuntu2204.docker
@@ -25,7 +25,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
exuberant-ctags \
findutils \
flex \
- g++ \
gcc \
gcovr \
gettext \
@@ -129,7 +128,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
tar \
tesseract-ocr \
tesseract-ocr-eng \
- xfslibs-dev \
xorriso \
zlib1g-dev \
zstd && \
@@ -140,10 +138,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
--
2.45.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one)
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
0 siblings, 1 reply; 10+ messages in thread
From: Daniel P. Berrangé @ 2024-05-13 10:28 UTC (permalink / raw)
To: Thomas Huth; +Cc: qemu-devel, Alex Bennée, Philippe Mathieu-Daudé
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.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one)
2024-05-13 10:28 ` Daniel P. Berrangé
@ 2024-05-13 12:05 ` Thomas Huth
2024-05-13 12:11 ` Daniel P. Berrangé
0 siblings, 1 reply; 10+ messages in thread
From: Thomas Huth @ 2024-05-13 12:05 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Alex Bennée, Philippe Mathieu-Daudé
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one)
2024-05-13 12:05 ` Thomas Huth
@ 2024-05-13 12:11 ` Daniel P. Berrangé
2024-05-13 14:22 ` Thomas Huth
0 siblings, 1 reply; 10+ messages in thread
From: Daniel P. Berrangé @ 2024-05-13 12:11 UTC (permalink / raw)
To: Thomas Huth; +Cc: qemu-devel, Alex Bennée, Philippe Mathieu-Daudé
On Mon, May 13, 2024 at 02:05:16PM +0200, Thomas Huth wrote:
> 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.
Why is that a pre-requisite ? What i've suggested will result in a
Dockerfile for win64 that is 100% identical to what we already have
in git today. So surely that will already succeed to the same extent
that CI succeeds today ?
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one)
2024-05-13 12:11 ` Daniel P. Berrangé
@ 2024-05-13 14:22 ` Thomas Huth
2024-05-13 14:26 ` Daniel P. Berrangé
0 siblings, 1 reply; 10+ messages in thread
From: Thomas Huth @ 2024-05-13 14:22 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Alex Bennée, Philippe Mathieu-Daudé
On 13/05/2024 14.11, Daniel P. Berrangé wrote:
> On Mon, May 13, 2024 at 02:05:16PM +0200, Thomas Huth wrote:
>> 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.
>
> Why is that a pre-requisite ? What i've suggested will result in a
> Dockerfile for win64 that is 100% identical to what we already have
> in git today. So surely that will already succeed to the same extent
> that CI succeeds today ?
If you want to have the same result, we can also simply remove g++
everywhere, also for the mingw cross containers, since the vss code is
currently not built at all due to the missing widl program.
Thomas
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] tests/lcitool: Remove g++ from the containers (except for the MinGW one)
2024-05-13 14:22 ` Thomas Huth
@ 2024-05-13 14:26 ` Daniel P. Berrangé
0 siblings, 0 replies; 10+ messages in thread
From: Daniel P. Berrangé @ 2024-05-13 14:26 UTC (permalink / raw)
To: Thomas Huth; +Cc: qemu-devel, Alex Bennée, Philippe Mathieu-Daudé
On Mon, May 13, 2024 at 04:22:00PM +0200, Thomas Huth wrote:
> On 13/05/2024 14.11, Daniel P. Berrangé wrote:
> > On Mon, May 13, 2024 at 02:05:16PM +0200, Thomas Huth wrote:
> > > On 13/05/2024 12.28, Daniel P. Berrangé wrote:
> > > > 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.
> >
> > Why is that a pre-requisite ? What i've suggested will result in a
> > Dockerfile for win64 that is 100% identical to what we already have
> > in git today. So surely that will already succeed to the same extent
> > that CI succeeds today ?
>
> If you want to have the same result, we can also simply remove g++
> everywhere, also for the mingw cross containers, since the vss code is
> currently not built at all due to the missing widl program.
Oh, I'm getting mixed up between the qemu-setup.exe and the qga installer
exe.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-05-13 14:31 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
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).