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(-)
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 <pbonzini@redhat.com>
---
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
Hi
On Fri, Oct 31, 2025 at 7:28 PM Paolo Bonzini <pbonzini@redhat.com> 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 <pbonzini@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> 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
© 2016 - 2025 Red Hat, Inc.