* [PATCH 00/24] CI/build-sys fixes to enable Rust more widely
@ 2025-09-19 13:32 marcandre.lureau
  2025-09-19 13:32 ` [PATCH 01/24] gitlab-ci: fix 'needs' property type must be array marcandre.lureau
                   ` (23 more replies)
  0 siblings, 24 replies; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Hi,
This patch series fixes a number of issues with the build system and CI and
enable Rust for many of our jobs, getting us closer to enable Rust by default.
Marc-André Lureau (24):
  gitlab-ci: fix 'needs' property type must be array
  scripts/archive-source: speed up downloading subprojects
  scripts/archive-source: silence subprojects downloads
  configure: fix rust meson configuration
  configure: set the bindgen cross target
  RFC: configure: use the same machine as the host triple by default
  tests/docker/common: print errors to stderr
  tests/docker: use fully qualified image name for emsdk
  tests/docker/common: print meson log on configure failure
  lcitool: update, switch to f41
  lcitool/qemu: include libclang-rt for TSAN
  lcitool/alpine: workaround bindgen issue
  tests/lcitool: add missing rust-std dep
  tests: move mips to debian-legacy-test-cross
  tests/lcitool: update to debian13
  build-sys: cfi_debug and safe_stack are not compatible
  tests/docker: add ENABLE_RUST environment
  tests/lcitool: enable rust & refresh
  configure: set the meson executable suffix/ext
  tests/freebsd: enable Rust
  meson: rust-bindgen limit allowlist-file to srcdir/include
  WIP: tests/docker: add rust to debian-legacy-test-cross
  WIP: gitlab-ci: enable rust for msys2-64bit
  WIP: cirrus/macos: enable Rust
 configure                                     |  26 ++-
 meson.build                                   |  19 +-
 .gitlab-ci.d/buildtest.yml                    |  70 +++----
 .gitlab-ci.d/cirrus.yml                       |   4 +-
 .gitlab-ci.d/container-cross.yml              |  12 --
 .gitlab-ci.d/crossbuild-template.yml          |   4 +-
 .gitlab-ci.d/crossbuilds.yml                  |  72 ++-----
 .gitlab-ci.d/static_checks.yml                |   6 +-
 .gitlab-ci.d/windows.yml                      |   8 +-
 scripts/archive-source.sh                     |   5 +-
 .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml  |   5 +-
 .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml    |   5 +-
 tests/docker/Makefile.include                 |   1 -
 tests/docker/common.rc                        |  11 +-
 tests/docker/dockerfiles/alpine.docker        |   6 +-
 tests/docker/dockerfiles/centos9.docker       |   4 +
 .../dockerfiles/debian-all-test-cross.docker  |   8 -
 .../dockerfiles/debian-amd64-cross.docker     |  18 +-
 .../dockerfiles/debian-arm64-cross.docker     |  18 +-
 .../dockerfiles/debian-armhf-cross.docker     |  21 +-
 .../dockerfiles/debian-i686-cross.docker      |  20 +-
 .../debian-legacy-test-cross.docker           |  11 +-
 .../dockerfiles/debian-mips64el-cross.docker  | 180 ------------------
 .../dockerfiles/debian-mipsel-cross.docker    | 180 ------------------
 .../dockerfiles/debian-ppc64el-cross.docker   |  18 +-
 .../dockerfiles/debian-riscv64-cross.docker   |  10 +-
 .../dockerfiles/debian-s390x-cross.docker     |  18 +-
 tests/docker/dockerfiles/debian.docker        |  18 +-
 .../dockerfiles/emsdk-wasm32-cross.docker     |   2 +-
 .../dockerfiles/fedora-rust-nightly.docker    |  18 +-
 .../dockerfiles/fedora-win64-cross.docker     |  15 +-
 tests/docker/dockerfiles/fedora.docker        |  18 +-
 tests/docker/dockerfiles/opensuse-leap.docker |   7 +-
 tests/docker/dockerfiles/ubuntu2204.docker    |   7 +-
 tests/lcitool/libvirt-ci                      |   2 +-
 tests/lcitool/projects/qemu.yml               |   3 +-
 tests/lcitool/refresh                         |  56 +++---
 tests/vm/freebsd                              |   4 +-
 38 files changed, 320 insertions(+), 590 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/debian-mips64el-cross.docker
 delete mode 100644 tests/docker/dockerfiles/debian-mipsel-cross.docker
-- 
2.51.0
^ permalink raw reply	[flat|nested] 59+ messages in thread
* [PATCH 01/24] gitlab-ci: fix 'needs' property type must be array
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
@ 2025-09-19 13:32 ` marcandre.lureau
  2025-09-19 14:05   ` Daniel P. Berrangé
  2025-09-19 13:32 ` [PATCH 02/24] scripts/archive-source: speed up downloading subprojects marcandre.lureau
                   ` (22 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
The gitlab "Pipeline editor" has some warnings, and gitlab-ci-local
fails.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 .gitlab-ci.d/buildtest.yml     | 56 +++++++++++++++++-----------------
 .gitlab-ci.d/crossbuilds.yml   | 46 ++++++++++++++--------------
 .gitlab-ci.d/static_checks.yml |  6 ++--
 3 files changed, 54 insertions(+), 54 deletions(-)
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index f01978fb40..f8d7b6c3ac 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -36,7 +36,7 @@ build-system-ubuntu:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-ubuntu2204-container
+    - job: amd64-ubuntu2204-container
   variables:
     IMAGE: ubuntu2204
     CONFIGURE_ARGS: --enable-docs
@@ -66,7 +66,7 @@ build-system-debian:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-debian-container
+    - job: amd64-debian-container
   variables:
     IMAGE: debian
     CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
@@ -109,7 +109,7 @@ build-system-fedora:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-fedora-container
+    - job: amd64-fedora-container
   variables:
     IMAGE: fedora
     CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs --enable-crypto-afalg --enable-rust
@@ -122,7 +122,7 @@ build-system-fedora-rust-nightly:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-fedora-rust-nightly-container
+    - job: amd64-fedora-rust-nightly-container
   variables:
     IMAGE: fedora-rust-nightly
     CONFIGURE_ARGS: --disable-docs --enable-rust --enable-strict-rust-lints
@@ -167,7 +167,7 @@ build-system-centos:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-centos9-container
+    - job: amd64-centos9-container
   variables:
     IMAGE: centos9
     CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-vfio-user-server
@@ -189,7 +189,7 @@ build-previous-qemu:
       - build-previous/tests/qtest/migration-test
       - build-previous/scripts
   needs:
-    job: amd64-opensuse-leap-container
+    - job: amd64-opensuse-leap-container
   variables:
     IMAGE: opensuse-leap
     TARGETS: x86_64-softmmu aarch64-softmmu
@@ -274,7 +274,7 @@ build-system-opensuse:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-opensuse-leap-container
+    - job: amd64-opensuse-leap-container
   variables:
     IMAGE: opensuse-leap
     TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
@@ -308,7 +308,7 @@ build-system-flaky:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-debian-container
+    - job: amd64-debian-container
   variables:
     IMAGE: debian
     QEMU_JOB_OPTIONAL: 1
@@ -338,7 +338,7 @@ functional-system-flaky:
 build-tcg-disabled:
   extends: .native_build_job_template
   needs:
-    job: amd64-centos9-container
+    - job: amd64-centos9-container
   variables:
     IMAGE: centos9
   script:
@@ -364,7 +364,7 @@ build-tcg-disabled:
 build-user:
   extends: .native_build_job_template
   needs:
-    job: amd64-debian-user-cross-container
+    - job: amd64-debian-user-cross-container
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system
@@ -374,7 +374,7 @@ build-user:
 build-user-static:
   extends: .native_build_job_template
   needs:
-    job: amd64-debian-user-cross-container
+    - job: amd64-debian-user-cross-container
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system --static
@@ -385,7 +385,7 @@ build-user-static:
 build-legacy:
   extends: .native_build_job_template
   needs:
-    job: amd64-debian-legacy-cross-container
+    - job: amd64-debian-legacy-cross-container
   variables:
     IMAGE: debian-legacy-test-cross
     TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
@@ -395,7 +395,7 @@ build-legacy:
 build-user-hexagon:
   extends: .native_build_job_template
   needs:
-    job: hexagon-cross-container
+    - job: hexagon-cross-container
   variables:
     IMAGE: debian-hexagon-cross
     TARGETS: hexagon-linux-user
@@ -408,7 +408,7 @@ build-user-hexagon:
 build-some-softmmu:
   extends: .native_build_job_template
   needs:
-    job: amd64-debian-user-cross-container
+    - job: amd64-debian-user-cross-container
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --enable-debug
@@ -419,7 +419,7 @@ build-some-softmmu:
 build-loongarch64:
   extends: .native_build_job_template
   needs:
-    job: loongarch-debian-cross-container
+    - job: loongarch-debian-cross-container
   variables:
     IMAGE: debian-loongarch-cross
     CONFIGURE_ARGS: --disable-tools --enable-debug
@@ -430,7 +430,7 @@ build-loongarch64:
 build-tricore-softmmu:
   extends: .native_build_job_template
   needs:
-    job: tricore-debian-cross-container
+    - job: tricore-debian-cross-container
   variables:
     IMAGE: debian-tricore-cross
     CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
@@ -440,7 +440,7 @@ build-tricore-softmmu:
 clang-system:
   extends: .native_build_job_template
   needs:
-    job: amd64-fedora-container
+    - job: amd64-fedora-container
   variables:
     IMAGE: fedora
     CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-ubsan
@@ -451,7 +451,7 @@ clang-system:
 clang-user:
   extends: .native_build_job_template
   needs:
-    job: amd64-debian-user-cross-container
+    - job: amd64-debian-user-cross-container
   timeout: 70m
   variables:
     IMAGE: debian-all-test-cross
@@ -582,7 +582,7 @@ functional-cfi-x86_64:
 tsan-build:
   extends: .native_build_job_template
   needs:
-    job: amd64-ubuntu2204-container
+    - job: amd64-ubuntu2204-container
   variables:
     IMAGE: ubuntu2204
     CONFIGURE_ARGS: --enable-tsan --cc=clang --cxx=clang++
@@ -596,7 +596,7 @@ tsan-build:
 gcov:
   extends: .native_build_job_template
   needs:
-    job: amd64-ubuntu2204-container
+    - job: amd64-ubuntu2204-container
   timeout: 80m
   variables:
     IMAGE: ubuntu2204
@@ -623,7 +623,7 @@ gcov:
 build-oss-fuzz:
   extends: .native_build_job_template
   needs:
-    job: amd64-fedora-container
+    - job: amd64-fedora-container
   variables:
     IMAGE: fedora
   script:
@@ -645,7 +645,7 @@ build-oss-fuzz:
 build-tci:
   extends: .native_build_job_template
   needs:
-    job: amd64-debian-user-cross-container
+    - job: amd64-debian-user-cross-container
   variables:
     IMAGE: debian-all-test-cross
   script:
@@ -670,7 +670,7 @@ build-tci:
 build-without-defaults:
   extends: .native_build_job_template
   needs:
-    job: amd64-centos9-container
+    - job: amd64-centos9-container
   variables:
     IMAGE: centos9
     CONFIGURE_ARGS:
@@ -688,7 +688,7 @@ build-libvhost-user:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG
   needs:
-    job: amd64-fedora-container
+    - job: amd64-fedora-container
   script:
     - mkdir subprojects/libvhost-user/build
     - cd subprojects/libvhost-user/build
@@ -702,9 +702,9 @@ build-tools-and-docs-debian:
     - .native_build_job_template
     - .native_build_artifact_template
   needs:
-    job: amd64-debian-container
-    # when running on 'master' we use pre-existing container
-    optional: true
+    - job: amd64-debian-container
+      # when running on 'master' we use pre-existing container
+      optional: true
   variables:
     IMAGE: debian
     MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
@@ -791,7 +791,7 @@ build-wasm:
   extends: .wasm_build_job_template
   timeout: 2h
   needs:
-    job: wasm-emsdk-cross-container
+    - job: wasm-emsdk-cross-container
   variables:
     IMAGE: emsdk-wasm32-cross
     CONFIGURE_ARGS: --static --disable-tools --enable-debug --enable-tcg-interpreter
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 3f76c901ba..8ff0c27f74 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -4,28 +4,28 @@ include:
 cross-armhf-user:
   extends: .cross_user_build_job
   needs:
-    job: armhf-debian-cross-container
+    - job: armhf-debian-cross-container
   variables:
     IMAGE: debian-armhf-cross
 
 cross-arm64-system:
   extends: .cross_system_build_job
   needs:
-    job: arm64-debian-cross-container
+    - job: arm64-debian-cross-container
   variables:
     IMAGE: debian-arm64-cross
 
 cross-arm64-user:
   extends: .cross_user_build_job
   needs:
-    job: arm64-debian-cross-container
+    - job: arm64-debian-cross-container
   variables:
     IMAGE: debian-arm64-cross
 
 cross-arm64-kvm-only:
   extends: .cross_accel_build_job
   needs:
-    job: arm64-debian-cross-container
+    - job: arm64-debian-cross-container
   variables:
     IMAGE: debian-arm64-cross
     EXTRA_CONFIGURE_OPTS: --disable-tcg --without-default-features
@@ -35,7 +35,7 @@ cross-i686-system:
     - .cross_system_build_job
     - .cross_test_artifacts
   needs:
-    job: i686-debian-cross-container
+    - job: i686-debian-cross-container
   variables:
     IMAGE: debian-i686-cross
     EXTRA_CONFIGURE_OPTS: --disable-kvm
@@ -46,7 +46,7 @@ cross-i686-user:
     - .cross_user_build_job
     - .cross_test_artifacts
   needs:
-    job: i686-debian-cross-container
+    - job: i686-debian-cross-container
   variables:
     IMAGE: debian-i686-cross
     MAKE_CHECK_ARGS: check
@@ -57,7 +57,7 @@ cross-i686-tci:
     - .cross_test_artifacts
   timeout: 60m
   needs:
-    job: i686-debian-cross-container
+    - job: i686-debian-cross-container
   variables:
     IMAGE: debian-i686-cross
     ACCEL: tcg-interpreter
@@ -71,49 +71,49 @@ cross-i686-tci:
 cross-mipsel-system:
   extends: .cross_system_build_job
   needs:
-    job: mipsel-debian-cross-container
+    - job: mipsel-debian-cross-container
   variables:
     IMAGE: debian-mipsel-cross
 
 cross-mipsel-user:
   extends: .cross_user_build_job
   needs:
-    job: mipsel-debian-cross-container
+    - job: mipsel-debian-cross-container
   variables:
     IMAGE: debian-mipsel-cross
 
 cross-mips64el-system:
   extends: .cross_system_build_job
   needs:
-    job: mips64el-debian-cross-container
+    - job: mips64el-debian-cross-container
   variables:
     IMAGE: debian-mips64el-cross
 
 cross-mips64el-user:
   extends: .cross_user_build_job
   needs:
-    job: mips64el-debian-cross-container
+    - job: mips64el-debian-cross-container
   variables:
     IMAGE: debian-mips64el-cross
 
 cross-ppc64el-system:
   extends: .cross_system_build_job
   needs:
-    job: ppc64el-debian-cross-container
+    - job: ppc64el-debian-cross-container
   variables:
     IMAGE: debian-ppc64el-cross
 
 cross-ppc64el-user:
   extends: .cross_user_build_job
   needs:
-    job: ppc64el-debian-cross-container
+    - job: ppc64el-debian-cross-container
   variables:
     IMAGE: debian-ppc64el-cross
 
 cross-ppc64el-kvm-only:
   extends: .cross_accel_build_job
   needs:
-    job: ppc64el-debian-cross-container
+    - job: ppc64el-debian-cross-container
   variables:
     IMAGE: debian-ppc64el-cross
     EXTRA_CONFIGURE_OPTS: --disable-tcg --without-default-devices
@@ -121,35 +121,35 @@ cross-ppc64el-kvm-only:
 cross-riscv64-system:
   extends: .cross_system_build_job
   needs:
-    job: riscv64-debian-cross-container
+    - job: riscv64-debian-cross-container
   variables:
     IMAGE: debian-riscv64-cross
 
 cross-riscv64-user:
   extends: .cross_user_build_job
   needs:
-    job: riscv64-debian-cross-container
+    - job: riscv64-debian-cross-container
   variables:
     IMAGE: debian-riscv64-cross
 
 cross-s390x-system:
   extends: .cross_system_build_job
   needs:
-    job: s390x-debian-cross-container
+    - job: s390x-debian-cross-container
   variables:
     IMAGE: debian-s390x-cross
 
 cross-s390x-user:
   extends: .cross_user_build_job
   needs:
-    job: s390x-debian-cross-container
+    - job: s390x-debian-cross-container
   variables:
     IMAGE: debian-s390x-cross
 
 cross-s390x-kvm-only:
   extends: .cross_accel_build_job
   needs:
-    job: s390x-debian-cross-container
+    - job: s390x-debian-cross-container
   variables:
     IMAGE: debian-s390x-cross
     EXTRA_CONFIGURE_OPTS: --disable-tcg --enable-trace-backends=ftrace
@@ -157,7 +157,7 @@ cross-s390x-kvm-only:
 cross-mips64el-kvm-only:
   extends: .cross_accel_build_job
   needs:
-    job: mips64el-debian-cross-container
+    - job: mips64el-debian-cross-container
   variables:
     IMAGE: debian-mips64el-cross
     EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
@@ -165,7 +165,7 @@ cross-mips64el-kvm-only:
 cross-win64-system:
   extends: .cross_system_build_job
   needs:
-    job: win64-fedora-cross-container
+    - job: win64-fedora-cross-container
   variables:
     IMAGE: fedora-win64-cross
     EXTRA_CONFIGURE_OPTS: --enable-fdt=internal --disable-plugins
@@ -181,7 +181,7 @@ cross-win64-system:
 cross-amd64-xen-only:
   extends: .cross_accel_build_job
   needs:
-    job: amd64-debian-cross-container
+    - job: amd64-debian-cross-container
   variables:
     IMAGE: debian-amd64-cross
     ACCEL: xen
@@ -190,7 +190,7 @@ cross-amd64-xen-only:
 cross-arm64-xen-only:
   extends: .cross_accel_build_job
   needs:
-    job: arm64-debian-cross-container
+    - job: arm64-debian-cross-container
   variables:
     IMAGE: debian-arm64-cross
     ACCEL: xen
diff --git a/.gitlab-ci.d/static_checks.yml b/.gitlab-ci.d/static_checks.yml
index c3ed6de453..61fe2fa39a 100644
--- a/.gitlab-ci.d/static_checks.yml
+++ b/.gitlab-ci.d/static_checks.yml
@@ -32,7 +32,7 @@ check-python-minreqs:
   variables:
     GIT_DEPTH: 1
   needs:
-    job: python-container
+    - job: python-container
 
 check-python-tox:
   extends: .base_job_template
@@ -45,7 +45,7 @@ check-python-tox:
     QEMU_TOX_EXTRA_ARGS: --skip-missing-interpreters=false
     QEMU_JOB_OPTIONAL: 1
   needs:
-    job: python-container
+    - job: python-container
 
 check-rust-tools-nightly:
   extends: .base_job_template
@@ -76,7 +76,7 @@ check-build-units:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
   needs:
-    job: amd64-debian-container
+    - job: amd64-debian-container
   before_script:
     - source scripts/ci/gitlab-ci-section
     - section_start setup "Install Tools"
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 02/24] scripts/archive-source: speed up downloading subprojects
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
  2025-09-19 13:32 ` [PATCH 01/24] gitlab-ci: fix 'needs' property type must be array marcandre.lureau
@ 2025-09-19 13:32 ` marcandre.lureau
  2025-09-19 13:50   ` Daniel P. Berrangé
  2025-09-19 13:32 ` [PATCH 03/24] scripts/archive-source: silence subprojects downloads marcandre.lureau
                   ` (21 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Running meson on each subproject is quite slow.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 scripts/archive-source.sh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index 035828c532..85cd0a63a0 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -77,9 +77,10 @@ function subproject_dir() {
 git archive --format tar "$(tree_ish)" > "$tar_file"
 test $? -ne 0 && error "failed to archive qemu"
 
+meson subprojects download $subprojects
+test $? -ne 0 && error "failed to download subprojects $subprojects"
+
 for sp in $subprojects; do
-    meson subprojects download $sp
-    test $? -ne 0 && error "failed to download subproject $sp"
     tar --append --file "$tar_file" --exclude=.git subprojects/"$(subproject_dir $sp)"
     test $? -ne 0 && error "failed to append subproject $sp to $tar_file"
 done
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 03/24] scripts/archive-source: silence subprojects downloads
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
  2025-09-19 13:32 ` [PATCH 01/24] gitlab-ci: fix 'needs' property type must be array marcandre.lureau
  2025-09-19 13:32 ` [PATCH 02/24] scripts/archive-source: speed up downloading subprojects marcandre.lureau
@ 2025-09-19 13:32 ` marcandre.lureau
  2025-09-19 13:49   ` Daniel P. Berrangé
  2025-09-19 13:32 ` [PATCH 04/24] configure: fix rust meson configuration marcandre.lureau
                   ` (20 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
It's too verbose.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 scripts/archive-source.sh | 2 +-
 tests/lcitool/libvirt-ci  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index 85cd0a63a0..68eb9672de 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -77,7 +77,7 @@ function subproject_dir() {
 git archive --format tar "$(tree_ish)" > "$tar_file"
 test $? -ne 0 && error "failed to archive qemu"
 
-meson subprojects download $subprojects
+meson subprojects download $subprojects >/dev/null
 test $? -ne 0 && error "failed to download subprojects $subprojects"
 
 for sp in $subprojects; do
diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
index 18c4bfe02c..7a92fe388f 160000
--- a/tests/lcitool/libvirt-ci
+++ b/tests/lcitool/libvirt-ci
@@ -1 +1 @@
-Subproject commit 18c4bfe02c467e5639bf9a687139735ccd7a3fff
+Subproject commit 7a92fe388f55d1bbc33e639e3484533f88c542ec
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 04/24] configure: fix rust meson configuration
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (2 preceding siblings ...)
  2025-09-19 13:32 ` [PATCH 03/24] scripts/archive-source: silence subprojects downloads marcandre.lureau
@ 2025-09-19 13:32 ` marcandre.lureau
  2025-09-19 14:06   ` Daniel P. Berrangé
  2025-09-19 13:32 ` [PATCH 05/24] configure: set the bindgen cross target marcandre.lureau
                   ` (19 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
It was incorrectly set on the [host_machine] and caused error:
File "/tmp/qemu-test/build/pyvenv/lib/python3.11/site-packages/mesonbuild/envconfig.py", line 281, in from_literal
    assert all(isinstance(v, str) for v in raw.values()), 'for mypy'
AssertionError: for mypy
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 0f7eb95586..66613f3f4c 100755
--- a/configure
+++ b/configure
@@ -1958,7 +1958,7 @@ if test "$skip_meson" = no; then
     echo "[binaries]" >> $native
     echo "c = [$(meson_quote $host_cc)]" >> $native
     if test "$rust" != disabled; then
-      echo "rust = [$(meson_quote $rustc)]" >> $cross
+      echo "rust = [$(meson_quote $rustc)]" >> $native
     fi
     mv $native config-meson.native
     meson_option_add --native-file
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 05/24] configure: set the bindgen cross target
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (3 preceding siblings ...)
  2025-09-19 13:32 ` [PATCH 04/24] configure: fix rust meson configuration marcandre.lureau
@ 2025-09-19 13:32 ` marcandre.lureau
  2025-09-19 15:08   ` Paolo Bonzini
  2025-09-19 13:33 ` [PATCH 06/24] RFC: configure: use the same machine as the host triple by default marcandre.lureau
                   ` (18 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 configure | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/configure b/configure
index 66613f3f4c..32eb313941 100755
--- a/configure
+++ b/configure
@@ -1878,6 +1878,12 @@ if test "$skip_meson" = no; then
       eval "c=\$devices_${a}"
       echo "${a}-softmmu = '$c'" >> $cross
   done
+  if test "$rust" != disabled; then
+      if test "$cross_compile" = "yes"; then
+          # it's actually a clang target triple, but they should be same
+          echo "bindgen_clang_arguments = [$(meson_quote --target="$rust_target_triple")]" >> $cross
+      fi
+  fi
 
   echo "[built-in options]" >> $cross
   echo "c_args = [$(meson_quote $CFLAGS $EXTRA_CFLAGS)]" >> $cross
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 06/24] RFC: configure: use the same machine as the host triple by default
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (4 preceding siblings ...)
  2025-09-19 13:32 ` [PATCH 05/24] configure: set the bindgen cross target marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 15:11   ` Paolo Bonzini
  2025-09-19 13:33 ` [PATCH 07/24] tests/docker/common: print errors to stderr marcandre.lureau
                   ` (17 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
IIRC, this fixes build on msys2 - although I can't reproduce. Maybe with
some other host, on *bsd?
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 32eb313941..c2f4534964 100755
--- a/configure
+++ b/configure
@@ -1205,7 +1205,7 @@ if test "$rust" != disabled && test -z "$rust_target_triple"; then
   # arch and os generally matches between meson and rust
   rust_arch=$host_arch
   rust_os=$host_os
-  rust_machine=unknown
+  rust_machine=$(echo $rust_host_triple | cut -d- -f2)
   rust_osvariant=
 
   # tweak rust_os if needed; also, machine and variant depend on the OS
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 07/24] tests/docker/common: print errors to stderr
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (5 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 06/24] RFC: configure: use the same machine as the host triple by default marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:07   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 08/24] tests/docker: use fully qualified image name for emsdk marcandre.lureau
                   ` (16 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/docker/common.rc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index a611e6adf9..2ed2365a61 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -50,7 +50,7 @@ configure_qemu()
     echo "Configure options:"
     echo $config_opts
     $QEMU_SRC/configure $config_opts || \
-        { cat config.log && test_fail "Failed to run 'configure'"; }
+        { cat config.log >&2 && test_fail "Failed to run 'configure'"; }
 }
 
 build_qemu()
@@ -73,7 +73,7 @@ check_qemu()
 
 test_fail()
 {
-    echo "$@"
+    echo "$@" >&2
     exit 1
 }
 
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 08/24] tests/docker: use fully qualified image name for emsdk
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (6 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 07/24] tests/docker/common: print errors to stderr marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:08   ` Daniel P. Berrangé
  2025-09-21  3:19   ` Kohei Tokunaga
  2025-09-19 13:33 ` [PATCH 09/24] tests/docker/common: print meson log on configure failure marcandre.lureau
                   ` (15 subsequent siblings)
  23 siblings, 2 replies; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Without it, at least it fails with podman on fc42:
[1/6] STEP 1/15: FROM emscripten/emsdk:3.1.50 AS build-base
Error: creating build container: short-name resolution enforced but cannot prompt without a TTY
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/docker/dockerfiles/emsdk-wasm32-cross.docker | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/docker/dockerfiles/emsdk-wasm32-cross.docker b/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
index 60a7d02f56..6b1642a207 100644
--- a/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
+++ b/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
@@ -8,7 +8,7 @@ ARG PIXMAN_VERSION=0.44.2
 ARG FFI_VERSION=v3.4.7
 ARG MESON_VERSION=1.5.0
 
-FROM emscripten/emsdk:$EMSDK_VERSION_QEMU AS build-base
+FROM docker.io/emscripten/emsdk:$EMSDK_VERSION_QEMU AS build-base
 ARG MESON_VERSION
 ENV TARGET=/builddeps/target
 ENV CPATH="$TARGET/include"
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 09/24] tests/docker/common: print meson log on configure failure
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (7 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 08/24] tests/docker: use fully qualified image name for emsdk marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:09   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 10/24] lcitool: update, switch to f41 marcandre.lureau
                   ` (14 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/docker/common.rc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index 2ed2365a61..d202c0c666 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -50,7 +50,7 @@ configure_qemu()
     echo "Configure options:"
     echo $config_opts
     $QEMU_SRC/configure $config_opts || \
-        { cat config.log >&2 && test_fail "Failed to run 'configure'"; }
+        { cat config.log >&2 ; cat meson-logs/meson-log.txt >&2 ; test_fail "Failed to run 'configure'"; }
 }
 
 build_qemu()
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 10/24] lcitool: update, switch to f41
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (8 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 09/24] tests/docker/common: print meson log on configure failure marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:10   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 11/24] lcitool/qemu: include libclang-rt for TSAN marcandre.lureau
                   ` (13 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml   |  3 ++-
 scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml     |  3 ++-
 tests/docker/dockerfiles/alpine.docker             |  2 +-
 tests/docker/dockerfiles/debian-amd64-cross.docker |  5 ++++-
 tests/docker/dockerfiles/debian-arm64-cross.docker |  5 ++++-
 tests/docker/dockerfiles/debian-armhf-cross.docker |  5 ++++-
 tests/docker/dockerfiles/debian-i686-cross.docker  |  5 ++++-
 .../dockerfiles/debian-mips64el-cross.docker       |  5 ++++-
 .../docker/dockerfiles/debian-mipsel-cross.docker  |  5 ++++-
 .../docker/dockerfiles/debian-ppc64el-cross.docker |  5 ++++-
 .../docker/dockerfiles/debian-riscv64-cross.docker |  8 ++++++--
 tests/docker/dockerfiles/debian-s390x-cross.docker |  5 ++++-
 tests/docker/dockerfiles/debian.docker             |  5 ++++-
 .../docker/dockerfiles/fedora-rust-nightly.docker  | 14 ++++++++------
 tests/docker/dockerfiles/fedora-win64-cross.docker | 11 +++++++----
 tests/docker/dockerfiles/fedora.docker             | 14 ++++++++------
 tests/docker/dockerfiles/opensuse-leap.docker      |  4 ++--
 tests/docker/dockerfiles/ubuntu2204.docker         |  5 ++++-
 tests/lcitool/projects/qemu.yml                    |  1 -
 tests/lcitool/refresh                              |  6 +++---
 20 files changed, 79 insertions(+), 37 deletions(-)
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
index f11e980826..bbcb5dd4ac 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
@@ -95,7 +95,6 @@ packages:
   - llvm
   - locales
   - make
-  - meson
   - mtools
   - multipath-tools
   - ncat
@@ -108,10 +107,12 @@ packages:
   - python3-opencv
   - python3-pillow
   - python3-pip
+  - python3-setuptools
   - python3-sphinx
   - python3-sphinx-rtd-theme
   - python3-tomli
   - python3-venv
+  - python3-wheel
   - python3-yaml
   - rpm2cpio
   - rustc-1.77
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
index 6559cb2934..00eb1b0f91 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
@@ -93,7 +93,6 @@ packages:
   - llvm
   - locales
   - make
-  - meson
   - mtools
   - multipath-tools
   - ncat
@@ -106,10 +105,12 @@ packages:
   - python3-opencv
   - python3-pillow
   - python3-pip
+  - python3-setuptools
   - python3-sphinx
   - python3-sphinx-rtd-theme
   - python3-tomli
   - python3-venv
+  - python3-wheel
   - python3-yaml
   - rpm2cpio
   - rustc-1.77
diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index bf3bd5a30d..bd1ef5505d 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -78,7 +78,7 @@ RUN apk update && \
         nmap-ncat \
         numactl-dev \
         openssh-client \
-        pcre-dev \
+        pcre2-dev \
         pipewire-dev \
         pixman-dev \
         pkgconf \
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index 081f3e00f7..bba6de4e2d 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 91c555a36e..8bbcd75157 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index f0e2efcda0..455b84424c 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index 025beb1ce2..8b8993ffe4 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
index 4a941dd870..c89cb6c680 100644
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index 4d3e5d711b..4e10d9501f 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index 22b4457ba9..cf61cb7f4a 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-riscv64-cross.docker b/tests/docker/dockerfiles/debian-riscv64-cross.docker
index b0386cd3a1..79ec37616d 100644
--- a/tests/docker/dockerfiles/debian-riscv64-cross.docker
+++ b/tests/docker/dockerfiles/debian-riscv64-cross.docker
@@ -4,7 +4,7 @@
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:trixie-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -23,11 +23,13 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libglib2.0-dev \
                       locales \
                       make \
-                      meson \
                       ninja-build \
                       pkgconf \
                       python3 \
+                      python3-pip \
+                      python3-setuptools \
                       python3-venv \
+                      python3-wheel \
                       sed \
                       tar && \
     eatmydata apt-get autoremove -y && \
@@ -36,6 +38,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index 13ec52c8ad..1782e0e90f 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       ncat \
                       ninja-build \
@@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     dpkg-reconfigure locales && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index 0a57c1a1d3..62f89e4d8c 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -104,7 +104,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       multipath-tools \
                       ncat \
@@ -117,9 +116,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-web \
@@ -146,6 +147,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/fedora-rust-nightly.docker b/tests/docker/dockerfiles/fedora-rust-nightly.docker
index 4a033309b3..fd71dd8790 100644
--- a/tests/docker/dockerfiles/fedora-rust-nightly.docker
+++ b/tests/docker/dockerfiles/fedora-rust-nightly.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all fedora-40 qemu
+#  $ lcitool dockerfile --layers all fedora-41 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM registry.fedoraproject.org/fedora:40
+FROM registry.fedoraproject.org/fedora:41
 
 RUN dnf install -y nosync && \
     printf '#!/bin/sh\n\
@@ -91,7 +91,6 @@ exec "$@"\n' > /usr/bin/nosync && \
                lzo-devel \
                make \
                mesa-libgbm-devel \
-               meson \
                mtools \
                ncurses-devel \
                nettle-devel \
@@ -100,7 +99,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                numactl-devel \
                openssh-clients \
                pam-devel \
-               pcre-static \
+               pcre2-static \
                pipewire-devel \
                pixman-devel \
                pkgconfig \
@@ -111,9 +110,10 @@ exec "$@"\n' > /usr/bin/nosync && \
                python3-opencv \
                python3-pillow \
                python3-pip \
+               python3-setuptools \
                python3-sphinx \
                python3-sphinx_rtd_theme \
-               python3-zombie-imp \
+               python3-wheel \
                rdma-core-devel \
                rust \
                sed \
@@ -124,7 +124,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                spice-server-devel \
                swtpm \
                systemd-devel \
-               systemtap-sdt-devel \
+               systemtap-sdt-dtrace \
                tar \
                tesseract \
                tesseract-langpack-eng \
@@ -148,6 +148,8 @@ exec "$@"\n' > /usr/bin/nosync && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index a950344402..ed7d270984 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-40 qemu,qemu-win-installer
+#  $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-41 qemu,qemu-win-installer
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM registry.fedoraproject.org/fedora:40
+FROM registry.fedoraproject.org/fedora:41
 
 RUN dnf install -y nosync && \
     printf '#!/bin/sh\n\
@@ -38,7 +38,6 @@ exec "$@"\n' > /usr/bin/nosync && \
                hostname \
                llvm \
                make \
-               meson \
                mtools \
                ninja-build \
                nmap-ncat \
@@ -49,9 +48,10 @@ exec "$@"\n' > /usr/bin/nosync && \
                python3-opencv \
                python3-pillow \
                python3-pip \
+               python3-setuptools \
                python3-sphinx \
                python3-sphinx_rtd_theme \
-               python3-zombie-imp \
+               python3-wheel \
                rust \
                sed \
                socat \
@@ -69,6 +69,8 @@ exec "$@"\n' > /usr/bin/nosync && \
     nosync dnf clean all -y && \
     rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
@@ -90,6 +92,7 @@ RUN nosync dnf install -y \
                mingw64-gtk-vnc2 \
                mingw64-gtk3 \
                mingw64-libepoxy \
+               mingw64-libfdt \
                mingw64-libgcrypt \
                mingw64-libjpeg-turbo \
                mingw64-libpng \
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 014e3ccf17..e367c53c09 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all fedora-40 qemu
+#  $ lcitool dockerfile --layers all fedora-41 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM registry.fedoraproject.org/fedora:40
+FROM registry.fedoraproject.org/fedora:41
 
 RUN dnf install -y nosync && \
     printf '#!/bin/sh\n\
@@ -91,7 +91,6 @@ exec "$@"\n' > /usr/bin/nosync && \
                lzo-devel \
                make \
                mesa-libgbm-devel \
-               meson \
                mtools \
                ncurses-devel \
                nettle-devel \
@@ -100,7 +99,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                numactl-devel \
                openssh-clients \
                pam-devel \
-               pcre-static \
+               pcre2-static \
                pipewire-devel \
                pixman-devel \
                pkgconfig \
@@ -111,9 +110,10 @@ exec "$@"\n' > /usr/bin/nosync && \
                python3-opencv \
                python3-pillow \
                python3-pip \
+               python3-setuptools \
                python3-sphinx \
                python3-sphinx_rtd_theme \
-               python3-zombie-imp \
+               python3-wheel \
                rdma-core-devel \
                rust \
                sed \
@@ -124,7 +124,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                spice-server-devel \
                swtpm \
                systemd-devel \
-               systemtap-sdt-devel \
+               systemtap-sdt-dtrace \
                tar \
                tesseract \
                tesseract-langpack-eng \
@@ -148,6 +148,8 @@ exec "$@"\n' > /usr/bin/nosync && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index e90225dc23..60763857bb 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -89,7 +89,7 @@ RUN zypper update -y && \
            ninja \
            openssh \
            pam-devel \
-           pcre-devel-static \
+           pcre2-devel-static \
            pipewire-devel \
            pkgconfig \
            python311 \
@@ -132,7 +132,7 @@ RUN zypper update -y && \
 
 RUN /usr/bin/pip3.11 install \
                      PyYAML \
-                     meson==1.5.0 \
+                     meson==1.8.1 \
                      pillow \
                      sphinx \
                      sphinx-rtd-theme
diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
index 28a6f93243..ea67c7602a 100644
--- a/tests/docker/dockerfiles/ubuntu2204.docker
+++ b/tests/docker/dockerfiles/ubuntu2204.docker
@@ -102,7 +102,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       llvm \
                       locales \
                       make \
-                      meson \
                       mtools \
                       multipath-tools \
                       ncat \
@@ -115,10 +114,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
+                      python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
                       python3-tomli \
                       python3-venv \
+                      python3-wheel \
                       python3-yaml \
                       rpm2cpio \
                       rustc-1.77 \
@@ -145,6 +146,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
     ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 
+RUN /usr/bin/pip3 install meson==1.8.1
+
 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index c07242f272..f22fc46fdc 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -91,7 +91,6 @@ packages:
  - pkg-config
  - pulseaudio
  - python3
- - python3-imp
  - python3-numpy
  - python3-opencv
  - python3-pillow
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index d3488b2679..f49eb638f8 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -171,7 +171,7 @@ try:
     generate_dockerfile("centos9", "centos-stream-9")
     generate_dockerfile("debian", "debian-12",
                         trailer="".join(debian12_extras))
-    generate_dockerfile("fedora", "fedora-40")
+    generate_dockerfile("fedora", "fedora-41")
     generate_dockerfile("opensuse-leap", "opensuse-leap-15")
     generate_dockerfile("ubuntu2204", "ubuntu-2204",
                         trailer="".join(ubuntu2204_rust_extras))
@@ -179,7 +179,7 @@ try:
     #
     # Non-fatal Rust-enabled build
     #
-    generate_dockerfile("fedora-rust-nightly", "fedora-40",
+    generate_dockerfile("fedora-rust-nightly", "fedora-41",
                         trailer="".join(fedora_rustup_nightly_extras))
 
     #
@@ -237,7 +237,7 @@ try:
                         trailer=cross_build("s390x-linux-gnu-",
                                             "s390x-softmmu,s390x-linux-user"))
 
-    generate_dockerfile("fedora-win64-cross", "fedora-40",
+    generate_dockerfile("fedora-win64-cross", "fedora-41",
                         project='qemu,qemu-win-installer',
                         cross="mingw64",
                         trailer=cross_build("x86_64-w64-mingw32-",
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 11/24] lcitool/qemu: include libclang-rt for TSAN
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (9 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 10/24] lcitool: update, switch to f41 marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:10   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 12/24] lcitool/alpine: workaround bindgen issue marcandre.lureau
                   ` (12 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml      | 1 +
 scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml        | 1 +
 tests/docker/dockerfiles/centos9.docker               | 1 +
 tests/docker/dockerfiles/debian-amd64-cross.docker    | 1 +
 tests/docker/dockerfiles/debian-arm64-cross.docker    | 1 +
 tests/docker/dockerfiles/debian-armhf-cross.docker    | 1 +
 tests/docker/dockerfiles/debian-i686-cross.docker     | 1 +
 tests/docker/dockerfiles/debian-mips64el-cross.docker | 1 +
 tests/docker/dockerfiles/debian-mipsel-cross.docker   | 1 +
 tests/docker/dockerfiles/debian-ppc64el-cross.docker  | 1 +
 tests/docker/dockerfiles/debian-s390x-cross.docker    | 1 +
 tests/docker/dockerfiles/debian.docker                | 1 +
 tests/docker/dockerfiles/fedora-rust-nightly.docker   | 1 +
 tests/docker/dockerfiles/fedora-win64-cross.docker    | 1 +
 tests/docker/dockerfiles/fedora.docker                | 1 +
 tests/docker/dockerfiles/opensuse-leap.docker         | 1 +
 tests/docker/dockerfiles/ubuntu2204.docker            | 1 +
 tests/lcitool/projects/qemu.yml                       | 1 +
 18 files changed, 18 insertions(+)
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
index bbcb5dd4ac..f446217f2c 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
@@ -36,6 +36,7 @@ packages:
   - libcap-ng-dev
   - libcapstone-dev
   - libcbor-dev
+  - libclang-dev
   - libcmocka-dev
   - libcurl4-gnutls-dev
   - libdaxctl-dev
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
index 00eb1b0f91..25c3368c54 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
@@ -36,6 +36,7 @@ packages:
   - libcap-ng-dev
   - libcapstone-dev
   - libcbor-dev
+  - libclang-dev
   - libcmocka-dev
   - libcurl4-gnutls-dev
   - libdaxctl-dev
diff --git a/tests/docker/dockerfiles/centos9.docker b/tests/docker/dockerfiles/centos9.docker
index a942835a1d..33c62033ce 100644
--- a/tests/docker/dockerfiles/centos9.docker
+++ b/tests/docker/dockerfiles/centos9.docker
@@ -25,6 +25,7 @@ RUN dnf distro-sync -y && \
         capstone-devel \
         ccache \
         clang \
+        compiler-rt \
         ctags \
         cyrus-sasl-devel \
         daxctl-devel \
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index bba6de4e2d..d4d3cebfdc 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 8bbcd75157..cd9c9a0def 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index 455b84424c..21a5bbc81d 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index 8b8993ffe4..c41a4805fe 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
index c89cb6c680..77d5d43f4b 100644
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index 4e10d9501f..9e60fe0eb4 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index cf61cb7f4a..dc683bd498 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index 1782e0e90f..ef6e961460 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -30,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       gettext \
                       git \
                       hostname \
+                      libclang-rt-dev \
                       libglib2.0-dev \
                       llvm \
                       locales \
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index 62f89e4d8c..ef9ba62f2a 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -43,6 +43,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libcap-ng-dev \
                       libcapstone-dev \
                       libcbor-dev \
+                      libclang-rt-dev \
                       libcmocka-dev \
                       libcurl4-gnutls-dev \
                       libdaxctl-dev \
diff --git a/tests/docker/dockerfiles/fedora-rust-nightly.docker b/tests/docker/dockerfiles/fedora-rust-nightly.docker
index fd71dd8790..bdbcebda8d 100644
--- a/tests/docker/dockerfiles/fedora-rust-nightly.docker
+++ b/tests/docker/dockerfiles/fedora-rust-nightly.docker
@@ -32,6 +32,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                capstone-devel \
                ccache \
                clang \
+               compiler-rt \
                ctags \
                cyrus-sasl-devel \
                daxctl-devel \
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index ed7d270984..3c54486d2f 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -25,6 +25,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                bzip2 \
                ca-certificates \
                ccache \
+               compiler-rt \
                ctags \
                dbus-daemon \
                diffutils \
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index e367c53c09..f758efd2b7 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -32,6 +32,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                capstone-devel \
                ccache \
                clang \
+               compiler-rt \
                ctags \
                cyrus-sasl-devel \
                daxctl-devel \
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index 60763857bb..d71dbc30c7 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -19,6 +19,7 @@ RUN zypper update -y && \
            ca-certificates \
            ccache \
            clang \
+           clang-devel \
            ctags \
            cyrus-sasl-devel \
            dbus-1 \
diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
index ea67c7602a..146ad7fce2 100644
--- a/tests/docker/dockerfiles/ubuntu2204.docker
+++ b/tests/docker/dockerfiles/ubuntu2204.docker
@@ -42,6 +42,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libcap-ng-dev \
                       libcapstone-dev \
                       libcbor-dev \
+                      libclang-dev \
                       libcmocka-dev \
                       libcurl4-gnutls-dev \
                       libdaxctl-dev \
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index f22fc46fdc..301d0e1ea0 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -44,6 +44,7 @@ packages:
  - libcacard
  - libcap-ng
  - libcbor
+ - libclang-rt
  - libcurl
  - libdrm
  - libepoxy
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 12/24] lcitool/alpine: workaround bindgen issue
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (10 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 11/24] lcitool/qemu: include libclang-rt for TSAN marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:10   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 13/24] tests/lcitool: add missing rust-std dep marcandre.lureau
                   ` (11 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/docker/dockerfiles/alpine.docker | 2 ++
 tests/lcitool/refresh                  | 8 +++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index bd1ef5505d..b50fbc3dba 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -131,6 +131,8 @@ ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
+# https://gitlab.alpinelinux.org/alpine/aports/-/issues/17463
+RUN apk add clang19-libclang
 # As a final step configure the user (if env is defined)
 ARG USER
 ARG UID
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index f49eb638f8..6f98a91277 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -97,6 +97,11 @@ def generate_yaml(os, target, arch, trailer=None):
     generate(filename, cmd, trailer)
 
 
+alpine_extras = [
+    "# https://gitlab.alpinelinux.org/alpine/aports/-/issues/17463\n",
+    "RUN apk add clang19-libclang\n",
+]
+
 # Netmap still needs to be manually built as it is yet to be packaged
 # into a distro. We also add cscope and gtags which are used in the CI
 # test
@@ -167,7 +172,8 @@ try:
     #
     # Standard native builds
     #
-    generate_dockerfile("alpine", "alpine-321")
+    generate_dockerfile("alpine", "alpine-321",
+                        trailer="".join(alpine_extras))
     generate_dockerfile("centos9", "centos-stream-9")
     generate_dockerfile("debian", "debian-12",
                         trailer="".join(debian12_extras))
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 13/24] tests/lcitool: add missing rust-std dep
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (11 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 12/24] lcitool/alpine: workaround bindgen issue marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:11   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 14/24] tests: move mips to debian-legacy-test-cross marcandre.lureau
                   ` (10 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Some distros/targets may pull it by default, but some don't.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml      | 1 +
 scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml        | 1 +
 tests/docker/dockerfiles/centos9.docker               | 1 +
 tests/docker/dockerfiles/debian-amd64-cross.docker    | 1 +
 tests/docker/dockerfiles/debian-arm64-cross.docker    | 1 +
 tests/docker/dockerfiles/debian-armhf-cross.docker    | 1 +
 tests/docker/dockerfiles/debian-i686-cross.docker     | 1 +
 tests/docker/dockerfiles/debian-mips64el-cross.docker | 1 +
 tests/docker/dockerfiles/debian-mipsel-cross.docker   | 1 +
 tests/docker/dockerfiles/debian-ppc64el-cross.docker  | 1 +
 tests/docker/dockerfiles/debian-s390x-cross.docker    | 1 +
 tests/docker/dockerfiles/debian.docker                | 1 +
 tests/docker/dockerfiles/fedora-rust-nightly.docker   | 1 +
 tests/docker/dockerfiles/fedora-win64-cross.docker    | 3 ++-
 tests/docker/dockerfiles/fedora.docker                | 1 +
 tests/docker/dockerfiles/ubuntu2204.docker            | 1 +
 tests/lcitool/projects/qemu.yml                       | 1 +
 17 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
index f446217f2c..2ca4a5392f 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
@@ -81,6 +81,7 @@ packages:
   - libspice-protocol-dev
   - libspice-server-dev
   - libssh-dev
+  - libstd-rust-dev
   - libsystemd-dev
   - libtasn1-6-dev
   - libubsan1
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
index 25c3368c54..7198fbbcbb 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
@@ -80,6 +80,7 @@ packages:
   - libsndio-dev
   - libspice-protocol-dev
   - libssh-dev
+  - libstd-rust-dev
   - libsystemd-dev
   - libtasn1-6-dev
   - libubsan1
diff --git a/tests/docker/dockerfiles/centos9.docker b/tests/docker/dockerfiles/centos9.docker
index 33c62033ce..e7fc688ee9 100644
--- a/tests/docker/dockerfiles/centos9.docker
+++ b/tests/docker/dockerfiles/centos9.docker
@@ -105,6 +105,7 @@ RUN dnf distro-sync -y && \
         python3-tomli \
         rdma-core-devel \
         rust \
+        rust-std-static \
         sed \
         snappy-devel \
         socat \
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index d4d3cebfdc..f3ad2205a7 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -141,6 +141,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev:amd64 \
                       libspice-server-dev:amd64 \
                       libssh-dev:amd64 \
+                      libstd-rust-dev:amd64 \
                       libsystemd-dev:amd64 \
                       libtasn1-6-dev:amd64 \
                       libubsan1:amd64 \
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index cd9c9a0def..7d42227fa1 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -140,6 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev:arm64 \
                       libspice-server-dev:arm64 \
                       libssh-dev:arm64 \
+                      libstd-rust-dev:arm64 \
                       libsystemd-dev:arm64 \
                       libtasn1-6-dev:arm64 \
                       libubsan1:arm64 \
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index 21a5bbc81d..8ad4d2bebf 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -140,6 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev:armhf \
                       libspice-server-dev:armhf \
                       libssh-dev:armhf \
+                      libstd-rust-dev:armhf \
                       libsystemd-dev:armhf \
                       libtasn1-6-dev:armhf \
                       libubsan1:armhf \
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index c41a4805fe..e7e8d8e0f1 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -140,6 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev:i386 \
                       libspice-server-dev:i386 \
                       libssh-dev:i386 \
+                      libstd-rust-dev:i386 \
                       libsystemd-dev:i386 \
                       libtasn1-6-dev:i386 \
                       libubsan1:i386 \
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
index 77d5d43f4b..cca04a4594 100644
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
@@ -139,6 +139,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev:mips64el \
                       libspice-server-dev:mips64el \
                       libssh-dev:mips64el \
+                      libstd-rust-dev:mips64el \
                       libsystemd-dev:mips64el \
                       libtasn1-6-dev:mips64el \
                       libudev-dev:mips64el \
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index 9e60fe0eb4..59c6f92248 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -139,6 +139,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev:mipsel \
                       libspice-server-dev:mipsel \
                       libssh-dev:mipsel \
+                      libstd-rust-dev:mipsel \
                       libsystemd-dev:mipsel \
                       libtasn1-6-dev:mipsel \
                       libudev-dev:mipsel \
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index dc683bd498..97ef64d934 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -140,6 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev:ppc64el \
                       libspice-server-dev:ppc64el \
                       libssh-dev:ppc64el \
+                      libstd-rust-dev:ppc64el \
                       libsystemd-dev:ppc64el \
                       libtasn1-6-dev:ppc64el \
                       libubsan1:ppc64el \
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index ef6e961460..3afe91494d 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -139,6 +139,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libsndio-dev:s390x \
                       libspice-protocol-dev:s390x \
                       libssh-dev:s390x \
+                      libstd-rust-dev:s390x \
                       libsystemd-dev:s390x \
                       libtasn1-6-dev:s390x \
                       libubsan1:s390x \
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index ef9ba62f2a..f68fcc83a9 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -89,6 +89,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev \
                       libspice-server-dev \
                       libssh-dev \
+                      libstd-rust-dev \
                       libsystemd-dev \
                       libtasn1-6-dev \
                       libubsan1 \
diff --git a/tests/docker/dockerfiles/fedora-rust-nightly.docker b/tests/docker/dockerfiles/fedora-rust-nightly.docker
index bdbcebda8d..167246f0f5 100644
--- a/tests/docker/dockerfiles/fedora-rust-nightly.docker
+++ b/tests/docker/dockerfiles/fedora-rust-nightly.docker
@@ -117,6 +117,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                python3-wheel \
                rdma-core-devel \
                rust \
+               rust-std-static \
                sed \
                snappy-devel \
                socat \
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index 3c54486d2f..c76a70c368 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -100,7 +100,8 @@ RUN nosync dnf install -y \
                mingw64-libtasn1 \
                mingw64-nettle \
                mingw64-pixman \
-               mingw64-pkg-config && \
+               mingw64-pkg-config \
+               rust-std-static-x86_64-pc-windows-gnu && \
     nosync dnf clean all -y && \
     rpm -qa | sort > /packages.txt && \
     mkdir -p /usr/libexec/ccache-wrappers && \
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index f758efd2b7..56a1ad8a18 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -117,6 +117,7 @@ exec "$@"\n' > /usr/bin/nosync && \
                python3-wheel \
                rdma-core-devel \
                rust \
+               rust-std-static \
                sed \
                snappy-devel \
                socat \
diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
index 146ad7fce2..b393db55a8 100644
--- a/tests/docker/dockerfiles/ubuntu2204.docker
+++ b/tests/docker/dockerfiles/ubuntu2204.docker
@@ -88,6 +88,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libspice-protocol-dev \
                       libspice-server-dev \
                       libssh-dev \
+                      libstd-rust-dev \
                       libsystemd-dev \
                       libtasn1-6-dev \
                       libubsan1 \
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index 301d0e1ea0..82812e7736 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -104,6 +104,7 @@ packages:
  - python3-venv
  - rpm2cpio
  - rust
+ - rust-std
  - sdl2
  - sdl2-image
  - sed
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 14/24] tests: move mips to debian-legacy-test-cross
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (12 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 13/24] tests/lcitool: add missing rust-std dep marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:21   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 15/24] tests/lcitool: update to debian13 marcandre.lureau
                   ` (9 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
We are updating debian which dropped support for it:
https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
Cc: alex.bennee@linaro.org
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 configure                                     |   2 +-
 .gitlab-ci.d/buildtest.yml                    |   6 +-
 .gitlab-ci.d/container-cross.yml              |  12 --
 .gitlab-ci.d/crossbuild-template.yml          |   4 +-
 .gitlab-ci.d/crossbuilds.yml                  |  36 ----
 tests/docker/Makefile.include                 |   1 -
 .../dockerfiles/debian-all-test-cross.docker  |   8 -
 .../debian-legacy-test-cross.docker           |   5 +
 .../dockerfiles/debian-mips64el-cross.docker  | 185 ------------------
 .../dockerfiles/debian-mipsel-cross.docker    | 185 ------------------
 tests/lcitool/libvirt-ci                      |   2 +-
 tests/lcitool/refresh                         |  10 -
 12 files changed, 12 insertions(+), 444 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/debian-mips64el-cross.docker
 delete mode 100644 tests/docker/dockerfiles/debian-mipsel-cross.docker
diff --git a/configure b/configure
index c2f4534964..8d84e3c5c0 100755
--- a/configure
+++ b/configure
@@ -1505,7 +1505,7 @@ probe_target_compiler() {
         container_cross_prefix=microblaze-linux-musl-
         ;;
       mips64el)
-        container_image=debian-all-test-cross
+        container_image=debian-legacy-test-cross
         container_cross_prefix=mips64el-linux-gnuabi64-
         ;;
       tricore)
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index f8d7b6c3ac..8378b663b6 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -368,7 +368,7 @@ build-user:
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system
-      --target-list-exclude=alpha-linux-user,sh4-linux-user
+      --target-list-exclude=alpha-linux-user,sh4-linux-user,mips-linux-user,mipsel-linux-user,mips64-linux-user
     MAKE_CHECK_ARGS: check-tcg
 
 build-user-static:
@@ -378,7 +378,7 @@ build-user-static:
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system --static
-      --target-list-exclude=alpha-linux-user,sh4-linux-user
+      --target-list-exclude=alpha-linux-user,sh4-linux-user,mips-linux-user,mipsel-linux-user,mips64-linux-user
     MAKE_CHECK_ARGS: check-tcg
 
 # targets stuck on older compilers
@@ -388,7 +388,7 @@ build-legacy:
     - job: amd64-debian-legacy-cross-container
   variables:
     IMAGE: debian-legacy-test-cross
-    TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
+    TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user mips-linux-user mips-softmmu mipsel-linux-user mipsel-softmmu mips64-linux-user mips64-softmmu
     CONFIGURE_ARGS: --disable-tools
     MAKE_CHECK_ARGS: check-tcg
 
diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 8d3be53b75..818ddb38ce 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -46,18 +46,6 @@ i686-debian-cross-container:
   variables:
     NAME: debian-i686-cross
 
-mips64el-debian-cross-container:
-  extends: .container_job_template
-  stage: containers
-  variables:
-    NAME: debian-mips64el-cross
-
-mipsel-debian-cross-container:
-  extends: .container_job_template
-  stage: containers
-  variables:
-    NAME: debian-mipsel-cross
-
 ppc64el-debian-cross-container:
   extends: .container_job_template
   stage: containers
diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
index 58136d06e4..751a6626e5 100644
--- a/.gitlab-ci.d/crossbuild-template.yml
+++ b/.gitlab-ci.d/crossbuild-template.yml
@@ -26,8 +26,8 @@
     - ../configure --enable-werror --disable-docs --enable-fdt=system
         --disable-user $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS
         --target-list-exclude="arm-softmmu
-          i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
-          mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
+          i386-softmmu microblaze-softmmu
+          ppc-softmmu riscv32-softmmu sh4-softmmu
           sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS"
     - section_end configure
     - section_start build "Building QEMU"
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 8ff0c27f74..541bd426f0 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -68,34 +68,6 @@ cross-i686-tci:
     # would otherwise be using a parallelism of 9.
     MAKE_CHECK_ARGS: check check-tcg -j2
 
-cross-mipsel-system:
-  extends: .cross_system_build_job
-  needs:
-    - job: mipsel-debian-cross-container
-  variables:
-    IMAGE: debian-mipsel-cross
-
-cross-mipsel-user:
-  extends: .cross_user_build_job
-  needs:
-    - job: mipsel-debian-cross-container
-  variables:
-    IMAGE: debian-mipsel-cross
-
-cross-mips64el-system:
-  extends: .cross_system_build_job
-  needs:
-    - job: mips64el-debian-cross-container
-  variables:
-    IMAGE: debian-mips64el-cross
-
-cross-mips64el-user:
-  extends: .cross_user_build_job
-  needs:
-    - job: mips64el-debian-cross-container
-  variables:
-    IMAGE: debian-mips64el-cross
-
 cross-ppc64el-system:
   extends: .cross_system_build_job
   needs:
@@ -154,14 +126,6 @@ cross-s390x-kvm-only:
     IMAGE: debian-s390x-cross
     EXTRA_CONFIGURE_OPTS: --disable-tcg --enable-trace-backends=ftrace
 
-cross-mips64el-kvm-only:
-  extends: .cross_accel_build_job
-  needs:
-    - job: mips64el-debian-cross-container
-  variables:
-    IMAGE: debian-mips64el-cross
-    EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
-
 cross-win64-system:
   extends: .cross_system_build_job
   needs:
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 3959d8a028..4e9b5b9818 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -82,7 +82,6 @@ endif
 
 # For non-x86 hosts not all cross-compilers have been packaged
 ifneq ($(HOST_ARCH),x86_64)
-DOCKER_PARTIAL_IMAGES += debian-mipsel-cross debian-mips64el-cross
 DOCKER_PARTIAL_IMAGES += debian-ppc64el-cross
 DOCKER_PARTIAL_IMAGES += debian-s390x-cross
 DOCKER_PARTIAL_IMAGES += fedora
diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index 420a4e33e6..7ec54c7125 100644
--- a/tests/docker/dockerfiles/debian-all-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
@@ -40,14 +40,6 @@ ENV AVAILABLE_COMPILERS gcc-aarch64-linux-gnu \
         libc6-dev-arm64-cross \
         gcc-arm-linux-gnueabihf \
         libc6-dev-armhf-cross \
-        gcc-mips-linux-gnu \
-        libc6-dev-mips-cross \
-        gcc-mips64-linux-gnuabi64 \
-        libc6-dev-mips64-cross \
-        gcc-mips64el-linux-gnuabi64 \
-        libc6-dev-mips64el-cross \
-        gcc-mipsel-linux-gnu \
-        libc6-dev-mipsel-cross \
         gcc-powerpc64le-linux-gnu \
         libc6-dev-ppc64el-cross \
         gcc-riscv64-linux-gnu \
diff --git a/tests/docker/dockerfiles/debian-legacy-test-cross.docker b/tests/docker/dockerfiles/debian-legacy-test-cross.docker
index 5a6616b7d3..8c922b47f5 100644
--- a/tests/docker/dockerfiles/debian-legacy-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-legacy-test-cross.docker
@@ -5,6 +5,7 @@
 #
 #   libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
 #   sh4-linux-user: binaries don't run with bookworm compiler
+#   mips: https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
 #
 # As we are targeting check-tcg here we only need minimal qemu
 # dependencies and the relevant cross compilers.
@@ -33,6 +34,10 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
         libc6.1-dev-alpha-cross \
         gcc-sh4-linux-gnu \
         libc6-dev-sh4-cross \
+        gcc-mips64el-linux-gnuabi64 \
+        libc6-dev-mips64el-cross \
+        gcc-mipsel-linux-gnu \
+        libc6-dev-mipsel-cross \
         python3-pip \
         python3-setuptools \
         python3-venv \
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
deleted file mode 100644
index cca04a4594..0000000000
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ /dev/null
@@ -1,185 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-#  $ lcitool dockerfile --layers all --cross-arch mips64el debian-12 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:12-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
-    apt-get update && \
-    apt-get install -y eatmydata && \
-    eatmydata apt-get dist-upgrade -y && \
-    eatmydata apt-get install --no-install-recommends -y \
-                      bash \
-                      bc \
-                      bindgen \
-                      bison \
-                      bsdextrautils \
-                      bzip2 \
-                      ca-certificates \
-                      ccache \
-                      dbus \
-                      debianutils \
-                      diffutils \
-                      exuberant-ctags \
-                      findutils \
-                      flex \
-                      gcc \
-                      gcovr \
-                      gettext \
-                      git \
-                      hostname \
-                      libclang-rt-dev \
-                      libglib2.0-dev \
-                      llvm \
-                      locales \
-                      make \
-                      mtools \
-                      ncat \
-                      ninja-build \
-                      openssh-client \
-                      pkgconf \
-                      python3 \
-                      python3-numpy \
-                      python3-opencv \
-                      python3-pillow \
-                      python3-pip \
-                      python3-setuptools \
-                      python3-sphinx \
-                      python3-sphinx-rtd-theme \
-                      python3-venv \
-                      python3-wheel \
-                      python3-yaml \
-                      rpm2cpio \
-                      rustc-web \
-                      sed \
-                      socat \
-                      sparse \
-                      swtpm \
-                      tar \
-                      tesseract-ocr \
-                      tesseract-ocr-eng \
-                      vulkan-tools \
-                      xorriso \
-                      zstd && \
-    eatmydata apt-get autoremove -y && \
-    eatmydata apt-get autoclean -y && \
-    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
-    dpkg-reconfigure locales && \
-    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-RUN /usr/bin/pip3 install meson==1.8.1
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
-    dpkg --add-architecture mips64el && \
-    eatmydata apt-get update && \
-    eatmydata apt-get dist-upgrade -y && \
-    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
-    eatmydata apt-get install --no-install-recommends -y \
-                      gcc-mips64el-linux-gnuabi64 \
-                      libaio-dev:mips64el \
-                      libasound2-dev:mips64el \
-                      libattr1-dev:mips64el \
-                      libbpf-dev:mips64el \
-                      libbrlapi-dev:mips64el \
-                      libbz2-dev:mips64el \
-                      libc6-dev:mips64el \
-                      libcacard-dev:mips64el \
-                      libcap-ng-dev:mips64el \
-                      libcapstone-dev:mips64el \
-                      libcbor-dev:mips64el \
-                      libcmocka-dev:mips64el \
-                      libcurl4-gnutls-dev:mips64el \
-                      libdaxctl-dev:mips64el \
-                      libdrm-dev:mips64el \
-                      libepoxy-dev:mips64el \
-                      libfdt-dev:mips64el \
-                      libffi-dev:mips64el \
-                      libfuse3-dev:mips64el \
-                      libgbm-dev:mips64el \
-                      libgcrypt20-dev:mips64el \
-                      libglib2.0-dev:mips64el \
-                      libglusterfs-dev:mips64el \
-                      libgnutls28-dev:mips64el \
-                      libgtk-3-dev:mips64el \
-                      libgtk-vnc-2.0-dev:mips64el \
-                      libibverbs-dev:mips64el \
-                      libiscsi-dev:mips64el \
-                      libjemalloc-dev:mips64el \
-                      libjpeg62-turbo-dev:mips64el \
-                      libjson-c-dev:mips64el \
-                      liblttng-ust-dev:mips64el \
-                      liblzo2-dev:mips64el \
-                      libncursesw5-dev:mips64el \
-                      libnfs-dev:mips64el \
-                      libnuma-dev:mips64el \
-                      libpam0g-dev:mips64el \
-                      libpcre2-dev:mips64el \
-                      libpipewire-0.3-dev:mips64el \
-                      libpixman-1-dev:mips64el \
-                      libpng-dev:mips64el \
-                      libpulse-dev:mips64el \
-                      librbd-dev:mips64el \
-                      librdmacm-dev:mips64el \
-                      libsasl2-dev:mips64el \
-                      libsdl2-dev:mips64el \
-                      libsdl2-image-dev:mips64el \
-                      libseccomp-dev:mips64el \
-                      libselinux1-dev:mips64el \
-                      libslirp-dev:mips64el \
-                      libsnappy-dev:mips64el \
-                      libsndio-dev:mips64el \
-                      libspice-protocol-dev:mips64el \
-                      libspice-server-dev:mips64el \
-                      libssh-dev:mips64el \
-                      libstd-rust-dev:mips64el \
-                      libsystemd-dev:mips64el \
-                      libtasn1-6-dev:mips64el \
-                      libudev-dev:mips64el \
-                      liburing-dev:mips64el \
-                      libusb-1.0-0-dev:mips64el \
-                      libusbredirhost-dev:mips64el \
-                      libvdeplug-dev:mips64el \
-                      libvirglrenderer-dev:mips64el \
-                      libvte-2.91-dev:mips64el \
-                      libxdp-dev:mips64el \
-                      libzstd-dev:mips64el \
-                      nettle-dev:mips64el \
-                      systemtap-sdt-dev:mips64el \
-                      zlib1g-dev:mips64el && \
-    eatmydata apt-get autoremove -y && \
-    eatmydata apt-get autoclean -y && \
-    mkdir -p /usr/local/share/meson/cross && \
-    printf "[binaries]\n\
-c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
-ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
-strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
-pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips64'\n\
-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-cc && \
-    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
-
-ENV ABI "mips64el-linux-gnuabi64"
-ENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
-ENV RUST_TARGET "mips64el-unknown-linux-gnuabi64"
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=mips64el-linux-gnuabi64-
-ENV DEF_TARGET_LIST mips64el-softmmu,mips64el-linux-user
-# As a final step configure the user (if env is defined)
-ARG USER
-ARG UID
-RUN if [ "${USER}" ]; then \
-  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
deleted file mode 100644
index 59c6f92248..0000000000
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ /dev/null
@@ -1,185 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-#  $ lcitool dockerfile --layers all --cross-arch mipsel debian-12 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:12-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
-    apt-get update && \
-    apt-get install -y eatmydata && \
-    eatmydata apt-get dist-upgrade -y && \
-    eatmydata apt-get install --no-install-recommends -y \
-                      bash \
-                      bc \
-                      bindgen \
-                      bison \
-                      bsdextrautils \
-                      bzip2 \
-                      ca-certificates \
-                      ccache \
-                      dbus \
-                      debianutils \
-                      diffutils \
-                      exuberant-ctags \
-                      findutils \
-                      flex \
-                      gcc \
-                      gcovr \
-                      gettext \
-                      git \
-                      hostname \
-                      libclang-rt-dev \
-                      libglib2.0-dev \
-                      llvm \
-                      locales \
-                      make \
-                      mtools \
-                      ncat \
-                      ninja-build \
-                      openssh-client \
-                      pkgconf \
-                      python3 \
-                      python3-numpy \
-                      python3-opencv \
-                      python3-pillow \
-                      python3-pip \
-                      python3-setuptools \
-                      python3-sphinx \
-                      python3-sphinx-rtd-theme \
-                      python3-venv \
-                      python3-wheel \
-                      python3-yaml \
-                      rpm2cpio \
-                      rustc-web \
-                      sed \
-                      socat \
-                      sparse \
-                      swtpm \
-                      tar \
-                      tesseract-ocr \
-                      tesseract-ocr-eng \
-                      vulkan-tools \
-                      xorriso \
-                      zstd && \
-    eatmydata apt-get autoremove -y && \
-    eatmydata apt-get autoclean -y && \
-    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
-    dpkg-reconfigure locales && \
-    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-RUN /usr/bin/pip3 install meson==1.8.1
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
-    dpkg --add-architecture mipsel && \
-    eatmydata apt-get update && \
-    eatmydata apt-get dist-upgrade -y && \
-    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
-    eatmydata apt-get install --no-install-recommends -y \
-                      gcc-mipsel-linux-gnu \
-                      libaio-dev:mipsel \
-                      libasound2-dev:mipsel \
-                      libattr1-dev:mipsel \
-                      libbpf-dev:mipsel \
-                      libbrlapi-dev:mipsel \
-                      libbz2-dev:mipsel \
-                      libc6-dev:mipsel \
-                      libcacard-dev:mipsel \
-                      libcap-ng-dev:mipsel \
-                      libcapstone-dev:mipsel \
-                      libcbor-dev:mipsel \
-                      libcmocka-dev:mipsel \
-                      libcurl4-gnutls-dev:mipsel \
-                      libdaxctl-dev:mipsel \
-                      libdrm-dev:mipsel \
-                      libepoxy-dev:mipsel \
-                      libfdt-dev:mipsel \
-                      libffi-dev:mipsel \
-                      libfuse3-dev:mipsel \
-                      libgbm-dev:mipsel \
-                      libgcrypt20-dev:mipsel \
-                      libglib2.0-dev:mipsel \
-                      libglusterfs-dev:mipsel \
-                      libgnutls28-dev:mipsel \
-                      libgtk-3-dev:mipsel \
-                      libgtk-vnc-2.0-dev:mipsel \
-                      libibverbs-dev:mipsel \
-                      libiscsi-dev:mipsel \
-                      libjemalloc-dev:mipsel \
-                      libjpeg62-turbo-dev:mipsel \
-                      libjson-c-dev:mipsel \
-                      liblttng-ust-dev:mipsel \
-                      liblzo2-dev:mipsel \
-                      libncursesw5-dev:mipsel \
-                      libnfs-dev:mipsel \
-                      libnuma-dev:mipsel \
-                      libpam0g-dev:mipsel \
-                      libpcre2-dev:mipsel \
-                      libpipewire-0.3-dev:mipsel \
-                      libpixman-1-dev:mipsel \
-                      libpng-dev:mipsel \
-                      libpulse-dev:mipsel \
-                      librbd-dev:mipsel \
-                      librdmacm-dev:mipsel \
-                      libsasl2-dev:mipsel \
-                      libsdl2-dev:mipsel \
-                      libsdl2-image-dev:mipsel \
-                      libseccomp-dev:mipsel \
-                      libselinux1-dev:mipsel \
-                      libslirp-dev:mipsel \
-                      libsnappy-dev:mipsel \
-                      libsndio-dev:mipsel \
-                      libspice-protocol-dev:mipsel \
-                      libspice-server-dev:mipsel \
-                      libssh-dev:mipsel \
-                      libstd-rust-dev:mipsel \
-                      libsystemd-dev:mipsel \
-                      libtasn1-6-dev:mipsel \
-                      libudev-dev:mipsel \
-                      liburing-dev:mipsel \
-                      libusb-1.0-0-dev:mipsel \
-                      libusbredirhost-dev:mipsel \
-                      libvdeplug-dev:mipsel \
-                      libvirglrenderer-dev:mipsel \
-                      libvte-2.91-dev:mipsel \
-                      libxdp-dev:mipsel \
-                      libzstd-dev:mipsel \
-                      nettle-dev:mipsel \
-                      systemtap-sdt-dev:mipsel \
-                      zlib1g-dev:mipsel && \
-    eatmydata apt-get autoremove -y && \
-    eatmydata apt-get autoclean -y && \
-    mkdir -p /usr/local/share/meson/cross && \
-    printf "[binaries]\n\
-c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
-ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips'\n\
-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-cc && \
-    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
-
-ENV ABI "mipsel-linux-gnu"
-ENV MESON_OPTS "--cross-file=mipsel-linux-gnu"
-ENV RUST_TARGET "mipsel-unknown-linux-gnu"
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=mipsel-linux-gnu-
-ENV DEF_TARGET_LIST mipsel-softmmu,mipsel-linux-user
-# As a final step configure the user (if env is defined)
-ARG USER
-ARG UID
-RUN if [ "${USER}" ]; then \
-  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
index 7a92fe388f..9da20ff7c3 160000
--- a/tests/lcitool/libvirt-ci
+++ b/tests/lcitool/libvirt-ci
@@ -1 +1 @@
-Subproject commit 7a92fe388f55d1bbc33e639e3484533f88c542ec
+Subproject commit 9da20ff7c3bc9067804a7561c2ff87583b434853
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 6f98a91277..917ff4abfb 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -215,16 +215,6 @@ try:
                                             "x86_64-linux-user,"
                                             "i386-softmmu,i386-linux-user"))
 
-    generate_dockerfile("debian-mips64el-cross", "debian-12",
-                        cross="mips64el",
-                        trailer=cross_build("mips64el-linux-gnuabi64-",
-                                            "mips64el-softmmu,mips64el-linux-user"))
-
-    generate_dockerfile("debian-mipsel-cross", "debian-12",
-                        cross="mipsel",
-                        trailer=cross_build("mipsel-linux-gnu-",
-                                            "mipsel-softmmu,mipsel-linux-user"))
-
     generate_dockerfile("debian-ppc64el-cross", "debian-12",
                         cross="ppc64le",
                         trailer=cross_build("powerpc64le-linux-gnu-",
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 15/24] tests/lcitool: update to debian13
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (13 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 14/24] tests: move mips to debian-legacy-test-cross marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:21   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 16/24] build-sys: cfi_debug and safe_stack are not compatible marcandre.lureau
                   ` (8 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 .../dockerfiles/debian-amd64-cross.docker      |  9 +++++----
 .../dockerfiles/debian-arm64-cross.docker      |  9 +++++----
 .../dockerfiles/debian-armhf-cross.docker      | 12 +++++-------
 .../dockerfiles/debian-i686-cross.docker       | 11 +++++------
 .../dockerfiles/debian-ppc64el-cross.docker    |  9 +++++----
 .../dockerfiles/debian-s390x-cross.docker      |  9 +++++----
 tests/docker/dockerfiles/debian.docker         |  9 +++++----
 tests/lcitool/refresh                          | 18 +++++++++---------
 8 files changed, 44 insertions(+), 42 deletions(-)
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index f3ad2205a7..08621879dd 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all --cross-arch x86_64 debian-12 qemu
+#  $ lcitool dockerfile --layers all --cross-arch x86_64 debian-13 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -48,11 +48,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
+                      python3-tomli \
                       python3-venv \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-web \
+                      rustc \
                       sed \
                       socat \
                       sparse \
@@ -85,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get install --no-install-recommends -y \
                       gcc-x86-64-linux-gnu \
                       libaio-dev:amd64 \
-                      libasan6:amd64 \
+                      libasan8:amd64 \
                       libasound2-dev:amd64 \
                       libattr1-dev:amd64 \
                       libbpf-dev:amd64 \
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 7d42227fa1..725cccbee1 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all --cross-arch aarch64 debian-12 qemu
+#  $ lcitool dockerfile --layers all --cross-arch aarch64 debian-13 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -48,11 +48,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
+                      python3-tomli \
                       python3-venv \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-web \
+                      rustc \
                       sed \
                       socat \
                       sparse \
@@ -85,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get install --no-install-recommends -y \
                       gcc-aarch64-linux-gnu \
                       libaio-dev:arm64 \
-                      libasan6:arm64 \
+                      libasan8:arm64 \
                       libasound2-dev:arm64 \
                       libattr1-dev:arm64 \
                       libbpf-dev:arm64 \
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index 8ad4d2bebf..50f7e0e986 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all --cross-arch armv7l debian-12 qemu
+#  $ lcitool dockerfile --layers all --cross-arch armv7l debian-13 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -48,11 +48,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
+                      python3-tomli \
                       python3-venv \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-web \
+                      rustc \
                       sed \
                       socat \
                       sparse \
@@ -85,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get install --no-install-recommends -y \
                       gcc-arm-linux-gnueabihf \
                       libaio-dev:armhf \
-                      libasan6:armhf \
+                      libasan8:armhf \
                       libasound2-dev:armhf \
                       libattr1-dev:armhf \
                       libbpf-dev:armhf \
@@ -107,7 +108,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libgbm-dev:armhf \
                       libgcrypt20-dev:armhf \
                       libglib2.0-dev:armhf \
-                      libglusterfs-dev:armhf \
                       libgnutls28-dev:armhf \
                       libgtk-3-dev:armhf \
                       libgtk-vnc-2.0-dev:armhf \
@@ -127,7 +127,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libpixman-1-dev:armhf \
                       libpng-dev:armhf \
                       libpulse-dev:armhf \
-                      librbd-dev:armhf \
                       librdmacm-dev:armhf \
                       libsasl2-dev:armhf \
                       libsdl2-dev:armhf \
@@ -152,7 +151,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libvirglrenderer-dev:armhf \
                       libvte-2.91-dev:armhf \
                       libxdp-dev:armhf \
-                      libxen-dev:armhf \
                       libzstd-dev:armhf \
                       nettle-dev:armhf \
                       systemtap-sdt-dev:armhf \
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index e7e8d8e0f1..f53b77cb62 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all --cross-arch i686 debian-12 qemu
+#  $ lcitool dockerfile --layers all --cross-arch i686 debian-13 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -48,11 +48,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
+                      python3-tomli \
                       python3-venv \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-web \
+                      rustc \
                       sed \
                       socat \
                       sparse \
@@ -85,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get install --no-install-recommends -y \
                       gcc-i686-linux-gnu \
                       libaio-dev:i386 \
-                      libasan6:i386 \
+                      libasan8:i386 \
                       libasound2-dev:i386 \
                       libattr1-dev:i386 \
                       libbpf-dev:i386 \
@@ -107,7 +108,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libgbm-dev:i386 \
                       libgcrypt20-dev:i386 \
                       libglib2.0-dev:i386 \
-                      libglusterfs-dev:i386 \
                       libgnutls28-dev:i386 \
                       libgtk-3-dev:i386 \
                       libgtk-vnc-2.0-dev:i386 \
@@ -127,7 +127,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       libpixman-1-dev:i386 \
                       libpng-dev:i386 \
                       libpulse-dev:i386 \
-                      librbd-dev:i386 \
                       librdmacm-dev:i386 \
                       libsasl2-dev:i386 \
                       libsdl2-dev:i386 \
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index 97ef64d934..09de265c26 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all --cross-arch ppc64le debian-12 qemu
+#  $ lcitool dockerfile --layers all --cross-arch ppc64le debian-13 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -48,11 +48,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
+                      python3-tomli \
                       python3-venv \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-web \
+                      rustc \
                       sed \
                       socat \
                       sparse \
@@ -85,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get install --no-install-recommends -y \
                       gcc-powerpc64le-linux-gnu \
                       libaio-dev:ppc64el \
-                      libasan6:ppc64el \
+                      libasan8:ppc64el \
                       libasound2-dev:ppc64el \
                       libattr1-dev:ppc64el \
                       libbpf-dev:ppc64el \
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index 3afe91494d..d7b2ca99ce 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all --cross-arch s390x debian-12 qemu
+#  $ lcitool dockerfile --layers all --cross-arch s390x debian-13 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -48,11 +48,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
+                      python3-tomli \
                       python3-venv \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-web \
+                      rustc \
                       sed \
                       socat \
                       sparse \
@@ -85,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
     eatmydata apt-get install --no-install-recommends -y \
                       gcc-s390x-linux-gnu \
                       libaio-dev:s390x \
-                      libasan6:s390x \
+                      libasan8:s390x \
                       libasound2-dev:s390x \
                       libattr1-dev:s390x \
                       libbpf-dev:s390x \
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index f68fcc83a9..2696cf2167 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -1,10 +1,10 @@
 # THIS FILE WAS AUTO-GENERATED
 #
-#  $ lcitool dockerfile --layers all debian-12 qemu
+#  $ lcitool dockerfile --layers all debian-13 qemu
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
 
 RUN export DEBIAN_FRONTEND=noninteractive && \
     apt-get update && \
@@ -32,7 +32,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       git \
                       hostname \
                       libaio-dev \
-                      libasan6 \
+                      libasan8 \
                       libasound2-dev \
                       libattr1-dev \
                       libbpf-dev \
@@ -121,11 +121,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx-rtd-theme \
+                      python3-tomli \
                       python3-venv \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-web \
+                      rustc \
                       sed \
                       socat \
                       sparse \
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 917ff4abfb..649568c5c2 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -105,7 +105,7 @@ alpine_extras = [
 # Netmap still needs to be manually built as it is yet to be packaged
 # into a distro. We also add cscope and gtags which are used in the CI
 # test
-debian12_extras = [
+debian13_extras = [
     "# netmap/cscope/global\n",
     "RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
     "  apt install -y --no-install-recommends \\\n",
@@ -175,8 +175,8 @@ try:
     generate_dockerfile("alpine", "alpine-321",
                         trailer="".join(alpine_extras))
     generate_dockerfile("centos9", "centos-stream-9")
-    generate_dockerfile("debian", "debian-12",
-                        trailer="".join(debian12_extras))
+    generate_dockerfile("debian", "debian-13",
+                        trailer="".join(debian13_extras))
     generate_dockerfile("fedora", "fedora-41")
     generate_dockerfile("opensuse-leap", "opensuse-leap-15")
     generate_dockerfile("ubuntu2204", "ubuntu-2204",
@@ -191,31 +191,31 @@ try:
     #
     # Cross compiling builds
     #
-    generate_dockerfile("debian-amd64-cross", "debian-12",
+    generate_dockerfile("debian-amd64-cross", "debian-13",
                         cross="x86_64",
                         trailer=cross_build("x86_64-linux-gnu-",
                                             "x86_64-softmmu,"
                                             "x86_64-linux-user,"
                                             "i386-softmmu,i386-linux-user"))
 
-    generate_dockerfile("debian-arm64-cross", "debian-12",
+    generate_dockerfile("debian-arm64-cross", "debian-13",
                         cross="aarch64",
                         trailer=cross_build("aarch64-linux-gnu-",
                                             "aarch64-softmmu,aarch64-linux-user"))
 
-    generate_dockerfile("debian-armhf-cross", "debian-12",
+    generate_dockerfile("debian-armhf-cross", "debian-13",
                         cross="armv7l",
                         trailer=cross_build("arm-linux-gnueabihf-",
                                             "arm-softmmu,arm-linux-user"))
 
-    generate_dockerfile("debian-i686-cross", "debian-12",
+    generate_dockerfile("debian-i686-cross", "debian-13",
                         cross="i686",
                         trailer=cross_build("i686-linux-gnu-",
                                             "x86_64-softmmu,"
                                             "x86_64-linux-user,"
                                             "i386-softmmu,i386-linux-user"))
 
-    generate_dockerfile("debian-ppc64el-cross", "debian-12",
+    generate_dockerfile("debian-ppc64el-cross", "debian-13",
                         cross="ppc64le",
                         trailer=cross_build("powerpc64le-linux-gnu-",
                                             "ppc64-softmmu,ppc64-linux-user"))
@@ -228,7 +228,7 @@ try:
                         trailer=cross_build("riscv64-linux-gnu-",
                                             "riscv64-softmmu,riscv64-linux-user"))
 
-    generate_dockerfile("debian-s390x-cross", "debian-12",
+    generate_dockerfile("debian-s390x-cross", "debian-13",
                         cross="s390x",
                         trailer=cross_build("s390x-linux-gnu-",
                                             "s390x-softmmu,s390x-linux-user"))
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 16/24] build-sys: cfi_debug and safe_stack are not compatible
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (14 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 15/24] tests/lcitool: update to debian13 marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:25   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 17/24] tests/docker: add ENABLE_RUST environment marcandre.lureau
                   ` (7 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
It fails to link on fedora >= 41:
/usr/bin/ld: /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.safestack.a(safestack.cpp.o): in function `__sanitizer_internal_memcpy':
(.text.__sanitizer_internal_memcpy+0x0): multiple definition of `__sanitizer_internal_memcpy'; /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.ubsan_standalone.a(sanitizer_libc.cpp.o):(.text.__sanitizer_internal_memcpy+0x0): first defined here
/usr/bin/ld: /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.safestack.a(safestack.cpp.o): in function `__sanitizer_internal_memmove':
(.text.__sanitizer_internal_memmove+0x0): multiple definition of `__sanitizer_internal_memmove'; /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.ubsan_standalone.a(sanitizer_libc.cpp.o):(.text.__sanitizer_internal_memmove+0x0): first defined here
/usr/bin/ld: /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.safestack.a(safestack.cpp.o): in function `__sanitizer_internal_memset':
(.text.__sanitizer_internal_memset+0x0): multiple definition of `__sanitizer_internal_memset'; /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.ubsan_standalone.a(sanitizer_libc.cpp.o):(.text.__sanitizer_internal_memset+0x0): first defined here
cfi_debug seems to pull ubsan which has conflicting symbols with safe_stack.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 meson.build                | 16 ++++++++++------
 .gitlab-ci.d/buildtest.yml |  6 +++---
 2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index 6ade30f36a..856c8f1a85 100644
--- a/meson.build
+++ b/meson.build
@@ -681,13 +681,17 @@ if get_option('cfi')
     error('-fsanitize-cfi-icall-generalize-pointers is not supported by the compiler')
   endif
   if get_option('cfi_debug')
-    if cc.compiles('int main () { return 0; }',
-                   name: '-fno-sanitize-trap=cfi-icall',
-                   args: ['-flto', '-fsanitize=cfi-icall',
-                          '-fno-sanitize-trap=cfi-icall'] )
-      cfi_flags += '-fno-sanitize-trap=cfi-icall'
+    if get_option('safe_stack')
+      error('cfi_debug is not compatible with safe_stack')
     else
-      error('-fno-sanitize-trap=cfi-icall is not supported by the compiler')
+      if cc.compiles('int main () { return 0; }',
+                    name: '-fno-sanitize-trap=cfi-icall',
+                    args: ['-flto', '-fsanitize=cfi-icall',
+                            '-fno-sanitize-trap=cfi-icall'] )
+        cfi_flags += '-fno-sanitize-trap=cfi-icall'
+      else
+        error('-fno-sanitize-trap=cfi-icall is not supported by the compiler')
+      endif
     endif
   endif
   add_global_arguments(cfi_flags, native: false, language: all_languages)
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 8378b663b6..94d646c5a7 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -479,7 +479,7 @@ build-cfi-aarch64:
     LD_JOBS: 1
     AR: llvm-ar
     IMAGE: fedora
-    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
+    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi
       --enable-safe-stack --disable-slirp
     TARGETS: aarch64-softmmu
     MAKE_CHECK_ARGS: check-build
@@ -517,7 +517,7 @@ build-cfi-ppc64-s390x:
     LD_JOBS: 1
     AR: llvm-ar
     IMAGE: fedora
-    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
+    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi
       --enable-safe-stack --disable-slirp
     TARGETS: ppc64-softmmu s390x-softmmu
     MAKE_CHECK_ARGS: check-build
@@ -555,7 +555,7 @@ build-cfi-x86_64:
     LD_JOBS: 1
     AR: llvm-ar
     IMAGE: fedora
-    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
+    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi
       --enable-safe-stack --disable-slirp
     TARGETS: x86_64-softmmu
     MAKE_CHECK_ARGS: check-build
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 17/24] tests/docker: add ENABLE_RUST environment
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (15 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 16/24] build-sys: cfi_debug and safe_stack are not compatible marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:37   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 18/24] tests/lcitool: enable rust & refresh marcandre.lureau
                   ` (6 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/docker/common.rc | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index d202c0c666..52f01848a3 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -21,6 +21,12 @@ else
     DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
 fi
 
+if [ "$ENABLE_RUST" = "1" ]; then
+  enable_rust="--enable-rust"
+else
+  enable_rust=""
+fi
+
 requires_binary()
 {
     found=0
@@ -46,6 +52,7 @@ configure_qemu()
                  ${TARGET_LIST:+--target-list=${TARGET_LIST}} \
                  --prefix=$INSTALL_DIR \
                  $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \
+                 $enable_rust \
                  $@"
     echo "Configure options:"
     echo $config_opts
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 18/24] tests/lcitool: enable rust & refresh
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (16 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 17/24] tests/docker: add ENABLE_RUST environment marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:39   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 19/24] configure: set the meson executable suffix/ext marcandre.lureau
                   ` (5 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Enable Rust on various distro images: alpine, centos, debian, fedora,
opensuse.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/docker/dockerfiles/alpine.docker             |  2 ++
 tests/docker/dockerfiles/centos9.docker            |  2 ++
 tests/docker/dockerfiles/debian-amd64-cross.docker |  2 ++
 tests/docker/dockerfiles/debian-arm64-cross.docker |  2 ++
 tests/docker/dockerfiles/debian-armhf-cross.docker |  2 ++
 tests/docker/dockerfiles/debian-i686-cross.docker  |  2 ++
 .../docker/dockerfiles/debian-ppc64el-cross.docker |  2 ++
 .../docker/dockerfiles/debian-riscv64-cross.docker |  2 ++
 tests/docker/dockerfiles/debian-s390x-cross.docker |  2 ++
 tests/docker/dockerfiles/debian.docker             |  2 ++
 .../docker/dockerfiles/fedora-rust-nightly.docker  |  2 ++
 tests/docker/dockerfiles/fedora.docker             |  2 ++
 tests/docker/dockerfiles/opensuse-leap.docker      |  2 ++
 tests/lcitool/refresh                              | 14 +++++++++++---
 14 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index b50fbc3dba..5a70647acb 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -138,3 +138,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/centos9.docker b/tests/docker/dockerfiles/centos9.docker
index e7fc688ee9..03abbe07ae 100644
--- a/tests/docker/dockerfiles/centos9.docker
+++ b/tests/docker/dockerfiles/centos9.docker
@@ -142,3 +142,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index 08621879dd..b4da02bd79 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -188,3 +188,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 725cccbee1..20585a09d4 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -187,3 +187,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index 50f7e0e986..4eaec2fada 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -184,3 +184,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index f53b77cb62..d4a6d3b5dc 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -184,3 +184,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index 09de265c26..29dfc0d54d 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -186,3 +186,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian-riscv64-cross.docker b/tests/docker/dockerfiles/debian-riscv64-cross.docker
index 79ec37616d..91dddb246f 100644
--- a/tests/docker/dockerfiles/debian-riscv64-cross.docker
+++ b/tests/docker/dockerfiles/debian-riscv64-cross.docker
@@ -89,3 +89,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index d7b2ca99ce..7a8992796e 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -185,3 +185,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index 2696cf2167..c5b8a43fea 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -175,3 +175,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/fedora-rust-nightly.docker b/tests/docker/dockerfiles/fedora-rust-nightly.docker
index 167246f0f5..7f720f66f7 100644
--- a/tests/docker/dockerfiles/fedora-rust-nightly.docker
+++ b/tests/docker/dockerfiles/fedora-rust-nightly.docker
@@ -185,3 +185,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 56a1ad8a18..608d09728e 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -162,3 +162,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index d71dbc30c7..2b6d7efd94 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -148,3 +148,5 @@ ARG USER
 ARG UID
 RUN if [ "${USER}" ]; then \
   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
\ No newline at end of file
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 649568c5c2..c585baa89c 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -63,7 +63,8 @@ add_user_mapping = [
     "  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi\n"
 ]
 
-def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None):
+def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None,
+                        enable_rust=True):
     filename = Path(src_dir, "tests", "docker", "dockerfiles", host + ".docker")
     cmd = lcitool_cmd + ["dockerfile"]
     if cross is not None:
@@ -75,6 +76,8 @@ def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None):
     else:
         trailer = "\n".join(add_user_mapping)
 
+    if enable_rust:
+        trailer += "\nENV ENABLE_RUST 1"
     generate(filename, cmd, trailer)
 
 
@@ -180,7 +183,9 @@ try:
     generate_dockerfile("fedora", "fedora-41")
     generate_dockerfile("opensuse-leap", "opensuse-leap-15")
     generate_dockerfile("ubuntu2204", "ubuntu-2204",
-                        trailer="".join(ubuntu2204_rust_extras))
+                        trailer="".join(ubuntu2204_rust_extras),
+                        # https://bugs.launchpad.net/ubuntu/+source/rustc-1.83/+bug/2120318
+                        enable_rust=False)
 
     #
     # Non-fatal Rust-enabled build
@@ -237,7 +242,10 @@ try:
                         project='qemu,qemu-win-installer',
                         cross="mingw64",
                         trailer=cross_build("x86_64-w64-mingw32-",
-                                            "x86_64-softmmu"))
+                                            "x86_64-softmmu"),
+                        # linking with rust is buggy:
+                        # https://github.com/mesonbuild/meson/pull/14991
+                        enable_rust=False)
 
     #
     # Cirrus packages lists for GitLab
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 19/24] configure: set the meson executable suffix/ext
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (17 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 18/24] tests/lcitool: enable rust & refresh marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:41   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 20/24] tests/freebsd: enable Rust marcandre.lureau
                   ` (4 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 configure | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 8d84e3c5c0..7b1795ab29 100755
--- a/configure
+++ b/configure
@@ -1000,7 +1000,19 @@ $mkvenv ensuregroup --dir "${source_path}/python/wheels" \
 # We ignore PATH completely here: we want to use the venv's Meson
 # *exclusively*.
 
-meson="$(cd pyvenv/bin; pwd)/meson"
+# for msys2
+get_pwd() {
+    if pwd -W >/dev/null 2>&1; then
+        pwd -W
+    else
+        pwd
+    fi
+}
+
+meson="$(cd pyvenv/bin; get_pwd)/meson"
+if [ -f "$meson$EXESUF" ]; then
+  meson="$meson$EXESUF"
+fi
 
 # Conditionally ensure Sphinx is installed.
 
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 20/24] tests/freebsd: enable Rust
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (18 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 19/24] configure: set the meson executable suffix/ext marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:41   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 21/24] meson: rust-bindgen limit allowlist-file to srcdir/include marcandre.lureau
                   ` (3 subsequent siblings)
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 .gitlab-ci.d/cirrus.yml | 2 +-
 tests/vm/freebsd        | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
index 75b611418e..13a0bf5bb9 100644
--- a/.gitlab-ci.d/cirrus.yml
+++ b/.gitlab-ci.d/cirrus.yml
@@ -42,7 +42,7 @@ x64-freebsd-14-build:
     CIRRUS_VM_RAM: 8G
     UPDATE_COMMAND: pkg update; pkg upgrade -y
     INSTALL_COMMAND: pkg install -y
-    CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4eb-softmmu,xtensa-softmmu
+    CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4eb-softmmu,xtensa-softmmu --enable-rust
     TEST_TARGETS: check
 
 aarch64-macos-build:
diff --git a/tests/vm/freebsd b/tests/vm/freebsd
index 2e96c9eba5..ea09b21fbc 100755
--- a/tests/vm/freebsd
+++ b/tests/vm/freebsd
@@ -40,7 +40,9 @@ class FreeBSDVM(basevm.BaseVM):
         tar -xf /dev/vtbd1;
         cd ../build;
         ../src/configure --extra-ldflags=-L/usr/local/lib \
-                         --extra-cflags=-I/usr/local/include {configure_opts};
+                         --extra-cflags=-I/usr/local/include \
+                         --enable-rust \
+                         {configure_opts};
         gmake --output-sync -j{jobs} {target} {verbose};
     """
 
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 21/24] meson: rust-bindgen limit allowlist-file to srcdir/include
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (19 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 20/24] tests/freebsd: enable Rust marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 13:33 ` [PATCH 22/24] WIP: tests/docker: add rust to debian-legacy-test-cross marcandre.lureau
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
gitlab CI restricts usage of directories for the build environment and
cache. Msys64 is installed under project root ($srcdir/msys64). This
confuses rust-bindgen allowlist-file which will generate bindings for
all the system include headers under msys64/.
blocklist-file is also too strict, as it prevents generating all the
recursively dependent types coming from system includes.
Instead, let's not use allowlist-file from the project root,
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 meson.build | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 856c8f1a85..959b99c8b0 100644
--- a/meson.build
+++ b/meson.build
@@ -4236,8 +4236,7 @@ if have_rust
     '--no-layout-tests',
     '--no-prepend-enum-name',
     '--allowlist-file', meson.project_source_root() + '/include/.*',
-    '--allowlist-file', meson.project_source_root() + '/.*',
-    '--allowlist-file', meson.project_build_root() + '/.*'
+    '--allowlist-file', meson.project_build_root() + '/.*',
     ]
   if not rustfmt.found()
     if bindgen.version().version_compare('<0.65.0')
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 22/24] WIP: tests/docker: add rust to debian-legacy-test-cross
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (20 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 21/24] meson: rust-bindgen limit allowlist-file to srcdir/include marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 14:43   ` Daniel P. Berrangé
  2025-09-19 13:33 ` [PATCH 23/24] WIP: gitlab-ci: enable rust for msys2-64bit marcandre.lureau
  2025-09-19 13:33 ` [PATCH 24/24] WIP: cirrus/macos: enable Rust marcandre.lureau
  23 siblings, 1 reply; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Unfortunately, debian 11 has bindgen version 0.55...
Should we install it with cargo install bindgen-cli?
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 .gitlab-ci.d/buildtest.yml                               | 2 +-
 tests/docker/dockerfiles/debian-legacy-test-cross.docker | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 94d646c5a7..efaa72f288 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -389,7 +389,7 @@ build-legacy:
   variables:
     IMAGE: debian-legacy-test-cross
     TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user mips-linux-user mips-softmmu mipsel-linux-user mipsel-softmmu mips64-linux-user mips64-softmmu
-    CONFIGURE_ARGS: --disable-tools
+    CONFIGURE_ARGS: --disable-tools --enable-rust
     MAKE_CHECK_ARGS: check-tcg
 
 build-user-hexagon:
diff --git a/tests/docker/dockerfiles/debian-legacy-test-cross.docker b/tests/docker/dockerfiles/debian-legacy-test-cross.docker
index 8c922b47f5..0014e59127 100644
--- a/tests/docker/dockerfiles/debian-legacy-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-legacy-test-cross.docker
@@ -25,6 +25,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
 RUN DEBIAN_FRONTEND=noninteractive eatmydata \
         apt install -y --no-install-recommends \
         bison \
+        cargo \
         ccache \
         clang  \
         flex \
@@ -41,9 +42,12 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
         python3-pip \
         python3-setuptools \
         python3-venv \
-        python3-wheel && \
+        python3-wheel \
+        rustc-web \
+        && \
         dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
 
+RUN cargo install bindgen-cli
 RUN /usr/bin/pip3 install tomli
 
 ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 23/24] WIP: gitlab-ci: enable rust for msys2-64bit
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (21 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 22/24] WIP: tests/docker: add rust to debian-legacy-test-cross marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  2025-09-19 13:33 ` [PATCH 24/24] WIP: cirrus/macos: enable Rust marcandre.lureau
  23 siblings, 0 replies; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Currently fails with meson issue:
https://github.com/mesonbuild/meson/pull/14991
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 .gitlab-ci.d/windows.yml | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
index 1e6a01bd9a..51297d3647 100644
--- a/.gitlab-ci.d/windows.yml
+++ b/.gitlab-ci.d/windows.yml
@@ -17,7 +17,7 @@ msys2-64bit:
     # This feature doesn't (currently) work with PowerShell, it stops
     # the echo'ing of commands being run and doesn't show any timing
     FF_SCRIPT_SECTIONS: 0
-    CONFIGURE_ARGS: --disable-system --enable-tools -Ddebug=false -Doptimization=0
+    CONFIGURE_ARGS: --disable-system --enable-tools -Ddebug=false -Doptimization=0 --enable-rust
     # The Windows git is a bit older so override the default
     GIT_FETCH_EXTRA_FLAGS: --no-tags --prune --quiet
   artifacts:
@@ -76,6 +76,7 @@ msys2-64bit:
       bison diffutils flex
       git grep make sed
       mingw-w64-x86_64-binutils
+      mingw-w64-x86_64-ca-certificates
       mingw-w64-x86_64-ccache
       mingw-w64-x86_64-curl-winssl
       mingw-w64-x86_64-gcc
@@ -86,6 +87,9 @@ msys2-64bit:
       mingw-w64-x86_64-pixman
       mingw-w64-x86_64-pkgconf
       mingw-w64-x86_64-python
+      mingw-w64-x86_64-python-certifi
+      mingw-w64-x86_64-rust
+      mingw-w64-x86_64-rust-bindgen
       mingw-w64-x86_64-zstd"
   - Write-Output "Running build at $(Get-Date -Format u)"
   - $env:JOBS = $(.\msys64\usr\bin\bash -lc nproc)
@@ -96,10 +100,12 @@ msys2-64bit:
   - $env:CCACHE_MAXSIZE = "500M"
   - $env:CCACHE_DEPEND = 1 # cache misses are too expensive with preprocessor mode
   - $env:CC = "ccache gcc"
+  - $env:LIBCLANG_PATH = Join-Path -Path $PWD.Path -ChildPath "msys64/mingw64/bin"
   - mkdir build
   - cd build
   - ..\msys64\usr\bin\bash -lc "ccache --zero-stats"
   - ..\msys64\usr\bin\bash -lc "../configure $CONFIGURE_ARGS"
+  - ..\msys64\usr\bin\bash -lc "make V=1 rust/util/bindings.inc.rs"
   - ..\msys64\usr\bin\bash -lc "make -j$env:JOBS"
   - ..\msys64\usr\bin\bash -lc "make check MTESTARGS='$TEST_ARGS' || { cat meson-logs/testlog.txt; exit 1; } ;"
   - ..\msys64\usr\bin\bash -lc "ccache --show-stats"
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* [PATCH 24/24] WIP: cirrus/macos: enable Rust
  2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
                   ` (22 preceding siblings ...)
  2025-09-19 13:33 ` [PATCH 23/24] WIP: gitlab-ci: enable rust for msys2-64bit marcandre.lureau
@ 2025-09-19 13:33 ` marcandre.lureau
  23 siblings, 0 replies; 59+ messages in thread
From: marcandre.lureau @ 2025-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Marc-André Lureau, Warner Losh,
	Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé,
	Kohei Tokunaga, Kyle Evans
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Currently fails with a linking issue:
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: ld: warning: ignoring duplicate libraries: '-lSystem', '-lc', '-llibgio-2.0.dylib', '-llibglib-2.0.dylib', '-llibgmodule-2.0.dylib', '-llibgnutls.dylib', '-llibgobject-2.0.dylib', '-llibintl.dylib', '-llibqemuutil.a', '-lm', 'libqemuutil.a'
          ld: library 'libqemuutil.a' not found
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: aborting due to 1 previous error
Fixed in upcoming meson:
https://github.com/mesonbuild/meson/pull/15024
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 .gitlab-ci.d/cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
index 13a0bf5bb9..17d52e8db3 100644
--- a/.gitlab-ci.d/cirrus.yml
+++ b/.gitlab-ci.d/cirrus.yml
@@ -56,5 +56,5 @@ aarch64-macos-build:
     INSTALL_COMMAND: brew install
     PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin
     PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
-    CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblazeel-softmmu,mips64-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4-softmmu,xtensaeb-softmmu
+    CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblazeel-softmmu,mips64-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4-softmmu,xtensaeb-softmmu --enable-rust
     TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
-- 
2.51.0
^ permalink raw reply related	[flat|nested] 59+ messages in thread
* Re: [PATCH 03/24] scripts/archive-source: silence subprojects downloads
  2025-09-19 13:32 ` [PATCH 03/24] scripts/archive-source: silence subprojects downloads marcandre.lureau
@ 2025-09-19 13:49   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 13:49 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:32:57PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> It's too verbose.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  scripts/archive-source.sh | 2 +-
>  tests/lcitool/libvirt-ci  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> index 85cd0a63a0..68eb9672de 100755
> --- a/scripts/archive-source.sh
> +++ b/scripts/archive-source.sh
> @@ -77,7 +77,7 @@ function subproject_dir() {
>  git archive --format tar "$(tree_ish)" > "$tar_file"
>  test $? -ne 0 && error "failed to archive qemu"
>  
> -meson subprojects download $subprojects
> +meson subprojects download $subprojects >/dev/null
>  test $? -ne 0 && error "failed to download subprojects $subprojects"
>  
>  for sp in $subprojects; do
> diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
> index 18c4bfe02c..7a92fe388f 160000
> --- a/tests/lcitool/libvirt-ci
> +++ b/tests/lcitool/libvirt-ci
> @@ -1 +1 @@
> -Subproject commit 18c4bfe02c467e5639bf9a687139735ccd7a3fff
> +Subproject commit 7a92fe388f55d1bbc33e639e3484533f88c542ec
Unrelated change here.
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] 59+ messages in thread
* Re: [PATCH 02/24] scripts/archive-source: speed up downloading subprojects
  2025-09-19 13:32 ` [PATCH 02/24] scripts/archive-source: speed up downloading subprojects marcandre.lureau
@ 2025-09-19 13:50   ` Daniel P. Berrangé
  2025-09-22  6:59     ` Marc-André Lureau
  0 siblings, 1 reply; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 13:50 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:32:56PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Running meson on each subproject is quite slow.
Why is this faster ?  Does it make meson do parallel downloads
if you list then all at once ?
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  scripts/archive-source.sh | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> index 035828c532..85cd0a63a0 100755
> --- a/scripts/archive-source.sh
> +++ b/scripts/archive-source.sh
> @@ -77,9 +77,10 @@ function subproject_dir() {
>  git archive --format tar "$(tree_ish)" > "$tar_file"
>  test $? -ne 0 && error "failed to archive qemu"
>  
> +meson subprojects download $subprojects
> +test $? -ne 0 && error "failed to download subprojects $subprojects"
> +
>  for sp in $subprojects; do
> -    meson subprojects download $sp
> -    test $? -ne 0 && error "failed to download subproject $sp"
>      tar --append --file "$tar_file" --exclude=.git subprojects/"$(subproject_dir $sp)"
>      test $? -ne 0 && error "failed to append subproject $sp to $tar_file"
>  done
> -- 
> 2.51.0
> 
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] 59+ messages in thread
* Re: [PATCH 01/24] gitlab-ci: fix 'needs' property type must be array
  2025-09-19 13:32 ` [PATCH 01/24] gitlab-ci: fix 'needs' property type must be array marcandre.lureau
@ 2025-09-19 14:05   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:05 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:32:55PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> The gitlab "Pipeline editor" has some warnings, and gitlab-ci-local
> fails.
More importantly it matches the docs
   https://docs.gitlab.com/ci/yaml/#needs
"Supported values:
    An array of jobs (maximum of 50 jobs).
    An empty array ([]), to set the job to start as soon as the pipeline is created."
Can you reference this in the commit msg
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  .gitlab-ci.d/buildtest.yml     | 56 +++++++++++++++++-----------------
>  .gitlab-ci.d/crossbuilds.yml   | 46 ++++++++++++++--------------
>  .gitlab-ci.d/static_checks.yml |  6 ++--
>  3 files changed, 54 insertions(+), 54 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>
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] 59+ messages in thread
* Re: [PATCH 04/24] configure: fix rust meson configuration
  2025-09-19 13:32 ` [PATCH 04/24] configure: fix rust meson configuration marcandre.lureau
@ 2025-09-19 14:06   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:06 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:32:58PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> It was incorrectly set on the [host_machine] and caused error:
> File "/tmp/qemu-test/build/pyvenv/lib/python3.11/site-packages/mesonbuild/envconfig.py", line 281, in from_literal
>     assert all(isinstance(v, str) for v in raw.values()), 'for mypy'
> AssertionError: for mypy
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  configure | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 07/24] tests/docker/common: print errors to stderr
  2025-09-19 13:33 ` [PATCH 07/24] tests/docker/common: print errors to stderr marcandre.lureau
@ 2025-09-19 14:07   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:07 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:01PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/common.rc | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 08/24] tests/docker: use fully qualified image name for emsdk
  2025-09-19 13:33 ` [PATCH 08/24] tests/docker: use fully qualified image name for emsdk marcandre.lureau
@ 2025-09-19 14:08   ` Daniel P. Berrangé
  2025-09-21  3:19   ` Kohei Tokunaga
  1 sibling, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:08 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:02PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Without it, at least it fails with podman on fc42:
> 
> [1/6] STEP 1/15: FROM emscripten/emsdk:3.1.50 AS build-base
> Error: creating build container: short-name resolution enforced but cannot prompt without a TTY
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/dockerfiles/emsdk-wasm32-cross.docker | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 09/24] tests/docker/common: print meson log on configure failure
  2025-09-19 13:33 ` [PATCH 09/24] tests/docker/common: print meson log on configure failure marcandre.lureau
@ 2025-09-19 14:09   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:09 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:03PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/common.rc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 10/24] lcitool: update, switch to f41
  2025-09-19 13:33 ` [PATCH 10/24] lcitool: update, switch to f41 marcandre.lureau
@ 2025-09-19 14:10   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:10 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:04PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml   |  3 ++-
>  scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml     |  3 ++-
>  tests/docker/dockerfiles/alpine.docker             |  2 +-
>  tests/docker/dockerfiles/debian-amd64-cross.docker |  5 ++++-
>  tests/docker/dockerfiles/debian-arm64-cross.docker |  5 ++++-
>  tests/docker/dockerfiles/debian-armhf-cross.docker |  5 ++++-
>  tests/docker/dockerfiles/debian-i686-cross.docker  |  5 ++++-
>  .../dockerfiles/debian-mips64el-cross.docker       |  5 ++++-
>  .../docker/dockerfiles/debian-mipsel-cross.docker  |  5 ++++-
>  .../docker/dockerfiles/debian-ppc64el-cross.docker |  5 ++++-
>  .../docker/dockerfiles/debian-riscv64-cross.docker |  8 ++++++--
>  tests/docker/dockerfiles/debian-s390x-cross.docker |  5 ++++-
>  tests/docker/dockerfiles/debian.docker             |  5 ++++-
>  .../docker/dockerfiles/fedora-rust-nightly.docker  | 14 ++++++++------
>  tests/docker/dockerfiles/fedora-win64-cross.docker | 11 +++++++----
>  tests/docker/dockerfiles/fedora.docker             | 14 ++++++++------
>  tests/docker/dockerfiles/opensuse-leap.docker      |  4 ++--
>  tests/docker/dockerfiles/ubuntu2204.docker         |  5 ++++-
>  tests/lcitool/projects/qemu.yml                    |  1 -
>  tests/lcitool/refresh                              |  6 +++---
>  20 files changed, 79 insertions(+), 37 deletions(-)
This is presumably where the submodule updat from earlier
should have been.
> 
> diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
> index f11e980826..bbcb5dd4ac 100644
> --- a/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
> +++ b/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
> @@ -95,7 +95,6 @@ packages:
>    - llvm
>    - locales
>    - make
> -  - meson
>    - mtools
>    - multipath-tools
>    - ncat
> @@ -108,10 +107,12 @@ packages:
>    - python3-opencv
>    - python3-pillow
>    - python3-pip
> +  - python3-setuptools
>    - python3-sphinx
>    - python3-sphinx-rtd-theme
>    - python3-tomli
>    - python3-venv
> +  - python3-wheel
>    - python3-yaml
>    - rpm2cpio
>    - rustc-1.77
> diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
> index 6559cb2934..00eb1b0f91 100644
> --- a/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
> +++ b/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
> @@ -93,7 +93,6 @@ packages:
>    - llvm
>    - locales
>    - make
> -  - meson
>    - mtools
>    - multipath-tools
>    - ncat
> @@ -106,10 +105,12 @@ packages:
>    - python3-opencv
>    - python3-pillow
>    - python3-pip
> +  - python3-setuptools
>    - python3-sphinx
>    - python3-sphinx-rtd-theme
>    - python3-tomli
>    - python3-venv
> +  - python3-wheel
>    - python3-yaml
>    - rpm2cpio
>    - rustc-1.77
> diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
> index bf3bd5a30d..bd1ef5505d 100644
> --- a/tests/docker/dockerfiles/alpine.docker
> +++ b/tests/docker/dockerfiles/alpine.docker
> @@ -78,7 +78,7 @@ RUN apk update && \
>          nmap-ncat \
>          numactl-dev \
>          openssh-client \
> -        pcre-dev \
> +        pcre2-dev \
>          pipewire-dev \
>          pixman-dev \
>          pkgconf \
> diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
> index 081f3e00f7..bba6de4e2d 100644
> --- a/tests/docker/dockerfiles/debian-amd64-cross.docker
> +++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
> index 91c555a36e..8bbcd75157 100644
> --- a/tests/docker/dockerfiles/debian-arm64-cross.docker
> +++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
> index f0e2efcda0..455b84424c 100644
> --- a/tests/docker/dockerfiles/debian-armhf-cross.docker
> +++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
> index 025beb1ce2..8b8993ffe4 100644
> --- a/tests/docker/dockerfiles/debian-i686-cross.docker
> +++ b/tests/docker/dockerfiles/debian-i686-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
> index 4a941dd870..c89cb6c680 100644
> --- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
> +++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
> index 4d3e5d711b..4e10d9501f 100644
> --- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
> +++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
> index 22b4457ba9..cf61cb7f4a 100644
> --- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
> +++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-riscv64-cross.docker b/tests/docker/dockerfiles/debian-riscv64-cross.docker
> index b0386cd3a1..79ec37616d 100644
> --- a/tests/docker/dockerfiles/debian-riscv64-cross.docker
> +++ b/tests/docker/dockerfiles/debian-riscv64-cross.docker
> @@ -4,7 +4,7 @@
>  #
>  # https://gitlab.com/libvirt/libvirt-ci
>  
> -FROM docker.io/library/debian:trixie-slim
> +FROM docker.io/library/debian:13-slim
>  
>  RUN export DEBIAN_FRONTEND=noninteractive && \
>      apt-get update && \
> @@ -23,11 +23,13 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        libglib2.0-dev \
>                        locales \
>                        make \
> -                      meson \
>                        ninja-build \
>                        pkgconf \
>                        python3 \
> +                      python3-pip \
> +                      python3-setuptools \
>                        python3-venv \
> +                      python3-wheel \
>                        sed \
>                        tar && \
>      eatmydata apt-get autoremove -y && \
> @@ -36,6 +38,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
> index 13ec52c8ad..1782e0e90f 100644
> --- a/tests/docker/dockerfiles/debian-s390x-cross.docker
> +++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
> @@ -34,7 +34,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        ncat \
>                        ninja-build \
> @@ -45,9 +44,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -67,6 +68,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      dpkg-reconfigure locales && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
> index 0a57c1a1d3..62f89e4d8c 100644
> --- a/tests/docker/dockerfiles/debian.docker
> +++ b/tests/docker/dockerfiles/debian.docker
> @@ -104,7 +104,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        multipath-tools \
>                        ncat \
> @@ -117,9 +116,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-web \
> @@ -146,6 +147,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/fedora-rust-nightly.docker b/tests/docker/dockerfiles/fedora-rust-nightly.docker
> index 4a033309b3..fd71dd8790 100644
> --- a/tests/docker/dockerfiles/fedora-rust-nightly.docker
> +++ b/tests/docker/dockerfiles/fedora-rust-nightly.docker
> @@ -1,10 +1,10 @@
>  # THIS FILE WAS AUTO-GENERATED
>  #
> -#  $ lcitool dockerfile --layers all fedora-40 qemu
> +#  $ lcitool dockerfile --layers all fedora-41 qemu
>  #
>  # https://gitlab.com/libvirt/libvirt-ci
>  
> -FROM registry.fedoraproject.org/fedora:40
> +FROM registry.fedoraproject.org/fedora:41
>  
>  RUN dnf install -y nosync && \
>      printf '#!/bin/sh\n\
> @@ -91,7 +91,6 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 lzo-devel \
>                 make \
>                 mesa-libgbm-devel \
> -               meson \
>                 mtools \
>                 ncurses-devel \
>                 nettle-devel \
> @@ -100,7 +99,7 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 numactl-devel \
>                 openssh-clients \
>                 pam-devel \
> -               pcre-static \
> +               pcre2-static \
>                 pipewire-devel \
>                 pixman-devel \
>                 pkgconfig \
> @@ -111,9 +110,10 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 python3-opencv \
>                 python3-pillow \
>                 python3-pip \
> +               python3-setuptools \
>                 python3-sphinx \
>                 python3-sphinx_rtd_theme \
> -               python3-zombie-imp \
> +               python3-wheel \
>                 rdma-core-devel \
>                 rust \
>                 sed \
> @@ -124,7 +124,7 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 spice-server-devel \
>                 swtpm \
>                 systemd-devel \
> -               systemtap-sdt-devel \
> +               systemtap-sdt-dtrace \
>                 tar \
>                 tesseract \
>                 tesseract-langpack-eng \
> @@ -148,6 +148,8 @@ exec "$@"\n' > /usr/bin/nosync && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
> index a950344402..ed7d270984 100644
> --- a/tests/docker/dockerfiles/fedora-win64-cross.docker
> +++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
> @@ -1,10 +1,10 @@
>  # THIS FILE WAS AUTO-GENERATED
>  #
> -#  $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-40 qemu,qemu-win-installer
> +#  $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-41 qemu,qemu-win-installer
>  #
>  # https://gitlab.com/libvirt/libvirt-ci
>  
> -FROM registry.fedoraproject.org/fedora:40
> +FROM registry.fedoraproject.org/fedora:41
>  
>  RUN dnf install -y nosync && \
>      printf '#!/bin/sh\n\
> @@ -38,7 +38,6 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 hostname \
>                 llvm \
>                 make \
> -               meson \
>                 mtools \
>                 ninja-build \
>                 nmap-ncat \
> @@ -49,9 +48,10 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 python3-opencv \
>                 python3-pillow \
>                 python3-pip \
> +               python3-setuptools \
>                 python3-sphinx \
>                 python3-sphinx_rtd_theme \
> -               python3-zombie-imp \
> +               python3-wheel \
>                 rust \
>                 sed \
>                 socat \
> @@ -69,6 +69,8 @@ exec "$@"\n' > /usr/bin/nosync && \
>      nosync dnf clean all -y && \
>      rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> @@ -90,6 +92,7 @@ RUN nosync dnf install -y \
>                 mingw64-gtk-vnc2 \
>                 mingw64-gtk3 \
>                 mingw64-libepoxy \
> +               mingw64-libfdt \
>                 mingw64-libgcrypt \
>                 mingw64-libjpeg-turbo \
>                 mingw64-libpng \
> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> index 014e3ccf17..e367c53c09 100644
> --- a/tests/docker/dockerfiles/fedora.docker
> +++ b/tests/docker/dockerfiles/fedora.docker
> @@ -1,10 +1,10 @@
>  # THIS FILE WAS AUTO-GENERATED
>  #
> -#  $ lcitool dockerfile --layers all fedora-40 qemu
> +#  $ lcitool dockerfile --layers all fedora-41 qemu
>  #
>  # https://gitlab.com/libvirt/libvirt-ci
>  
> -FROM registry.fedoraproject.org/fedora:40
> +FROM registry.fedoraproject.org/fedora:41
>  
>  RUN dnf install -y nosync && \
>      printf '#!/bin/sh\n\
> @@ -91,7 +91,6 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 lzo-devel \
>                 make \
>                 mesa-libgbm-devel \
> -               meson \
>                 mtools \
>                 ncurses-devel \
>                 nettle-devel \
> @@ -100,7 +99,7 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 numactl-devel \
>                 openssh-clients \
>                 pam-devel \
> -               pcre-static \
> +               pcre2-static \
>                 pipewire-devel \
>                 pixman-devel \
>                 pkgconfig \
> @@ -111,9 +110,10 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 python3-opencv \
>                 python3-pillow \
>                 python3-pip \
> +               python3-setuptools \
>                 python3-sphinx \
>                 python3-sphinx_rtd_theme \
> -               python3-zombie-imp \
> +               python3-wheel \
>                 rdma-core-devel \
>                 rust \
>                 sed \
> @@ -124,7 +124,7 @@ exec "$@"\n' > /usr/bin/nosync && \
>                 spice-server-devel \
>                 swtpm \
>                 systemd-devel \
> -               systemtap-sdt-devel \
> +               systemtap-sdt-dtrace \
>                 tar \
>                 tesseract \
>                 tesseract-langpack-eng \
> @@ -148,6 +148,8 @@ exec "$@"\n' > /usr/bin/nosync && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
> index e90225dc23..60763857bb 100644
> --- a/tests/docker/dockerfiles/opensuse-leap.docker
> +++ b/tests/docker/dockerfiles/opensuse-leap.docker
> @@ -89,7 +89,7 @@ RUN zypper update -y && \
>             ninja \
>             openssh \
>             pam-devel \
> -           pcre-devel-static \
> +           pcre2-devel-static \
>             pipewire-devel \
>             pkgconfig \
>             python311 \
> @@ -132,7 +132,7 @@ RUN zypper update -y && \
>  
>  RUN /usr/bin/pip3.11 install \
>                       PyYAML \
> -                     meson==1.5.0 \
> +                     meson==1.8.1 \
>                       pillow \
>                       sphinx \
>                       sphinx-rtd-theme
> diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
> index 28a6f93243..ea67c7602a 100644
> --- a/tests/docker/dockerfiles/ubuntu2204.docker
> +++ b/tests/docker/dockerfiles/ubuntu2204.docker
> @@ -102,7 +102,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        llvm \
>                        locales \
>                        make \
> -                      meson \
>                        mtools \
>                        multipath-tools \
>                        ncat \
> @@ -115,10 +114,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-opencv \
>                        python3-pillow \
>                        python3-pip \
> +                      python3-setuptools \
>                        python3-sphinx \
>                        python3-sphinx-rtd-theme \
>                        python3-tomli \
>                        python3-venv \
> +                      python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
>                        rustc-1.77 \
> @@ -145,6 +146,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
>      ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
>  
> +RUN /usr/bin/pip3 install meson==1.8.1
> +
>  ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
>  ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
> diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
> index c07242f272..f22fc46fdc 100644
> --- a/tests/lcitool/projects/qemu.yml
> +++ b/tests/lcitool/projects/qemu.yml
> @@ -91,7 +91,6 @@ packages:
>   - pkg-config
>   - pulseaudio
>   - python3
> - - python3-imp
>   - python3-numpy
>   - python3-opencv
>   - python3-pillow
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index d3488b2679..f49eb638f8 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -171,7 +171,7 @@ try:
>      generate_dockerfile("centos9", "centos-stream-9")
>      generate_dockerfile("debian", "debian-12",
>                          trailer="".join(debian12_extras))
> -    generate_dockerfile("fedora", "fedora-40")
> +    generate_dockerfile("fedora", "fedora-41")
>      generate_dockerfile("opensuse-leap", "opensuse-leap-15")
>      generate_dockerfile("ubuntu2204", "ubuntu-2204",
>                          trailer="".join(ubuntu2204_rust_extras))
> @@ -179,7 +179,7 @@ try:
>      #
>      # Non-fatal Rust-enabled build
>      #
> -    generate_dockerfile("fedora-rust-nightly", "fedora-40",
> +    generate_dockerfile("fedora-rust-nightly", "fedora-41",
>                          trailer="".join(fedora_rustup_nightly_extras))
>  
>      #
> @@ -237,7 +237,7 @@ try:
>                          trailer=cross_build("s390x-linux-gnu-",
>                                              "s390x-softmmu,s390x-linux-user"))
>  
> -    generate_dockerfile("fedora-win64-cross", "fedora-40",
> +    generate_dockerfile("fedora-win64-cross", "fedora-41",
>                          project='qemu,qemu-win-installer',
>                          cross="mingw64",
>                          trailer=cross_build("x86_64-w64-mingw32-",
> -- 
> 2.51.0
> 
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] 59+ messages in thread
* Re: [PATCH 11/24] lcitool/qemu: include libclang-rt for TSAN
  2025-09-19 13:33 ` [PATCH 11/24] lcitool/qemu: include libclang-rt for TSAN marcandre.lureau
@ 2025-09-19 14:10   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:10 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:05PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml      | 1 +
>  scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml        | 1 +
>  tests/docker/dockerfiles/centos9.docker               | 1 +
>  tests/docker/dockerfiles/debian-amd64-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian-arm64-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian-armhf-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian-i686-cross.docker     | 1 +
>  tests/docker/dockerfiles/debian-mips64el-cross.docker | 1 +
>  tests/docker/dockerfiles/debian-mipsel-cross.docker   | 1 +
>  tests/docker/dockerfiles/debian-ppc64el-cross.docker  | 1 +
>  tests/docker/dockerfiles/debian-s390x-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian.docker                | 1 +
>  tests/docker/dockerfiles/fedora-rust-nightly.docker   | 1 +
>  tests/docker/dockerfiles/fedora-win64-cross.docker    | 1 +
>  tests/docker/dockerfiles/fedora.docker                | 1 +
>  tests/docker/dockerfiles/opensuse-leap.docker         | 1 +
>  tests/docker/dockerfiles/ubuntu2204.docker            | 1 +
>  tests/lcitool/projects/qemu.yml                       | 1 +
>  18 files changed, 18 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 12/24] lcitool/alpine: workaround bindgen issue
  2025-09-19 13:33 ` [PATCH 12/24] lcitool/alpine: workaround bindgen issue marcandre.lureau
@ 2025-09-19 14:10   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:10 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:06PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/dockerfiles/alpine.docker | 2 ++
>  tests/lcitool/refresh                  | 8 +++++++-
>  2 files changed, 9 insertions(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 13/24] tests/lcitool: add missing rust-std dep
  2025-09-19 13:33 ` [PATCH 13/24] tests/lcitool: add missing rust-std dep marcandre.lureau
@ 2025-09-19 14:11   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:11 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:07PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Some distros/targets may pull it by default, but some don't.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml      | 1 +
>  scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml        | 1 +
>  tests/docker/dockerfiles/centos9.docker               | 1 +
>  tests/docker/dockerfiles/debian-amd64-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian-arm64-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian-armhf-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian-i686-cross.docker     | 1 +
>  tests/docker/dockerfiles/debian-mips64el-cross.docker | 1 +
>  tests/docker/dockerfiles/debian-mipsel-cross.docker   | 1 +
>  tests/docker/dockerfiles/debian-ppc64el-cross.docker  | 1 +
>  tests/docker/dockerfiles/debian-s390x-cross.docker    | 1 +
>  tests/docker/dockerfiles/debian.docker                | 1 +
>  tests/docker/dockerfiles/fedora-rust-nightly.docker   | 1 +
>  tests/docker/dockerfiles/fedora-win64-cross.docker    | 3 ++-
>  tests/docker/dockerfiles/fedora.docker                | 1 +
>  tests/docker/dockerfiles/ubuntu2204.docker            | 1 +
>  tests/lcitool/projects/qemu.yml                       | 1 +
>  17 files changed, 18 insertions(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 14/24] tests: move mips to debian-legacy-test-cross
  2025-09-19 13:33 ` [PATCH 14/24] tests: move mips to debian-legacy-test-cross marcandre.lureau
@ 2025-09-19 14:21   ` Daniel P. Berrangé
  2025-09-22  8:38     ` Marc-André Lureau
  0 siblings, 1 reply; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:21 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:08PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> We are updating debian which dropped support for it:
> https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
If Debian 13 has dropped it, why aren't we just keeping the mips
dockerfiles on 12 ?
The debian-legacy-test-cross a manually written dockerfile that
has almost none of our deps installed, and is still on 11 which
is outside our support matrix now. So I don't think we should
be expanding use of debian-legacy-test-cross, ideally it would
be removed entirely.
> diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
> index 7a92fe388f..9da20ff7c3 160000
> --- a/tests/lcitool/libvirt-ci
> +++ b/tests/lcitool/libvirt-ci
> @@ -1 +1 @@
> -Subproject commit 7a92fe388f55d1bbc33e639e3484533f88c542ec
> +Subproject commit 9da20ff7c3bc9067804a7561c2ff87583b434853
This shouldn't be here.
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index 6f98a91277..917ff4abfb 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -215,16 +215,6 @@ try:
>                                              "x86_64-linux-user,"
>                                              "i386-softmmu,i386-linux-user"))
>  
> -    generate_dockerfile("debian-mips64el-cross", "debian-12",
> -                        cross="mips64el",
> -                        trailer=cross_build("mips64el-linux-gnuabi64-",
> -                                            "mips64el-softmmu,mips64el-linux-user"))
> -
> -    generate_dockerfile("debian-mipsel-cross", "debian-12",
> -                        cross="mipsel",
> -                        trailer=cross_build("mipsel-linux-gnu-",
> -                                            "mipsel-softmmu,mipsel-linux-user"))
> -
I'm not seeing the need to remove these, when they could just
stay on -12, when the next commit updates the other arches
to -13.
>      generate_dockerfile("debian-ppc64el-cross", "debian-12",
>                          cross="ppc64le",
>                          trailer=cross_build("powerpc64le-linux-gnu-",
> -- 
> 2.51.0
> 
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] 59+ messages in thread
* Re: [PATCH 15/24] tests/lcitool: update to debian13
  2025-09-19 13:33 ` [PATCH 15/24] tests/lcitool: update to debian13 marcandre.lureau
@ 2025-09-19 14:21   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:21 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:09PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  .../dockerfiles/debian-amd64-cross.docker      |  9 +++++----
>  .../dockerfiles/debian-arm64-cross.docker      |  9 +++++----
>  .../dockerfiles/debian-armhf-cross.docker      | 12 +++++-------
>  .../dockerfiles/debian-i686-cross.docker       | 11 +++++------
>  .../dockerfiles/debian-ppc64el-cross.docker    |  9 +++++----
>  .../dockerfiles/debian-s390x-cross.docker      |  9 +++++----
>  tests/docker/dockerfiles/debian.docker         |  9 +++++----
>  tests/lcitool/refresh                          | 18 +++++++++---------
>  8 files changed, 44 insertions(+), 42 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 16/24] build-sys: cfi_debug and safe_stack are not compatible
  2025-09-19 13:33 ` [PATCH 16/24] build-sys: cfi_debug and safe_stack are not compatible marcandre.lureau
@ 2025-09-19 14:25   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:25 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:10PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> It fails to link on fedora >= 41:
> /usr/bin/ld: /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.safestack.a(safestack.cpp.o): in function `__sanitizer_internal_memcpy':
> (.text.__sanitizer_internal_memcpy+0x0): multiple definition of `__sanitizer_internal_memcpy'; /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.ubsan_standalone.a(sanitizer_libc.cpp.o):(.text.__sanitizer_internal_memcpy+0x0): first defined here
> /usr/bin/ld: /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.safestack.a(safestack.cpp.o): in function `__sanitizer_internal_memmove':
> (.text.__sanitizer_internal_memmove+0x0): multiple definition of `__sanitizer_internal_memmove'; /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.ubsan_standalone.a(sanitizer_libc.cpp.o):(.text.__sanitizer_internal_memmove+0x0): first defined here
> /usr/bin/ld: /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.safestack.a(safestack.cpp.o): in function `__sanitizer_internal_memset':
> (.text.__sanitizer_internal_memset+0x0): multiple definition of `__sanitizer_internal_memset'; /usr/bin/../lib/clang/20/lib/x86_64-redhat-linux-gnu/libclang_rt.ubsan_standalone.a(sanitizer_libc.cpp.o):(.text.__sanitizer_internal_memset+0x0): first defined here
> 
> cfi_debug seems to pull ubsan which has conflicting symbols with safe_stack.
If this is caused by the switch of dockerfiles from Fedora 40 to 41,
then this commit should be ordered earlier in the series before that
switch so that we are bisectable.
Also if this is a regression in F41 it is probably worth a bug report
against clang in Fedora, that could be referenced in the commit msg.
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  meson.build                | 16 ++++++++++------
>  .gitlab-ci.d/buildtest.yml |  6 +++---
>  2 files changed, 13 insertions(+), 9 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 6ade30f36a..856c8f1a85 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -681,13 +681,17 @@ if get_option('cfi')
>      error('-fsanitize-cfi-icall-generalize-pointers is not supported by the compiler')
>    endif
>    if get_option('cfi_debug')
> -    if cc.compiles('int main () { return 0; }',
> -                   name: '-fno-sanitize-trap=cfi-icall',
> -                   args: ['-flto', '-fsanitize=cfi-icall',
> -                          '-fno-sanitize-trap=cfi-icall'] )
> -      cfi_flags += '-fno-sanitize-trap=cfi-icall'
> +    if get_option('safe_stack')
> +      error('cfi_debug is not compatible with safe_stack')
IIUC error() terminates meson execution, so it could just
have an 'endif' where and avoid re-indenting all the
following code.
>      else
> -      error('-fno-sanitize-trap=cfi-icall is not supported by the compiler')
> +      if cc.compiles('int main () { return 0; }',
> +                    name: '-fno-sanitize-trap=cfi-icall',
> +                    args: ['-flto', '-fsanitize=cfi-icall',
> +                            '-fno-sanitize-trap=cfi-icall'] )
> +        cfi_flags += '-fno-sanitize-trap=cfi-icall'
> +      else
> +        error('-fno-sanitize-trap=cfi-icall is not supported by the compiler')
> +      endif
>      endif
>    endif
>    add_global_arguments(cfi_flags, native: false, language: all_languages)
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 8378b663b6..94d646c5a7 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -479,7 +479,7 @@ build-cfi-aarch64:
>      LD_JOBS: 1
>      AR: llvm-ar
>      IMAGE: fedora
> -    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
> +    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi
>        --enable-safe-stack --disable-slirp
>      TARGETS: aarch64-softmmu
>      MAKE_CHECK_ARGS: check-build
> @@ -517,7 +517,7 @@ build-cfi-ppc64-s390x:
>      LD_JOBS: 1
>      AR: llvm-ar
>      IMAGE: fedora
> -    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
> +    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi
>        --enable-safe-stack --disable-slirp
>      TARGETS: ppc64-softmmu s390x-softmmu
>      MAKE_CHECK_ARGS: check-build
> @@ -555,7 +555,7 @@ build-cfi-x86_64:
>      LD_JOBS: 1
>      AR: llvm-ar
>      IMAGE: fedora
> -    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
> +    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi
>        --enable-safe-stack --disable-slirp
>      TARGETS: x86_64-softmmu
>      MAKE_CHECK_ARGS: check-build
> -- 
> 2.51.0
> 
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] 59+ messages in thread
* Re: [PATCH 17/24] tests/docker: add ENABLE_RUST environment
  2025-09-19 13:33 ` [PATCH 17/24] tests/docker: add ENABLE_RUST environment marcandre.lureau
@ 2025-09-19 14:37   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:37 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:11PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/common.rc | 7 +++++++
>  1 file changed, 7 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 18/24] tests/lcitool: enable rust & refresh
  2025-09-19 13:33 ` [PATCH 18/24] tests/lcitool: enable rust & refresh marcandre.lureau
@ 2025-09-19 14:39   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:39 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:12PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Enable Rust on various distro images: alpine, centos, debian, fedora,
> opensuse.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/dockerfiles/alpine.docker             |  2 ++
>  tests/docker/dockerfiles/centos9.docker            |  2 ++
>  tests/docker/dockerfiles/debian-amd64-cross.docker |  2 ++
>  tests/docker/dockerfiles/debian-arm64-cross.docker |  2 ++
>  tests/docker/dockerfiles/debian-armhf-cross.docker |  2 ++
>  tests/docker/dockerfiles/debian-i686-cross.docker  |  2 ++
>  .../docker/dockerfiles/debian-ppc64el-cross.docker |  2 ++
>  .../docker/dockerfiles/debian-riscv64-cross.docker |  2 ++
>  tests/docker/dockerfiles/debian-s390x-cross.docker |  2 ++
>  tests/docker/dockerfiles/debian.docker             |  2 ++
>  .../docker/dockerfiles/fedora-rust-nightly.docker  |  2 ++
>  tests/docker/dockerfiles/fedora.docker             |  2 ++
>  tests/docker/dockerfiles/opensuse-leap.docker      |  2 ++
>  tests/lcitool/refresh                              | 14 +++++++++++---
>  14 files changed, 37 insertions(+), 3 deletions(-)
snip
> diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
> index d71dbc30c7..2b6d7efd94 100644
> --- a/tests/docker/dockerfiles/opensuse-leap.docker
> +++ b/tests/docker/dockerfiles/opensuse-leap.docker
> @@ -148,3 +148,5 @@ ARG USER
>  ARG UID
>  RUN if [ "${USER}" ]; then \
>    id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
> +
> +ENV ENABLE_RUST 1
> \ No newline at end of file
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index 649568c5c2..c585baa89c 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -63,7 +63,8 @@ add_user_mapping = [
>      "  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi\n"
>  ]
>  
> -def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None):
> +def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None,
> +                        enable_rust=True):
>      filename = Path(src_dir, "tests", "docker", "dockerfiles", host + ".docker")
>      cmd = lcitool_cmd + ["dockerfile"]
>      if cross is not None:
> @@ -75,6 +76,8 @@ def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None):
>      else:
>          trailer = "\n".join(add_user_mapping)
>  
> +    if enable_rust:
> +        trailer += "\nENV ENABLE_RUST 1"
Needs a trailing newline to remove all the
 "\ No newline at end of file"
warnings which will result in excessive diff context on subsequent
additions.
>      generate(filename, cmd, trailer)
>  
>  
> @@ -180,7 +183,9 @@ try:
>      generate_dockerfile("fedora", "fedora-41")
>      generate_dockerfile("opensuse-leap", "opensuse-leap-15")
>      generate_dockerfile("ubuntu2204", "ubuntu-2204",
> -                        trailer="".join(ubuntu2204_rust_extras))
> +                        trailer="".join(ubuntu2204_rust_extras),
> +                        # https://bugs.launchpad.net/ubuntu/+source/rustc-1.83/+bug/2120318
> +                        enable_rust=False)
>  
>      #
>      # Non-fatal Rust-enabled build
> @@ -237,7 +242,10 @@ try:
>                          project='qemu,qemu-win-installer',
>                          cross="mingw64",
>                          trailer=cross_build("x86_64-w64-mingw32-",
> -                                            "x86_64-softmmu"))
> +                                            "x86_64-softmmu"),
> +                        # linking with rust is buggy:
> +                        # https://github.com/mesonbuild/meson/pull/14991
> +                        enable_rust=False)
>  
>      #
>      # Cirrus packages lists for GitLab
> -- 
> 2.51.0
> 
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] 59+ messages in thread
* Re: [PATCH 19/24] configure: set the meson executable suffix/ext
  2025-09-19 13:33 ` [PATCH 19/24] configure: set the meson executable suffix/ext marcandre.lureau
@ 2025-09-19 14:41   ` Daniel P. Berrangé
  2025-09-22 10:34     ` Marc-André Lureau
  0 siblings, 1 reply; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:41 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:13PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
Please actually the reason why the change is needed. The code
change seems related to msys2 / Windows, but our CI is already
covering this and so what's broken ?
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  configure | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 8d84e3c5c0..7b1795ab29 100755
> --- a/configure
> +++ b/configure
> @@ -1000,7 +1000,19 @@ $mkvenv ensuregroup --dir "${source_path}/python/wheels" \
>  # We ignore PATH completely here: we want to use the venv's Meson
>  # *exclusively*.
>  
> -meson="$(cd pyvenv/bin; pwd)/meson"
> +# for msys2
> +get_pwd() {
> +    if pwd -W >/dev/null 2>&1; then
> +        pwd -W
> +    else
> +        pwd
> +    fi
> +}
> +
> +meson="$(cd pyvenv/bin; get_pwd)/meson"
> +if [ -f "$meson$EXESUF" ]; then
> +  meson="$meson$EXESUF"
> +fi
>  
>  # Conditionally ensure Sphinx is installed.
>  
> -- 
> 2.51.0
> 
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] 59+ messages in thread
* Re: [PATCH 20/24] tests/freebsd: enable Rust
  2025-09-19 13:33 ` [PATCH 20/24] tests/freebsd: enable Rust marcandre.lureau
@ 2025-09-19 14:41   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:41 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:14PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  .gitlab-ci.d/cirrus.yml | 2 +-
>  tests/vm/freebsd        | 4 +++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 59+ messages in thread
* Re: [PATCH 22/24] WIP: tests/docker: add rust to debian-legacy-test-cross
  2025-09-19 13:33 ` [PATCH 22/24] WIP: tests/docker: add rust to debian-legacy-test-cross marcandre.lureau
@ 2025-09-19 14:43   ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-19 14:43 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 05:33:16PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Unfortunately, debian 11 has bindgen version 0.55...
> 
> Should we install it with cargo install bindgen-cli?
Debian 11 is not a supported platform for QEMU anymore. We only
support at most 2 releases, which means 12 & 13 now. So this
dockerfile is overdue removal and/or update.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  .gitlab-ci.d/buildtest.yml                               | 2 +-
>  tests/docker/dockerfiles/debian-legacy-test-cross.docker | 6 +++++-
>  2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 94d646c5a7..efaa72f288 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -389,7 +389,7 @@ build-legacy:
>    variables:
>      IMAGE: debian-legacy-test-cross
>      TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user mips-linux-user mips-softmmu mipsel-linux-user mipsel-softmmu mips64-linux-user mips64-softmmu
> -    CONFIGURE_ARGS: --disable-tools
> +    CONFIGURE_ARGS: --disable-tools --enable-rust
>      MAKE_CHECK_ARGS: check-tcg
>  
>  build-user-hexagon:
> diff --git a/tests/docker/dockerfiles/debian-legacy-test-cross.docker b/tests/docker/dockerfiles/debian-legacy-test-cross.docker
> index 8c922b47f5..0014e59127 100644
> --- a/tests/docker/dockerfiles/debian-legacy-test-cross.docker
> +++ b/tests/docker/dockerfiles/debian-legacy-test-cross.docker
> @@ -25,6 +25,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>  RUN DEBIAN_FRONTEND=noninteractive eatmydata \
>          apt install -y --no-install-recommends \
>          bison \
> +        cargo \
>          ccache \
>          clang  \
>          flex \
> @@ -41,9 +42,12 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
>          python3-pip \
>          python3-setuptools \
>          python3-venv \
> -        python3-wheel && \
> +        python3-wheel \
> +        rustc-web \
> +        && \
>          dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
>  
> +RUN cargo install bindgen-cli
>  RUN /usr/bin/pip3 install tomli
>  
>  ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
> -- 
> 2.51.0
> 
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] 59+ messages in thread
* Re: [PATCH 05/24] configure: set the bindgen cross target
  2025-09-19 13:32 ` [PATCH 05/24] configure: set the bindgen cross target marcandre.lureau
@ 2025-09-19 15:08   ` Paolo Bonzini
  0 siblings, 0 replies; 59+ messages in thread
From: Paolo Bonzini @ 2025-09-19 15:08 UTC (permalink / raw)
  To: marcandre.lureau, qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Warner Losh, Alex Bennée,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On 9/19/25 15:32, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   configure | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/configure b/configure
> index 66613f3f4c..32eb313941 100755
> --- a/configure
> +++ b/configure
> @@ -1878,6 +1878,12 @@ if test "$skip_meson" = no; then
>         eval "c=\$devices_${a}"
>         echo "${a}-softmmu = '$c'" >> $cross
>     done
> +  if test "$rust" != disabled; then
> +      if test "$cross_compile" = "yes"; then
> +          # it's actually a clang target triple, but they should be same
> +          echo "bindgen_clang_arguments = [$(meson_quote --target="$rust_target_triple")]" >> $cross
> +      fi
> +  fi
Not exactly, see https://github.com/rust-lang/rust-bindgen/blob/main/bindgen/lib.rs#L683.
It should not be hard to rewrite in shell starting from
   clang_arch=$rust_arch
   clang_machine=$rust_machine
   clang_os=$rust_os
   clang_osvariant=$rust_osvariant
   ...
   if test "$android" = yes; then
     # e.g. aarch64-linux-android
     rust_target_triple=$rust_arch-$rust_os-$rust_osvariant
     clang_target_triple=$clang_arch-$clang_os-$clang_osvariant
   else
     rust_target_triple=$rust_arch-$rust_machine-$rust_os${rust_osvariant:+-$rust_osvariant}
     clang_target_triple=$clang_arch-$clang_machine-$clang_os${clang_osvariant:+-$clang_osvariant}
   fi
Paolo
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 06/24] RFC: configure: use the same machine as the host triple by default
  2025-09-19 13:33 ` [PATCH 06/24] RFC: configure: use the same machine as the host triple by default marcandre.lureau
@ 2025-09-19 15:11   ` Paolo Bonzini
  2025-09-19 22:27     ` Paolo Bonzini
  0 siblings, 1 reply; 59+ messages in thread
From: Paolo Bonzini @ 2025-09-19 15:11 UTC (permalink / raw)
  To: marcandre.lureau, qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Warner Losh, Alex Bennée,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On 9/19/25 15:33, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> IIRC, this fixes build on msys2 - although I can't reproduce. Maybe with
> some other host, on *bsd?
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   configure | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 32eb313941..c2f4534964 100755
> --- a/configure
> +++ b/configure
> @@ -1205,7 +1205,7 @@ if test "$rust" != disabled && test -z "$rust_target_triple"; then
>     # arch and os generally matches between meson and rust
>     rust_arch=$host_arch
>     rust_os=$host_os
> -  rust_machine=unknown
> +  rust_machine=$(echo $rust_host_triple | cut -d- -f2)
In theory the machine, when not unknown, should be computed in the case 
statement(s) below.  I remember I checked against "rustc --print 
target-list" but I could have missed some.
Paolo
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 06/24] RFC: configure: use the same machine as the host triple by default
  2025-09-19 15:11   ` Paolo Bonzini
@ 2025-09-19 22:27     ` Paolo Bonzini
  0 siblings, 0 replies; 59+ messages in thread
From: Paolo Bonzini @ 2025-09-19 22:27 UTC (permalink / raw)
  To: marcandre.lureau, qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Warner Losh, Alex Bennée,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Fri, Sep 19, 2025 at 5:11 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 9/19/25 15:33, marcandre.lureau@redhat.com wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > IIRC, this fixes build on msys2 - although I can't reproduce. Maybe with
> > some other host, on *bsd?
msys2 should have host_os=windows, so rust_machine would be
overwritten to pc below. The only cases where this makes a difference
should be cygwin, which is not supported, and wasm32 (I guess the Rust
triple to use would be wasm32-wasip1-threads).
Paolo
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 08/24] tests/docker: use fully qualified image name for emsdk
  2025-09-19 13:33 ` [PATCH 08/24] tests/docker: use fully qualified image name for emsdk marcandre.lureau
  2025-09-19 14:08   ` Daniel P. Berrangé
@ 2025-09-21  3:19   ` Kohei Tokunaga
  1 sibling, 0 replies; 59+ messages in thread
From: Kohei Tokunaga @ 2025-09-21  3:19 UTC (permalink / raw)
  To: marcandre.lureau, qemu-devel
  Cc: Jiaxun Yang, Ed Maste, Thomas Huth, Daniel P. Berrangé,
	Li-Wen Hsu, Yonggang Luo, Warner Losh, Alex Bennée,
	Paolo Bonzini, Philippe Mathieu-Daudé, Kyle Evans
[-- Attachment #1: Type: text/plain, Size: 1159 bytes --]
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Without it, at least it fails with podman on fc42:
>
> [1/6] STEP 1/15: FROM emscripten/emsdk:3.1.50 AS build-base
> Error: creating build container: short-name resolution enforced but
cannot prompt without a TTY
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/dockerfiles/emsdk-wasm32-cross.docker | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
b/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
> index 60a7d02f56..6b1642a207 100644
> --- a/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
> +++ b/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
> @@ -8,7 +8,7 @@ ARG PIXMAN_VERSION=0.44.2
>  ARG FFI_VERSION=v3.4.7
>  ARG MESON_VERSION=1.5.0
>
> -FROM emscripten/emsdk:$EMSDK_VERSION_QEMU AS build-base
> +FROM docker.io/emscripten/emsdk:$EMSDK_VERSION_QEMU AS build-base
>  ARG MESON_VERSION
>  ENV TARGET=/builddeps/target
>  ENV CPATH="$TARGET/include"
Reviewed-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
Regards,
Kohei Tokunaga
[-- Attachment #2: Type: text/html, Size: 1584 bytes --]
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 02/24] scripts/archive-source: speed up downloading subprojects
  2025-09-19 13:50   ` Daniel P. Berrangé
@ 2025-09-22  6:59     ` Marc-André Lureau
  2025-09-22  8:08       ` Daniel P. Berrangé
  0 siblings, 1 reply; 59+ messages in thread
From: Marc-André Lureau @ 2025-09-22  6:59 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
[-- Attachment #1: Type: text/plain, Size: 2611 bytes --]
Hi
On Fri, Sep 19, 2025 at 5:50 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:
> On Fri, Sep 19, 2025 at 05:32:56PM +0400, marcandre.lureau@redhat.com
> wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Running meson on each subproject is quite slow.
>
> Why is this faster ?  Does it make meson do parallel downloads
> if you list then all at once ?
>
It doesn't look like it does it in paralllel, yet it is x times faster...
time sh -c 'for s in keycodemapdb libvfio-user berkeley-softfloat-3
berkeley-testfloat-3 anyhow-1-rs arbitrary-int-1-rs bilge-0.2-rs
bilge-impl-0.2-rs either-1-rs foreign-0.3-rs itertools-0.11-rs libc-0.2-rs
proc-macro2-1-rs proc-macro-error-1-rs proc-macro-error-attr-1-rs
quote-1-rs syn-2-rs unicode-ident-1-rs; do
  meson subprojects download $s >/dev/null
done'
sh -c   5.27s user 0.33s system 99% cpu 5.613 total
time sh -c 'meson subprojects download keycodemapdb libvfio-user
berkeley-softfloat-3 berkeley-testfloat-3 anyhow-1-rs arbitrary-int-1-rs
bilge-0.2-rs bilge-impl-0.2-rs either-1-rs foreign-0.3-rs itertools-0.11-rs
libc-0.2-rs proc-macro2-1-rs proc-macro-error-1-rs
proc-macro-error-attr-1-rs quote-1-rs syn-2-rs unicode-ident-1-rs'
sh -c   0.32s user 0.01s system 99% cpu 0.339 total
>
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >  scripts/archive-source.sh | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> > index 035828c532..85cd0a63a0 100755
> > --- a/scripts/archive-source.sh
> > +++ b/scripts/archive-source.sh
> > @@ -77,9 +77,10 @@ function subproject_dir() {
> >  git archive --format tar "$(tree_ish)" > "$tar_file"
> >  test $? -ne 0 && error "failed to archive qemu"
> >
> > +meson subprojects download $subprojects
> > +test $? -ne 0 && error "failed to download subprojects $subprojects"
> > +
> >  for sp in $subprojects; do
> > -    meson subprojects download $sp
> > -    test $? -ne 0 && error "failed to download subproject $sp"
> >      tar --append --file "$tar_file" --exclude=.git
> subprojects/"$(subproject_dir $sp)"
> >      test $? -ne 0 && error "failed to append subproject $sp to
> $tar_file"
> >  done
> > --
> > 2.51.0
> >
>
> 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 :|
>
>
[-- Attachment #2: Type: text/html, Size: 4157 bytes --]
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 02/24] scripts/archive-source: speed up downloading subprojects
  2025-09-22  6:59     ` Marc-André Lureau
@ 2025-09-22  8:08       ` Daniel P. Berrangé
  2025-09-22  8:30         ` Paolo Bonzini
  0 siblings, 1 reply; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-22  8:08 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Mon, Sep 22, 2025 at 10:59:11AM +0400, Marc-André Lureau wrote:
> Hi
> 
> On Fri, Sep 19, 2025 at 5:50 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
> 
> > On Fri, Sep 19, 2025 at 05:32:56PM +0400, marcandre.lureau@redhat.com
> > wrote:
> > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> > >
> > > Running meson on each subproject is quite slow.
> >
> > Why is this faster ?  Does it make meson do parallel downloads
> > if you list then all at once ?
> >
> 
> It doesn't look like it does it in paralllel, yet it is x times faster...
> 
> time sh -c 'for s in keycodemapdb libvfio-user berkeley-softfloat-3
> berkeley-testfloat-3 anyhow-1-rs arbitrary-int-1-rs bilge-0.2-rs
> bilge-impl-0.2-rs either-1-rs foreign-0.3-rs itertools-0.11-rs libc-0.2-rs
> proc-macro2-1-rs proc-macro-error-1-rs proc-macro-error-attr-1-rs
> quote-1-rs syn-2-rs unicode-ident-1-rs; do
>   meson subprojects download $s >/dev/null
> done'
> sh -c   5.27s user 0.33s system 99% cpu 5.613 total
> 
> time sh -c 'meson subprojects download keycodemapdb libvfio-user
> berkeley-softfloat-3 berkeley-testfloat-3 anyhow-1-rs arbitrary-int-1-rs
> bilge-0.2-rs bilge-impl-0.2-rs either-1-rs foreign-0.3-rs itertools-0.11-rs
> libc-0.2-rs proc-macro2-1-rs proc-macro-error-1-rs
> proc-macro-error-attr-1-rs quote-1-rs syn-2-rs unicode-ident-1-rs'
> sh -c   0.32s user 0.01s system 99% cpu 0.339 total
Oh I bet that 0.32secs is the overhead of python importing all modules
that meson uses. Running python 18 times, gives the 5 second overhead.
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] 59+ messages in thread
* Re: [PATCH 02/24] scripts/archive-source: speed up downloading subprojects
  2025-09-22  8:08       ` Daniel P. Berrangé
@ 2025-09-22  8:30         ` Paolo Bonzini
  0 siblings, 0 replies; 59+ messages in thread
From: Paolo Bonzini @ 2025-09-22  8:30 UTC (permalink / raw)
  To: Daniel P. Berrangé, Marc-André Lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On 9/22/25 10:08, Daniel P. Berrangé wrote:
> On Mon, Sep 22, 2025 at 10:59:11AM +0400, Marc-André Lureau wrote:
>> Hi
>>
>> On Fri, Sep 19, 2025 at 5:50 PM Daniel P. Berrangé <berrange@redhat.com>
>> wrote:
>>
>>> On Fri, Sep 19, 2025 at 05:32:56PM +0400, marcandre.lureau@redhat.com
>>> wrote:
>>>> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>>>>
>>>> Running meson on each subproject is quite slow.
>>>
>>> Why is this faster ?  Does it make meson do parallel downloads
>>> if you list then all at once ?
>>>
>>
>> It doesn't look like it does it in paralllel, yet it is x times faster...
>>
>> time sh -c 'for s in keycodemapdb libvfio-user berkeley-softfloat-3
>> berkeley-testfloat-3 anyhow-1-rs arbitrary-int-1-rs bilge-0.2-rs
>> bilge-impl-0.2-rs either-1-rs foreign-0.3-rs itertools-0.11-rs libc-0.2-rs
>> proc-macro2-1-rs proc-macro-error-1-rs proc-macro-error-attr-1-rs
>> quote-1-rs syn-2-rs unicode-ident-1-rs; do
>>    meson subprojects download $s >/dev/null
>> done'
>> sh -c   5.27s user 0.33s system 99% cpu 5.613 total
>>
>> time sh -c 'meson subprojects download keycodemapdb libvfio-user
>> berkeley-softfloat-3 berkeley-testfloat-3 anyhow-1-rs arbitrary-int-1-rs
>> bilge-0.2-rs bilge-impl-0.2-rs either-1-rs foreign-0.3-rs itertools-0.11-rs
>> libc-0.2-rs proc-macro2-1-rs proc-macro-error-1-rs
>> proc-macro-error-attr-1-rs quote-1-rs syn-2-rs unicode-ident-1-rs'
>> sh -c   0.32s user 0.01s system 99% cpu 0.339 total
> 
> Oh I bet that 0.32secs is the overhead of python importing all modules
> that meson uses. Running python 18 times, gives the 5 second overhead.
Oh, it actually is parallel!
     loop = asyncio.new_event_loop()
     asyncio.set_event_loop(loop)
     executor = ThreadPoolExecutor(options.num_processes)
     ...
     for wrap in wraps:
         dirname = Path(source_dir, subproject_dir, 
wrap.directory).as_posix()
         runner = Runner(logger, r, wrap, dirname, options)
         task = loop.run_in_executor(executor, runner.run)
         tasks.append(task)
         task_names.append(wrap.name)
     results = loop.run_until_complete(asyncio.gather(*tasks))
and then Runner.run -> Runner.run_method -> Runner.download
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 14/24] tests: move mips to debian-legacy-test-cross
  2025-09-19 14:21   ` Daniel P. Berrangé
@ 2025-09-22  8:38     ` Marc-André Lureau
  2025-09-22  9:06       ` Daniel P. Berrangé
  0 siblings, 1 reply; 59+ messages in thread
From: Marc-André Lureau @ 2025-09-22  8:38 UTC (permalink / raw)
  To: Daniel P. Berrangé, Alex Bennée
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
[-- Attachment #1: Type: text/plain, Size: 2476 bytes --]
Hi
On Fri, Sep 19, 2025 at 6:21 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:
> On Fri, Sep 19, 2025 at 05:33:08PM +0400, marcandre.lureau@redhat.com
> wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > We are updating debian which dropped support for it:
> >
> https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
>
> If Debian 13 has dropped it, why aren't we just keeping the mips
> dockerfiles on 12 ?
>
> The debian-legacy-test-cross a manually written dockerfile that
> has almost none of our deps installed, and is still on 11 which
> is outside our support matrix now. So I don't think we should
> be expanding use of debian-legacy-test-cross, ideally it would
> be removed entirely.
>
>
debian-legacy-test-cross is for tests/tcg. Debian 11 supports more
architecture than 12 or 13..
> > diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
> > index 7a92fe388f..9da20ff7c3 160000
> > --- a/tests/lcitool/libvirt-ci
> > +++ b/tests/lcitool/libvirt-ci
> > @@ -1 +1 @@
> > -Subproject commit 7a92fe388f55d1bbc33e639e3484533f88c542ec
> > +Subproject commit 9da20ff7c3bc9067804a7561c2ff87583b434853
>
> This shouldn't be here.
>
>
right
> > diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> > index 6f98a91277..917ff4abfb 100755
> > --- a/tests/lcitool/refresh
> > +++ b/tests/lcitool/refresh
> > @@ -215,16 +215,6 @@ try:
> >                                              "x86_64-linux-user,"
> >
> "i386-softmmu,i386-linux-user"))
> >
> > -    generate_dockerfile("debian-mips64el-cross", "debian-12",
> > -                        cross="mips64el",
> > -                        trailer=cross_build("mips64el-linux-gnuabi64-",
> > -
> "mips64el-softmmu,mips64el-linux-user"))
> > -
> > -    generate_dockerfile("debian-mipsel-cross", "debian-12",
> > -                        cross="mipsel",
> > -                        trailer=cross_build("mipsel-linux-gnu-",
> > -
> "mipsel-softmmu,mipsel-linux-user"))
> > -
>
> I'm not seeing the need to remove these, when they could just
> stay on -12, when the next commit updates the other arches
> to -13.
>
Indeed.. it depends how much we want to keep covering. We already don't
cover all qemu cross compilations. The question is do we want to keep
cross-compiling for soon unsupported arches?
@Bennée, Alex <alex.bennee@linaro.org> might know, thanks
[-- Attachment #2: Type: text/html, Size: 4139 bytes --]
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 14/24] tests: move mips to debian-legacy-test-cross
  2025-09-22  8:38     ` Marc-André Lureau
@ 2025-09-22  9:06       ` Daniel P. Berrangé
  2025-09-22  9:44         ` Alex Bennée
  2025-09-22 15:10         ` Paolo Bonzini
  0 siblings, 2 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-22  9:06 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Alex Bennée, qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth,
	Li-Wen Hsu, Yonggang Luo, Warner Losh, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Mon, Sep 22, 2025 at 12:38:09PM +0400, Marc-André Lureau wrote:
> Hi
> 
> On Fri, Sep 19, 2025 at 6:21 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
> 
> > On Fri, Sep 19, 2025 at 05:33:08PM +0400, marcandre.lureau@redhat.com
> > wrote:
> > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> > >
> > > We are updating debian which dropped support for it:
> > >
> > https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
> >
> > If Debian 13 has dropped it, why aren't we just keeping the mips
> > dockerfiles on 12 ?
> >
> > The debian-legacy-test-cross a manually written dockerfile that
> > has almost none of our deps installed, and is still on 11 which
> > is outside our support matrix now. So I don't think we should
> > be expanding use of debian-legacy-test-cross, ideally it would
> > be removed entirely.
> >
> >
> debian-legacy-test-cross is for tests/tcg. Debian 11 supports more
> architecture than 12 or 13..
If there are architectures in 11 that can't be tested in 12,
then from QEMU's POV that is now an untestable feature, since
11 is outside our support target and we don't want to be
holding back our support platforms for this.
> > > diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> > > index 6f98a91277..917ff4abfb 100755
> > > --- a/tests/lcitool/refresh
> > > +++ b/tests/lcitool/refresh
> > > @@ -215,16 +215,6 @@ try:
> > >                                              "x86_64-linux-user,"
> > >
> > "i386-softmmu,i386-linux-user"))
> > >
> > > -    generate_dockerfile("debian-mips64el-cross", "debian-12",
> > > -                        cross="mips64el",
> > > -                        trailer=cross_build("mips64el-linux-gnuabi64-",
> > > -
> > "mips64el-softmmu,mips64el-linux-user"))
> > > -
> > > -    generate_dockerfile("debian-mipsel-cross", "debian-12",
> > > -                        cross="mipsel",
> > > -                        trailer=cross_build("mipsel-linux-gnu-",
> > > -
> > "mipsel-softmmu,mipsel-linux-user"))
> > > -
> >
> > I'm not seeing the need to remove these, when they could just
> > stay on -12, when the next commit updates the other arches
> > to -13.
> >
> 
> Indeed.. it depends how much we want to keep covering. We already don't
> cover all qemu cross compilations. The question is do we want to keep
> cross-compiling for soon unsupported arches?
> 
> @Bennée, Alex <alex.bennee@linaro.org> might know, thanks
A feature remains fully supported for production use the while time it
is marked as deprecated. Provided one of our current supported platforms
has the ability to test it, there should be no change to our testing
status of deprecated features. Given that -12 is still a supported
platform we should continue to use that, and certainly not replace it
with -11 which is an unsupported platform.
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] 59+ messages in thread
* Re: [PATCH 14/24] tests: move mips to debian-legacy-test-cross
  2025-09-22  9:06       ` Daniel P. Berrangé
@ 2025-09-22  9:44         ` Alex Bennée
  2025-09-22 15:10         ` Paolo Bonzini
  1 sibling, 0 replies; 59+ messages in thread
From: Alex Bennée @ 2025-09-22  9:44 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Marc-André Lureau, qemu-devel, Jiaxun Yang, Ed Maste,
	Thomas Huth, Li-Wen Hsu, Yonggang Luo, Warner Losh, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Mon, Sep 22, 2025 at 12:38:09PM +0400, Marc-André Lureau wrote:
>> Hi
>> 
>> On Fri, Sep 19, 2025 at 6:21 PM Daniel P. Berrangé <berrange@redhat.com>
>> wrote:
>> 
>> > On Fri, Sep 19, 2025 at 05:33:08PM +0400, marcandre.lureau@redhat.com
>> > wrote:
>> > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
>> > >
>> > > We are updating debian which dropped support for it:
>> > >
>> > https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
>> >
>> > If Debian 13 has dropped it, why aren't we just keeping the mips
>> > dockerfiles on 12 ?
>> >
>> > The debian-legacy-test-cross a manually written dockerfile that
>> > has almost none of our deps installed, and is still on 11 which
>> > is outside our support matrix now. So I don't think we should
>> > be expanding use of debian-legacy-test-cross, ideally it would
>> > be removed entirely.
>> >
>> >
>> debian-legacy-test-cross is for tests/tcg. Debian 11 supports more
>> architecture than 12 or 13..
>
> If there are architectures in 11 that can't be tested in 12,
> then from QEMU's POV that is now an untestable feature, since
> 11 is outside our support target and we don't want to be
> holding back our support platforms for this.
>
>> > > diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
>> > > index 6f98a91277..917ff4abfb 100755
>> > > --- a/tests/lcitool/refresh
>> > > +++ b/tests/lcitool/refresh
>> > > @@ -215,16 +215,6 @@ try:
>> > >                                              "x86_64-linux-user,"
>> > >
>> > "i386-softmmu,i386-linux-user"))
>> > >
>> > > -    generate_dockerfile("debian-mips64el-cross", "debian-12",
>> > > -                        cross="mips64el",
>> > > -                        trailer=cross_build("mips64el-linux-gnuabi64-",
>> > > -
>> > "mips64el-softmmu,mips64el-linux-user"))
>> > > -
>> > > -    generate_dockerfile("debian-mipsel-cross", "debian-12",
>> > > -                        cross="mipsel",
>> > > -                        trailer=cross_build("mipsel-linux-gnu-",
>> > > -
>> > "mipsel-softmmu,mipsel-linux-user"))
>> > > -
>> >
>> > I'm not seeing the need to remove these, when they could just
>> > stay on -12, when the next commit updates the other arches
>> > to -13.
>> >
>> 
>> Indeed.. it depends how much we want to keep covering. We already don't
>> cover all qemu cross compilations. The question is do we want to keep
>> cross-compiling for soon unsupported arches?
Cross compiling QEMU depends on decent multi-arch support and indeed we
should deprecate it now so we can drop it when bookworm finally drops
out of LTS.
debian-legacy-test-cross is the held back version of
debian-all-test-cross which is a native build + the cross compilers for
check-tcg.
>> 
>> @Bennée, Alex <alex.bennee@linaro.org> might know, thanks
>
> A feature remains fully supported for production use the while time it
> is marked as deprecated. Provided one of our current supported platforms
> has the ability to test it, there should be no change to our testing
> status of deprecated features. Given that -12 is still a supported
> platform we should continue to use that, and certainly not replace it
> with -11 which is an unsupported platform.
>
> With regards,
> Daniel
-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 19/24] configure: set the meson executable suffix/ext
  2025-09-19 14:41   ` Daniel P. Berrangé
@ 2025-09-22 10:34     ` Marc-André Lureau
  2025-09-22 10:40       ` Daniel P. Berrangé
  0 siblings, 1 reply; 59+ messages in thread
From: Marc-André Lureau @ 2025-09-22 10:34 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
[-- Attachment #1: Type: text/plain, Size: 1758 bytes --]
Hi
On Fri, Sep 19, 2025 at 6:41 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:
> On Fri, Sep 19, 2025 at 05:33:13PM +0400, marcandre.lureau@redhat.com
> wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
>
> Please actually the reason why the change is needed. The code
> change seems related to msys2 / Windows, but our CI is already
> covering this and so what's broken ?
>
It doesn't cover --enable-rust yet:
../rust/meson.build:41:2: ERROR: Program
'/c/Users/User/qemu/build/pyvenv/bin/meson' not found or not executable
>
>
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >  configure | 14 +++++++++++++-
> >  1 file changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index 8d84e3c5c0..7b1795ab29 100755
> > --- a/configure
> > +++ b/configure
> > @@ -1000,7 +1000,19 @@ $mkvenv ensuregroup --dir
> "${source_path}/python/wheels" \
> >  # We ignore PATH completely here: we want to use the venv's Meson
> >  # *exclusively*.
> >
> > -meson="$(cd pyvenv/bin; pwd)/meson"
> > +# for msys2
> > +get_pwd() {
> > +    if pwd -W >/dev/null 2>&1; then
> > +        pwd -W
> > +    else
> > +        pwd
> > +    fi
> > +}
> > +
> > +meson="$(cd pyvenv/bin; get_pwd)/meson"
> > +if [ -f "$meson$EXESUF" ]; then
> > +  meson="$meson$EXESUF"
> > +fi
> >
> >  # Conditionally ensure Sphinx is installed.
> >
> > --
> > 2.51.0
> >
>
> 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 :|
>
>
[-- Attachment #2: Type: text/html, Size: 3261 bytes --]
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 19/24] configure: set the meson executable suffix/ext
  2025-09-22 10:34     ` Marc-André Lureau
@ 2025-09-22 10:40       ` Daniel P. Berrangé
  2025-09-22 10:45         ` Marc-André Lureau
  0 siblings, 1 reply; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-22 10:40 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Mon, Sep 22, 2025 at 02:34:25PM +0400, Marc-André Lureau wrote:
> Hi
> 
> On Fri, Sep 19, 2025 at 6:41 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
> 
> > On Fri, Sep 19, 2025 at 05:33:13PM +0400, marcandre.lureau@redhat.com
> > wrote:
> > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> >
> > Please actually the reason why the change is needed. The code
> > change seems related to msys2 / Windows, but our CI is already
> > covering this and so what's broken ?
> >
> 
> It doesn't cover --enable-rust yet:
> 
> ../rust/meson.build:41:2: ERROR: Program
> '/c/Users/User/qemu/build/pyvenv/bin/meson' not found or not executable
So it is is called meson.exe on Windows, even though it is a
script, not an executable ?
Can you put all this info in the commit message.
> 
> 
> >
> >
> > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > > ---
> > >  configure | 14 +++++++++++++-
> > >  1 file changed, 13 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/configure b/configure
> > > index 8d84e3c5c0..7b1795ab29 100755
> > > --- a/configure
> > > +++ b/configure
> > > @@ -1000,7 +1000,19 @@ $mkvenv ensuregroup --dir
> > "${source_path}/python/wheels" \
> > >  # We ignore PATH completely here: we want to use the venv's Meson
> > >  # *exclusively*.
> > >
> > > -meson="$(cd pyvenv/bin; pwd)/meson"
> > > +# for msys2
> > > +get_pwd() {
> > > +    if pwd -W >/dev/null 2>&1; then
> > > +        pwd -W
> > > +    else
> > > +        pwd
> > > +    fi
> > > +}
> > > +
> > > +meson="$(cd pyvenv/bin; get_pwd)/meson"
> > > +if [ -f "$meson$EXESUF" ]; then
> > > +  meson="$meson$EXESUF"
> > > +fi
> > >
> > >  # Conditionally ensure Sphinx is installed.
> > >
> > > --
> > > 2.51.0
> > >
> >
> > 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 :|
> >
> >
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] 59+ messages in thread
* Re: [PATCH 19/24] configure: set the meson executable suffix/ext
  2025-09-22 10:40       ` Daniel P. Berrangé
@ 2025-09-22 10:45         ` Marc-André Lureau
  0 siblings, 0 replies; 59+ messages in thread
From: Marc-André Lureau @ 2025-09-22 10:45 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth, Li-Wen Hsu,
	Yonggang Luo, Warner Losh, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
Hi
On Mon, Sep 22, 2025 at 2:42 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Mon, Sep 22, 2025 at 02:34:25PM +0400, Marc-André Lureau wrote:
> > Hi
> >
> > On Fri, Sep 19, 2025 at 6:41 PM Daniel P. Berrangé <berrange@redhat.com>
> > wrote:
> >
> > > On Fri, Sep 19, 2025 at 05:33:13PM +0400, marcandre.lureau@redhat.com
> > > wrote:
> > > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> > >
> > >
> > > Please actually the reason why the change is needed. The code
> > > change seems related to msys2 / Windows, but our CI is already
> > > covering this and so what's broken ?
> > >
> >
> > It doesn't cover --enable-rust yet:
> >
> > ../rust/meson.build:41:2: ERROR: Program
> > '/c/Users/User/qemu/build/pyvenv/bin/meson' not found or not executable
>
> So it is is called meson.exe on Windows, even though it is a
> script, not an executable ?
It's a PE EXE. I don't know how it works there.
> Can you put all this info in the commit message.
sure
> >
> >
> > >
> > >
> > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > > > ---
> > > >  configure | 14 +++++++++++++-
> > > >  1 file changed, 13 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/configure b/configure
> > > > index 8d84e3c5c0..7b1795ab29 100755
> > > > --- a/configure
> > > > +++ b/configure
> > > > @@ -1000,7 +1000,19 @@ $mkvenv ensuregroup --dir
> > > "${source_path}/python/wheels" \
> > > >  # We ignore PATH completely here: we want to use the venv's Meson
> > > >  # *exclusively*.
> > > >
> > > > -meson="$(cd pyvenv/bin; pwd)/meson"
> > > > +# for msys2
> > > > +get_pwd() {
> > > > +    if pwd -W >/dev/null 2>&1; then
> > > > +        pwd -W
> > > > +    else
> > > > +        pwd
> > > > +    fi
> > > > +}
> > > > +
> > > > +meson="$(cd pyvenv/bin; get_pwd)/meson"
> > > > +if [ -f "$meson$EXESUF" ]; then
> > > > +  meson="$meson$EXESUF"
> > > > +fi
> > > >
> > > >  # Conditionally ensure Sphinx is installed.
> > > >
> > > > --
> > > > 2.51.0
> > > >
> > >
> > > 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 :|
> > >
> > >
>
> 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 :|
>
>
-- 
Marc-André Lureau
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 14/24] tests: move mips to debian-legacy-test-cross
  2025-09-22  9:06       ` Daniel P. Berrangé
  2025-09-22  9:44         ` Alex Bennée
@ 2025-09-22 15:10         ` Paolo Bonzini
  2025-09-22 16:40           ` Daniel P. Berrangé
  1 sibling, 1 reply; 59+ messages in thread
From: Paolo Bonzini @ 2025-09-22 15:10 UTC (permalink / raw)
  To: Daniel P. Berrangé, Marc-André Lureau
  Cc: Alex Bennée, qemu-devel, Jiaxun Yang, Ed Maste, Thomas Huth,
	Li-Wen Hsu, Yonggang Luo, Warner Losh,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On 9/22/25 11:06, Daniel P. Berrangé wrote:
> On Mon, Sep 22, 2025 at 12:38:09PM +0400, Marc-André Lureau wrote:
>> debian-legacy-test-cross is for tests/tcg. Debian 11 supports more
>> architecture than 12 or 13..
> 
> If there are architectures in 11 that can't be tested in 12,
> then from QEMU's POV that is now an untestable feature, since
> 11 is outside our support target and we don't want to be
> holding back our support platforms for this.
That is true for using that architecture as a host; but as a target, the 
architecture remains testable with just a few extra hoops to obtain a 
working cross compiler.
Paolo
^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH 14/24] tests: move mips to debian-legacy-test-cross
  2025-09-22 15:10         ` Paolo Bonzini
@ 2025-09-22 16:40           ` Daniel P. Berrangé
  0 siblings, 0 replies; 59+ messages in thread
From: Daniel P. Berrangé @ 2025-09-22 16:40 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Marc-André Lureau, Alex Bennée, qemu-devel, Jiaxun Yang,
	Ed Maste, Thomas Huth, Li-Wen Hsu, Yonggang Luo, Warner Losh,
	Philippe Mathieu-Daudé, Kohei Tokunaga, Kyle Evans
On Mon, Sep 22, 2025 at 05:10:56PM +0200, Paolo Bonzini wrote:
> On 9/22/25 11:06, Daniel P. Berrangé wrote:
> > On Mon, Sep 22, 2025 at 12:38:09PM +0400, Marc-André Lureau wrote:
> > > debian-legacy-test-cross is for tests/tcg. Debian 11 supports more
> > > architecture than 12 or 13..
> > 
> > If there are architectures in 11 that can't be tested in 12,
> > then from QEMU's POV that is now an untestable feature, since
> > 11 is outside our support target and we don't want to be
> > holding back our support platforms for this.
> 
> That is true for using that architecture as a host; but as a target, the
> architecture remains testable with just a few extra hoops to obtain a
> working cross compiler.
The commit here mixes that boundary though. The legacy container is
currently used to provide cross compilers for the check-tcg tests
with is outside scope of our support matrix. This commit, however,
is removing the testing of mips host build on Debian 12, while
adding mips gcc to this old Debian 11 container.
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] 59+ messages in thread
end of thread, other threads:[~2025-09-22 16:41 UTC | newest]
Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-19 13:32 [PATCH 00/24] CI/build-sys fixes to enable Rust more widely marcandre.lureau
2025-09-19 13:32 ` [PATCH 01/24] gitlab-ci: fix 'needs' property type must be array marcandre.lureau
2025-09-19 14:05   ` Daniel P. Berrangé
2025-09-19 13:32 ` [PATCH 02/24] scripts/archive-source: speed up downloading subprojects marcandre.lureau
2025-09-19 13:50   ` Daniel P. Berrangé
2025-09-22  6:59     ` Marc-André Lureau
2025-09-22  8:08       ` Daniel P. Berrangé
2025-09-22  8:30         ` Paolo Bonzini
2025-09-19 13:32 ` [PATCH 03/24] scripts/archive-source: silence subprojects downloads marcandre.lureau
2025-09-19 13:49   ` Daniel P. Berrangé
2025-09-19 13:32 ` [PATCH 04/24] configure: fix rust meson configuration marcandre.lureau
2025-09-19 14:06   ` Daniel P. Berrangé
2025-09-19 13:32 ` [PATCH 05/24] configure: set the bindgen cross target marcandre.lureau
2025-09-19 15:08   ` Paolo Bonzini
2025-09-19 13:33 ` [PATCH 06/24] RFC: configure: use the same machine as the host triple by default marcandre.lureau
2025-09-19 15:11   ` Paolo Bonzini
2025-09-19 22:27     ` Paolo Bonzini
2025-09-19 13:33 ` [PATCH 07/24] tests/docker/common: print errors to stderr marcandre.lureau
2025-09-19 14:07   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 08/24] tests/docker: use fully qualified image name for emsdk marcandre.lureau
2025-09-19 14:08   ` Daniel P. Berrangé
2025-09-21  3:19   ` Kohei Tokunaga
2025-09-19 13:33 ` [PATCH 09/24] tests/docker/common: print meson log on configure failure marcandre.lureau
2025-09-19 14:09   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 10/24] lcitool: update, switch to f41 marcandre.lureau
2025-09-19 14:10   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 11/24] lcitool/qemu: include libclang-rt for TSAN marcandre.lureau
2025-09-19 14:10   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 12/24] lcitool/alpine: workaround bindgen issue marcandre.lureau
2025-09-19 14:10   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 13/24] tests/lcitool: add missing rust-std dep marcandre.lureau
2025-09-19 14:11   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 14/24] tests: move mips to debian-legacy-test-cross marcandre.lureau
2025-09-19 14:21   ` Daniel P. Berrangé
2025-09-22  8:38     ` Marc-André Lureau
2025-09-22  9:06       ` Daniel P. Berrangé
2025-09-22  9:44         ` Alex Bennée
2025-09-22 15:10         ` Paolo Bonzini
2025-09-22 16:40           ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 15/24] tests/lcitool: update to debian13 marcandre.lureau
2025-09-19 14:21   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 16/24] build-sys: cfi_debug and safe_stack are not compatible marcandre.lureau
2025-09-19 14:25   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 17/24] tests/docker: add ENABLE_RUST environment marcandre.lureau
2025-09-19 14:37   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 18/24] tests/lcitool: enable rust & refresh marcandre.lureau
2025-09-19 14:39   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 19/24] configure: set the meson executable suffix/ext marcandre.lureau
2025-09-19 14:41   ` Daniel P. Berrangé
2025-09-22 10:34     ` Marc-André Lureau
2025-09-22 10:40       ` Daniel P. Berrangé
2025-09-22 10:45         ` Marc-André Lureau
2025-09-19 13:33 ` [PATCH 20/24] tests/freebsd: enable Rust marcandre.lureau
2025-09-19 14:41   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 21/24] meson: rust-bindgen limit allowlist-file to srcdir/include marcandre.lureau
2025-09-19 13:33 ` [PATCH 22/24] WIP: tests/docker: add rust to debian-legacy-test-cross marcandre.lureau
2025-09-19 14:43   ` Daniel P. Berrangé
2025-09-19 13:33 ` [PATCH 23/24] WIP: gitlab-ci: enable rust for msys2-64bit marcandre.lureau
2025-09-19 13:33 ` [PATCH 24/24] WIP: cirrus/macos: enable Rust marcandre.lureau
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).