docs/about/build-platforms.rst | 2 - docs/about/deprecated.rst | 9 +-- configure | 27 +++++++- meson.build | 34 +++++++--- .gitlab-ci.d/buildtest-template.yml | 2 +- .gitlab-ci.d/buildtest.yml | 66 +++++++++---------- .gitlab-ci.d/cirrus.yml | 4 +- .gitlab-ci.d/crossbuilds.yml | 46 ++++++------- .gitlab-ci.d/static_checks.yml | 6 +- .gitlab-ci.d/windows.yml | 8 ++- rust/bql/meson.build | 1 + rust/chardev/meson.build | 1 + rust/hw/char/pl011/meson.build | 1 + rust/hw/core/meson.build | 1 + rust/migration/meson.build | 3 +- rust/qom/meson.build | 1 + rust/system/meson.build | 1 + rust/util/meson.build | 1 + scripts/archive-source.sh | 33 +++++++--- .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +- .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +- scripts/rust-to-clang-target-test.sh | 43 ++++++++++++ scripts/rust-to-clang-target.sh | 62 +++++++++++++++++ tests/docker/common.rc | 11 +++- tests/docker/dockerfiles/alpine.docker | 6 +- tests/docker/dockerfiles/centos9.docker | 4 ++ .../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 | 9 ++- .../dockerfiles/debian-mips64el-cross.docker | 9 ++- .../dockerfiles/debian-mipsel-cross.docker | 9 ++- .../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 | 29 +++++++- .../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/docker/test-wasm | 12 ++++ tests/lcitool/libvirt-ci | 2 +- tests/lcitool/projects/qemu.yml | 3 +- tests/lcitool/refresh | 48 +++++++++----- tests/vm/freebsd | 4 +- 48 files changed, 531 insertions(+), 183 deletions(-) create mode 100755 scripts/rust-to-clang-target-test.sh create mode 100644 scripts/rust-to-clang-target.sh create mode 100755 tests/docker/test-wasm
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. emscripten is difficult to enable, help welcome. v2: - add a rust-to-clang-target-test.sh configure script - drop "RFC: configure: use the same machine as the host triple" - replace "tests: move mips to debian-legacy-test-cross" with "RFC: build-sys: deprecate mips host" - start tackling emscripten - fix mis-placed submodule update - other minor changes, commit message tweaks, bz links - add r-b tags Marc-André Lureau (27): build-sys: require -lrt when no shm_open() in std libs gitlab-ci: fix 'needs' property type must be array scripts/archive-source: speed up downloading subprojects scripts/archive-source: silence subprojects downloads scripts/archive-source: use a bash array configure: fix rust meson configuration configure: set the bindgen cross target 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 build-sys: cfi_debug and safe_stack are not compatible 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/lcitool: update to debian13 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 RFC: tests/docker: add rust to debian-legacy-test-cross WIP: gitlab-ci: enable rust for msys2-64bit WIP: cirrus/macos: enable Rust RFC: build-sys: deprecate mips host build-sys: pass -fvisibility=default for wasm bindgen WIP: enable rust for wasm/emscripten docs/about/build-platforms.rst | 2 - docs/about/deprecated.rst | 9 +-- configure | 27 +++++++- meson.build | 34 +++++++--- .gitlab-ci.d/buildtest-template.yml | 2 +- .gitlab-ci.d/buildtest.yml | 66 +++++++++---------- .gitlab-ci.d/cirrus.yml | 4 +- .gitlab-ci.d/crossbuilds.yml | 46 ++++++------- .gitlab-ci.d/static_checks.yml | 6 +- .gitlab-ci.d/windows.yml | 8 ++- rust/bql/meson.build | 1 + rust/chardev/meson.build | 1 + rust/hw/char/pl011/meson.build | 1 + rust/hw/core/meson.build | 1 + rust/migration/meson.build | 3 +- rust/qom/meson.build | 1 + rust/system/meson.build | 1 + rust/util/meson.build | 1 + scripts/archive-source.sh | 33 +++++++--- .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +- .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +- scripts/rust-to-clang-target-test.sh | 43 ++++++++++++ scripts/rust-to-clang-target.sh | 62 +++++++++++++++++ tests/docker/common.rc | 11 +++- tests/docker/dockerfiles/alpine.docker | 6 +- tests/docker/dockerfiles/centos9.docker | 4 ++ .../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 | 9 ++- .../dockerfiles/debian-mips64el-cross.docker | 9 ++- .../dockerfiles/debian-mipsel-cross.docker | 9 ++- .../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 | 29 +++++++- .../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/docker/test-wasm | 12 ++++ tests/lcitool/libvirt-ci | 2 +- tests/lcitool/projects/qemu.yml | 3 +- tests/lcitool/refresh | 48 +++++++++----- tests/vm/freebsd | 4 +- 48 files changed, 531 insertions(+), 183 deletions(-) create mode 100755 scripts/rust-to-clang-target-test.sh create mode 100644 scripts/rust-to-clang-target.sh create mode 100755 tests/docker/test-wasm -- 2.51.0
marcandre.lureau@redhat.com writes: > 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. > > emscripten is difficult to enable, help welcome. Also I think: https://gitlab.com/stsquad/qemu/-/pipelines/2065603411 And the: debian-armhf-cross debian-i686-cross debian-mipsel-cross debian-mips64el-cross debian-ppc64el-cross debian-riscv64-cross cross builds fail. > > v2: > - add a rust-to-clang-target-test.sh configure script > - drop "RFC: configure: use the same machine as the host triple" > - replace "tests: move mips to debian-legacy-test-cross" with "RFC: build-sys: deprecate mips host" > - start tackling emscripten > - fix mis-placed submodule update > - other minor changes, commit message tweaks, bz links > - add r-b tags > > Marc-André Lureau (27): > build-sys: require -lrt when no shm_open() in std libs > gitlab-ci: fix 'needs' property type must be array > scripts/archive-source: speed up downloading subprojects > scripts/archive-source: silence subprojects downloads > scripts/archive-source: use a bash array > configure: fix rust meson configuration > configure: set the bindgen cross target > 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 > build-sys: cfi_debug and safe_stack are not compatible > 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/lcitool: update to debian13 > 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 > RFC: tests/docker: add rust to debian-legacy-test-cross > WIP: gitlab-ci: enable rust for msys2-64bit > WIP: cirrus/macos: enable Rust > RFC: build-sys: deprecate mips host > build-sys: pass -fvisibility=default for wasm bindgen > WIP: enable rust for wasm/emscripten > > docs/about/build-platforms.rst | 2 - > docs/about/deprecated.rst | 9 +-- > configure | 27 +++++++- > meson.build | 34 +++++++--- > .gitlab-ci.d/buildtest-template.yml | 2 +- > .gitlab-ci.d/buildtest.yml | 66 +++++++++---------- > .gitlab-ci.d/cirrus.yml | 4 +- > .gitlab-ci.d/crossbuilds.yml | 46 ++++++------- > .gitlab-ci.d/static_checks.yml | 6 +- > .gitlab-ci.d/windows.yml | 8 ++- > rust/bql/meson.build | 1 + > rust/chardev/meson.build | 1 + > rust/hw/char/pl011/meson.build | 1 + > rust/hw/core/meson.build | 1 + > rust/migration/meson.build | 3 +- > rust/qom/meson.build | 1 + > rust/system/meson.build | 1 + > rust/util/meson.build | 1 + > scripts/archive-source.sh | 33 +++++++--- > .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +- > .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +- > scripts/rust-to-clang-target-test.sh | 43 ++++++++++++ > scripts/rust-to-clang-target.sh | 62 +++++++++++++++++ > tests/docker/common.rc | 11 +++- > tests/docker/dockerfiles/alpine.docker | 6 +- > tests/docker/dockerfiles/centos9.docker | 4 ++ > .../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 | 9 ++- > .../dockerfiles/debian-mips64el-cross.docker | 9 ++- > .../dockerfiles/debian-mipsel-cross.docker | 9 ++- > .../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 | 29 +++++++- > .../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/docker/test-wasm | 12 ++++ > tests/lcitool/libvirt-ci | 2 +- > tests/lcitool/projects/qemu.yml | 3 +- > tests/lcitool/refresh | 48 +++++++++----- > tests/vm/freebsd | 4 +- > 48 files changed, 531 insertions(+), 183 deletions(-) > create mode 100755 scripts/rust-to-clang-target-test.sh > create mode 100644 scripts/rust-to-clang-target.sh > create mode 100755 tests/docker/test-wasm -- Alex Bennée Virtualisation Tech Lead @ Linaro
On Sat, Sep 27, 2025 at 9:18 PM Alex Bennée <alex.bennee@linaro.org> wrote: > marcandre.lureau@redhat.com writes: > > > 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. > > > > emscripten is difficult to enable, help welcome. > > Also I think: > > https://gitlab.com/stsquad/qemu/-/pipelines/2065603411 Current ack/r-b series pass: https://gitlab.com/marcandre.lureau/qemu/-/pipelines/2071701923 I guess I should end a PR. > > And the: > debian-armhf-cross debian-mipsel-cross > debian-mips64el-cross > debian-ppc64el-cross > debian-riscv64-cross > > cross builds fail. Fixed with the --rust-target-triple patch sent earlier > debian-i686-cross > This one fails with: ../src/meson.build:3394:4: ERROR: Problem encountered: No accelerator available for target x86_64-softmmu Paolo, any idea? > > > > v2: > > - add a rust-to-clang-target-test.sh configure script > > - drop "RFC: configure: use the same machine as the host triple" > > - replace "tests: move mips to debian-legacy-test-cross" with "RFC: > build-sys: deprecate mips host" > > - start tackling emscripten > > - fix mis-placed submodule update > > - other minor changes, commit message tweaks, bz links > > - add r-b tags > > > > Marc-André Lureau (27): > > build-sys: require -lrt when no shm_open() in std libs > > gitlab-ci: fix 'needs' property type must be array > > scripts/archive-source: speed up downloading subprojects > > scripts/archive-source: silence subprojects downloads > > scripts/archive-source: use a bash array > > configure: fix rust meson configuration > > configure: set the bindgen cross target > > 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 > > build-sys: cfi_debug and safe_stack are not compatible > > 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/lcitool: update to debian13 > > 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 > > RFC: tests/docker: add rust to debian-legacy-test-cross > > WIP: gitlab-ci: enable rust for msys2-64bit > > WIP: cirrus/macos: enable Rust > > RFC: build-sys: deprecate mips host > > build-sys: pass -fvisibility=default for wasm bindgen > > WIP: enable rust for wasm/emscripten > > > > docs/about/build-platforms.rst | 2 - > > docs/about/deprecated.rst | 9 +-- > > configure | 27 +++++++- > > meson.build | 34 +++++++--- > > .gitlab-ci.d/buildtest-template.yml | 2 +- > > .gitlab-ci.d/buildtest.yml | 66 +++++++++---------- > > .gitlab-ci.d/cirrus.yml | 4 +- > > .gitlab-ci.d/crossbuilds.yml | 46 ++++++------- > > .gitlab-ci.d/static_checks.yml | 6 +- > > .gitlab-ci.d/windows.yml | 8 ++- > > rust/bql/meson.build | 1 + > > rust/chardev/meson.build | 1 + > > rust/hw/char/pl011/meson.build | 1 + > > rust/hw/core/meson.build | 1 + > > rust/migration/meson.build | 3 +- > > rust/qom/meson.build | 1 + > > rust/system/meson.build | 1 + > > rust/util/meson.build | 1 + > > scripts/archive-source.sh | 33 +++++++--- > > .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +- > > .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +- > > scripts/rust-to-clang-target-test.sh | 43 ++++++++++++ > > scripts/rust-to-clang-target.sh | 62 +++++++++++++++++ > > tests/docker/common.rc | 11 +++- > > tests/docker/dockerfiles/alpine.docker | 6 +- > > tests/docker/dockerfiles/centos9.docker | 4 ++ > > .../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 | 9 ++- > > .../dockerfiles/debian-mips64el-cross.docker | 9 ++- > > .../dockerfiles/debian-mipsel-cross.docker | 9 ++- > > .../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 | 29 +++++++- > > .../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/docker/test-wasm | 12 ++++ > > tests/lcitool/libvirt-ci | 2 +- > > tests/lcitool/projects/qemu.yml | 3 +- > > tests/lcitool/refresh | 48 +++++++++----- > > tests/vm/freebsd | 4 +- > > 48 files changed, 531 insertions(+), 183 deletions(-) > > create mode 100755 scripts/rust-to-clang-target-test.sh > > create mode 100644 scripts/rust-to-clang-target.sh > > create mode 100755 tests/docker/test-wasm > > -- > Alex Bennée > Virtualisation Tech Lead @ Linaro > >
Marc-André Lureau <marcandre.lureau@redhat.com> writes: > On Sat, Sep 27, 2025 at 9:18 PM Alex Bennée <alex.bennee@linaro.org> wrote: > > marcandre.lureau@redhat.com writes: > > > 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. > > > > emscripten is difficult to enable, help welcome. > > Also I think: > > https://gitlab.com/stsquad/qemu/-/pipelines/2065603411 > > Current ack/r-b series pass: https://gitlab.com/marcandre.lureau/qemu/-/pipelines/2071701923 > > I guess I should end a PR. > > And the: > debian-armhf-cross > > debian-mipsel-cross > debian-mips64el-cross > > debian-ppc64el-cross > debian-riscv64-cross > > cross builds fail. > > Fixed with the --rust-target-triple patch sent earlier > > debian-i686-cross > > This one fails with: > ../src/meson.build:3394:4: ERROR: Problem encountered: No accelerator > available for target x86_64-softmmu Ahh - because TCG on 32 bit no longer allows 64 bit guests we cannot find an accelerator. I'll fix that up in my current testing/next series by updating DEF_TARGETS > > Paolo, any idea? > > > > > v2: > > - add a rust-to-clang-target-test.sh configure script > > - drop "RFC: configure: use the same machine as the host triple" > > - replace "tests: move mips to debian-legacy-test-cross" with "RFC: build-sys: deprecate mips host" > > - start tackling emscripten > > - fix mis-placed submodule update > > - other minor changes, commit message tweaks, bz links > > - add r-b tags > > > > Marc-André Lureau (27): > > build-sys: require -lrt when no shm_open() in std libs > > gitlab-ci: fix 'needs' property type must be array > > scripts/archive-source: speed up downloading subprojects > > scripts/archive-source: silence subprojects downloads > > scripts/archive-source: use a bash array > > configure: fix rust meson configuration > > configure: set the bindgen cross target > > 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 > > build-sys: cfi_debug and safe_stack are not compatible > > 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/lcitool: update to debian13 > > 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 > > RFC: tests/docker: add rust to debian-legacy-test-cross > > WIP: gitlab-ci: enable rust for msys2-64bit > > WIP: cirrus/macos: enable Rust > > RFC: build-sys: deprecate mips host > > build-sys: pass -fvisibility=default for wasm bindgen > > WIP: enable rust for wasm/emscripten > > > > docs/about/build-platforms.rst | 2 - > > docs/about/deprecated.rst | 9 +-- > > configure | 27 +++++++- > > meson.build | 34 +++++++--- > > .gitlab-ci.d/buildtest-template.yml | 2 +- > > .gitlab-ci.d/buildtest.yml | 66 +++++++++---------- > > .gitlab-ci.d/cirrus.yml | 4 +- > > .gitlab-ci.d/crossbuilds.yml | 46 ++++++------- > > .gitlab-ci.d/static_checks.yml | 6 +- > > .gitlab-ci.d/windows.yml | 8 ++- > > rust/bql/meson.build | 1 + > > rust/chardev/meson.build | 1 + > > rust/hw/char/pl011/meson.build | 1 + > > rust/hw/core/meson.build | 1 + > > rust/migration/meson.build | 3 +- > > rust/qom/meson.build | 1 + > > rust/system/meson.build | 1 + > > rust/util/meson.build | 1 + > > scripts/archive-source.sh | 33 +++++++--- > > .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +- > > .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +- > > scripts/rust-to-clang-target-test.sh | 43 ++++++++++++ > > scripts/rust-to-clang-target.sh | 62 +++++++++++++++++ > > tests/docker/common.rc | 11 +++- > > tests/docker/dockerfiles/alpine.docker | 6 +- > > tests/docker/dockerfiles/centos9.docker | 4 ++ > > .../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 | 9 ++- > > .../dockerfiles/debian-mips64el-cross.docker | 9 ++- > > .../dockerfiles/debian-mipsel-cross.docker | 9 ++- > > .../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 | 29 +++++++- > > .../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/docker/test-wasm | 12 ++++ > > tests/lcitool/libvirt-ci | 2 +- > > tests/lcitool/projects/qemu.yml | 3 +- > > tests/lcitool/refresh | 48 +++++++++----- > > tests/vm/freebsd | 4 +- > > 48 files changed, 531 insertions(+), 183 deletions(-) > > create mode 100755 scripts/rust-to-clang-target-test.sh > > create mode 100644 scripts/rust-to-clang-target.sh > > create mode 100755 tests/docker/test-wasm > > -- > Alex Bennée > Virtualisation Tech Lead @ Linaro -- Alex Bennée Virtualisation Tech Lead @ Linaro
On 9/27/25 19:17, Alex Bennée wrote: > marcandre.lureau@redhat.com writes: > >> 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. >> >> emscripten is difficult to enable, help welcome. > > Also I think: > > https://gitlab.com/stsquad/qemu/-/pipelines/2065603411 > > And the: > debian-armhf-cross > debian-i686-cross > debian-mipsel-cross > debian-mips64el-cross > debian-ppc64el-cross > debian-riscv64-cross I'll test 1-21+26 and see what breaks with that subset. Paolo > > cross builds fail. > >> >> v2: >> - add a rust-to-clang-target-test.sh configure script >> - drop "RFC: configure: use the same machine as the host triple" >> - replace "tests: move mips to debian-legacy-test-cross" with "RFC: build-sys: deprecate mips host" >> - start tackling emscripten >> - fix mis-placed submodule update >> - other minor changes, commit message tweaks, bz links >> - add r-b tags >> >> Marc-André Lureau (27): >> build-sys: require -lrt when no shm_open() in std libs >> gitlab-ci: fix 'needs' property type must be array >> scripts/archive-source: speed up downloading subprojects >> scripts/archive-source: silence subprojects downloads >> scripts/archive-source: use a bash array >> configure: fix rust meson configuration >> configure: set the bindgen cross target >> 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 >> build-sys: cfi_debug and safe_stack are not compatible >> 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/lcitool: update to debian13 >> 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 >> RFC: tests/docker: add rust to debian-legacy-test-cross >> WIP: gitlab-ci: enable rust for msys2-64bit >> WIP: cirrus/macos: enable Rust >> RFC: build-sys: deprecate mips host >> build-sys: pass -fvisibility=default for wasm bindgen >> WIP: enable rust for wasm/emscripten >> >> docs/about/build-platforms.rst | 2 - >> docs/about/deprecated.rst | 9 +-- >> configure | 27 +++++++- >> meson.build | 34 +++++++--- >> .gitlab-ci.d/buildtest-template.yml | 2 +- >> .gitlab-ci.d/buildtest.yml | 66 +++++++++---------- >> .gitlab-ci.d/cirrus.yml | 4 +- >> .gitlab-ci.d/crossbuilds.yml | 46 ++++++------- >> .gitlab-ci.d/static_checks.yml | 6 +- >> .gitlab-ci.d/windows.yml | 8 ++- >> rust/bql/meson.build | 1 + >> rust/chardev/meson.build | 1 + >> rust/hw/char/pl011/meson.build | 1 + >> rust/hw/core/meson.build | 1 + >> rust/migration/meson.build | 3 +- >> rust/qom/meson.build | 1 + >> rust/system/meson.build | 1 + >> rust/util/meson.build | 1 + >> scripts/archive-source.sh | 33 +++++++--- >> .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +- >> .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +- >> scripts/rust-to-clang-target-test.sh | 43 ++++++++++++ >> scripts/rust-to-clang-target.sh | 62 +++++++++++++++++ >> tests/docker/common.rc | 11 +++- >> tests/docker/dockerfiles/alpine.docker | 6 +- >> tests/docker/dockerfiles/centos9.docker | 4 ++ >> .../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 | 9 ++- >> .../dockerfiles/debian-mips64el-cross.docker | 9 ++- >> .../dockerfiles/debian-mipsel-cross.docker | 9 ++- >> .../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 | 29 +++++++- >> .../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/docker/test-wasm | 12 ++++ >> tests/lcitool/libvirt-ci | 2 +- >> tests/lcitool/projects/qemu.yml | 3 +- >> tests/lcitool/refresh | 48 +++++++++----- >> tests/vm/freebsd | 4 +- >> 48 files changed, 531 insertions(+), 183 deletions(-) >> create mode 100755 scripts/rust-to-clang-target-test.sh >> create mode 100644 scripts/rust-to-clang-target.sh >> create mode 100755 tests/docker/test-wasm >
Hi On Tue, Sep 30, 2025 at 1:09 PM Paolo Bonzini via Devel <devel@lists.libvirt.org> wrote: > > On 9/27/25 19:17, Alex Bennée wrote: > > marcandre.lureau@redhat.com writes: > > > >> 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. > >> > >> emscripten is difficult to enable, help welcome. > > > > Also I think: > > > > https://gitlab.com/stsquad/qemu/-/pipelines/2065603411 > > > > And the: > > debian-armhf-cross > > debian-i686-cross > > debian-mipsel-cross > > debian-mips64el-cross > > debian-ppc64el-cross > > debian-riscv64-cross > > I'll test 1-21+26 and see what breaks with that subset. > I am currently testing with this change: commit 757ef689a2d13a686411fb5b041412e8c73e36c0 Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Tue Sep 30 14:16:44 2025 +0400 fixup! tests/docker: add ENABLE_RUST environment diff --git a/tests/docker/common.rc b/tests/docker/common.rc index 52f01848a3..752f4f3aed 100755 --- a/tests/docker/common.rc +++ b/tests/docker/common.rc @@ -21,10 +21,12 @@ else DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"} fi +enable_rust="" if [ "$ENABLE_RUST" = "1" ]; then enable_rust="--enable-rust" -else - enable_rust="" + if [ -n "$RUST_TARGET" ]; then + enable_rust="$enable_rust --rust-target-triple=$RUST_TARGET" + fi fi requires_binary() > Paolo > > > > > cross builds fail. > > > >> > >> v2: > >> - add a rust-to-clang-target-test.sh configure script > >> - drop "RFC: configure: use the same machine as the host triple" > >> - replace "tests: move mips to debian-legacy-test-cross" with "RFC: build-sys: deprecate mips host" > >> - start tackling emscripten > >> - fix mis-placed submodule update > >> - other minor changes, commit message tweaks, bz links > >> - add r-b tags > >> > >> Marc-André Lureau (27): > >> build-sys: require -lrt when no shm_open() in std libs > >> gitlab-ci: fix 'needs' property type must be array > >> scripts/archive-source: speed up downloading subprojects > >> scripts/archive-source: silence subprojects downloads > >> scripts/archive-source: use a bash array > >> configure: fix rust meson configuration > >> configure: set the bindgen cross target > >> 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 > >> build-sys: cfi_debug and safe_stack are not compatible > >> 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/lcitool: update to debian13 > >> 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 > >> RFC: tests/docker: add rust to debian-legacy-test-cross > >> WIP: gitlab-ci: enable rust for msys2-64bit > >> WIP: cirrus/macos: enable Rust > >> RFC: build-sys: deprecate mips host > >> build-sys: pass -fvisibility=default for wasm bindgen > >> WIP: enable rust for wasm/emscripten > >> > >> docs/about/build-platforms.rst | 2 - > >> docs/about/deprecated.rst | 9 +-- > >> configure | 27 +++++++- > >> meson.build | 34 +++++++--- > >> .gitlab-ci.d/buildtest-template.yml | 2 +- > >> .gitlab-ci.d/buildtest.yml | 66 +++++++++---------- > >> .gitlab-ci.d/cirrus.yml | 4 +- > >> .gitlab-ci.d/crossbuilds.yml | 46 ++++++------- > >> .gitlab-ci.d/static_checks.yml | 6 +- > >> .gitlab-ci.d/windows.yml | 8 ++- > >> rust/bql/meson.build | 1 + > >> rust/chardev/meson.build | 1 + > >> rust/hw/char/pl011/meson.build | 1 + > >> rust/hw/core/meson.build | 1 + > >> rust/migration/meson.build | 3 +- > >> rust/qom/meson.build | 1 + > >> rust/system/meson.build | 1 + > >> rust/util/meson.build | 1 + > >> scripts/archive-source.sh | 33 +++++++--- > >> .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml | 5 +- > >> .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml | 5 +- > >> scripts/rust-to-clang-target-test.sh | 43 ++++++++++++ > >> scripts/rust-to-clang-target.sh | 62 +++++++++++++++++ > >> tests/docker/common.rc | 11 +++- > >> tests/docker/dockerfiles/alpine.docker | 6 +- > >> tests/docker/dockerfiles/centos9.docker | 4 ++ > >> .../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 | 9 ++- > >> .../dockerfiles/debian-mips64el-cross.docker | 9 ++- > >> .../dockerfiles/debian-mipsel-cross.docker | 9 ++- > >> .../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 | 29 +++++++- > >> .../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/docker/test-wasm | 12 ++++ > >> tests/lcitool/libvirt-ci | 2 +- > >> tests/lcitool/projects/qemu.yml | 3 +- > >> tests/lcitool/refresh | 48 +++++++++----- > >> tests/vm/freebsd | 4 +- > >> 48 files changed, 531 insertions(+), 183 deletions(-) > >> create mode 100755 scripts/rust-to-clang-target-test.sh > >> create mode 100644 scripts/rust-to-clang-target.sh > >> create mode 100755 tests/docker/test-wasm > > > -- Marc-André Lureau
© 2016 - 2025 Red Hat, Inc.