Hi

On Fri, Oct 31, 2025 at 7:28 PM Paolo Bonzini <[email protected]> wrote:
>
> Ubuntu is now including updated versions of Rust (up to 1.85) for
> its LTS releases.  Adjust the CI containers and re-add --enable-rust
> to the Ubuntu jobs.
>
> Signed-off-by: Paolo Bonzini <[email protected]>

Reviewed-by: Marc-André Lureau <[email protected]>

> ---
>  docs/about/build-platforms.rst                   | 10 +++++-----
>  .gitlab-ci.d/buildtest.yml                       |  2 +-
>  scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml |  2 +-
>  scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml   |  2 +-
>  tests/docker/dockerfiles/ubuntu2204.docker       |  6 +++---
>  tests/lcitool/mappings.yml                       |  4 ++--
>  tests/lcitool/refresh                            |  4 ++--
>  7 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
> index fc2743658d4..e95784cdb55 100644
> --- a/docs/about/build-platforms.rst
> +++ b/docs/about/build-platforms.rst
> @@ -117,14 +117,14 @@ Rust build dependencies
>    a newer version using ``cargo install bindgen-cli``.
>
>    QEMU requires Rust 1.83.0.  This is available on all supported platforms
> -  with two exception: Ubuntu LTS releases 22.04 and 24.04, and the
> -  ``mips64el`` architecture on Debian bookworm.  For all other
> +  except for the ``mips64el`` architecture on Debian bookworm.  For all other
>    architectures, Debian bookworm provides a new-enough Rust compiler
>    in the ``rustc-web`` package.
>
> -  It is expected that in the future Ubuntu will provide updated packages
> -  like the existing ``rustc-1.82`` package.  The path to ``rustc`` and
> -  ``rustdoc`` will have to be provided manually to the configure script.
> +  For Ubuntu 22.04 ("Jammy") and 24.04 ("Noble") updated versions of
> +  Rust are available through packages such as ``rustc-1.83`` package;
> +  the path to ``rustc`` and ``rustdoc`` has to be provided manually to
> +  the configure script.
>
>    Some distros prefer to avoid vendored crate sources, and instead use
>    local sources from e.g. ``/usr/share/cargo/registry``.  QEMU includes a
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 21f6d7e96fe..44df116139b 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -39,7 +39,7 @@ build-system-ubuntu:
>      - job: amd64-ubuntu2204-container
>    variables:
>      IMAGE: ubuntu2204
> -    CONFIGURE_ARGS: --enable-docs
> +    CONFIGURE_ARGS: --enable-docs --enable-rust
>      TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
>      MAKE_CHECK_ARGS: check-build
>
> diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml 
> b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
> index ce632d97108..8c4b71b5942 100644
> --- a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
> +++ b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
> @@ -119,7 +119,7 @@ packages:
>    - python3-wheel
>    - python3-yaml
>    - rpm2cpio
> -  - rustc-1.77
> +  - rustc-1.83
>    - sed
>    - socat
>    - sparse
> diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml 
> b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
> index f45f75c9602..2758f55e5a2 100644
> --- a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
> +++ b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
> @@ -117,7 +117,7 @@ packages:
>    - python3-wheel
>    - python3-yaml
>    - rpm2cpio
> -  - rustc-1.77
> +  - rustc-1.83
>    - sed
>    - socat
>    - sparse
> diff --git a/tests/docker/dockerfiles/ubuntu2204.docker 
> b/tests/docker/dockerfiles/ubuntu2204.docker
> index b393db55a8c..602d4196249 100644
> --- a/tests/docker/dockerfiles/ubuntu2204.docker
> +++ b/tests/docker/dockerfiles/ubuntu2204.docker
> @@ -124,7 +124,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
> -                      rustc-1.77 \
> +                      rustc-1.83 \
>                        sed \
>                        socat \
>                        sparse \
> @@ -155,8 +155,8 @@ ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV RUSTC=/usr/bin/rustc-1.77
> -ENV RUSTDOC=/usr/bin/rustdoc-1.77
> +ENV RUSTC=/usr/bin/rustc-1.83
> +ENV RUSTDOC=/usr/bin/rustdoc-1.83
>  ENV CARGO_HOME=/usr/local/cargo
>  ENV PATH=$CARGO_HOME/bin:$PATH
>  RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
> index 8f0e95e1c56..a749cf8c515 100644
> --- a/tests/lcitool/mappings.yml
> +++ b/tests/lcitool/mappings.yml
> @@ -70,8 +70,8 @@ mappings:
>
>    rust:
>      Debian12: rustc-web
> -    Ubuntu2204: rustc-1.77
> -    Ubuntu2404: rustc-1.77
> +    Ubuntu2204: rustc-1.83
> +    Ubuntu2404: rustc-1.83
>
>  pypi_mappings:
>    # Request more recent version
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index 056cfb6e9d7..273fb534cdd 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -152,8 +152,8 @@ fedora_rustup_nightly_extras = [
>  ]
>
>  ubuntu2204_rust_extras = [
> -    "ENV RUSTC=/usr/bin/rustc-1.77\n",
> -    "ENV RUSTDOC=/usr/bin/rustdoc-1.77\n",
> +    "ENV RUSTC=/usr/bin/rustc-1.83\n",
> +    "ENV RUSTDOC=/usr/bin/rustdoc-1.83\n",
>      "ENV CARGO_HOME=/usr/local/cargo\n",
>      'ENV PATH=$CARGO_HOME/bin:$PATH\n',
>      "RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
> --
> 2.51.1
>
>


-- 
Marc-André Lureau

Reply via email to