** Description changed: ## FFE ## ========= Rationale ========= The toolchain team committed to making 1.97 the default Rust version for 26.10. Apart from giving users access to the most up-to-date Rust toolchain available, there are also the following notable changes specific to the Ubuntu package: - rustc-1.97 ships the rust-1.97-llvm and libstd-rust-1.97-dev-wasm32 packages, - which matches the packages Debian makes available and will fix some packages - which are currently failing to build on Ubuntu (LP: #2160531). + which matches the packages Debian makes available and will fix some packages + which are currently failing to build on Ubuntu (LP: #2160531). - rustc-1.97 ships the rust-1.97-analyzer package, which has been requested by - Ubuntu developers (LP: #2161577). Additionally, Debian ships rust-analyzer, - meaning our toolchain will be a closer match to theirs. + Ubuntu developers (LP: #2161577). Additionally, Debian ships rust-analyzer, + meaning our toolchain will be a closer match to theirs. Crucially, Rust 1.95 (our current default) and older toolchains suffer from CVE-2026-5222[1] and CVE-2026-5223[2]. Making 1.97 the default will address these security vulnerabilities. [1]: https://blog.rust-lang.org/2026/05/25/cve-2026-5222/ [2]: https://blog.rust-lang.org/2026/05/25/cve-2026-5223/ ================ Proposed Changes ================ - rust-defaults now points to rustc-1.97 instead of rustc-1.95, meaning - that future Rust package builds will use Rust 1.97 instead of 1.95. - * The upstream Rust team maintains a strict policy of backwards - compatibility, meaning that any future rebuilds of packages are - expected to work without issue. - * Since Rust applications are statically linked, updating the default - toolchain version won't trigger any rebuilds. It will only affect - subsequent builds of Rust packages. + that future Rust package builds will use Rust 1.97 instead of 1.95. + * The upstream Rust team maintains a strict policy of backwards + compatibility, meaning that any future rebuilds of packages are + expected to work without issue. + * Since Rust applications are statically linked, updating the default + toolchain version won't trigger any rebuilds. It will only affect + subsequent builds of Rust packages. - The rust-llvm and libstd-rust-dev-wasm32 binary packages have been added. - * This is a purely additive addition; none of the other binary packages are - affected in any way. - * These are entirely new binary packages, so it's possible they act - differently than expected. - * However, I have added an autopkgtest (d/tests/build-wasm) to ensure the - packages are usable. - * Additionally, they do not deviate from how Debian ships and distributes - them. + * This is a purely additive addition; none of the other binary packages are + affected in any way. + * These are entirely new binary packages, so it's possible they act + differently than expected. + * However, I have added an autopkgtest (d/tests/build-wasm) to ensure the + packages are usable. + * Additionally, they do not deviate from how Debian ships and distributes + them. - The rust-analyzer binary package has been added. - * This is a purely additive addition; none of the other binary packages are - affected in any way. - * This is an entirely new binary package, so it's possible it acts differently - than expected. - * However, I have added an autopkgtest (d/tests/rust-analyzer-runs) to ensure - the package is usable. - * Additionally, the package does not deviate from how Debian ships and - distributes it. + * This is a purely additive addition; none of the other binary packages are + affected in any way. + * This is an entirely new binary package, so it's possible it acts differently + than expected. + * However, I have added an autopkgtest (d/tests/rust-analyzer-runs) to ensure + the package is usable. + * Additionally, the package does not deviate from how Debian ships and + distributes it. ================ seeded-in-ubuntu ================ $ seeded-in-ubuntu rust-defaults cargo-doc (from rust-defaults) is seeded in: - ubuntu-budgie: supported + ubuntu-budgie: supported libstd-rust-dev (from rust-defaults) is seeded in: - ubuntu-budgie: supported - ubuntu: supported + ubuntu-budgie: supported + ubuntu: supported rust-doc (from rust-defaults) is seeded in: - ubuntu-budgie: supported + ubuntu-budgie: supported ========== PPA builds ========== This package builds for all architectures in a PPA: https://launchpad.net/~maxgmr/+archive/ubuntu/rustc-1.97-defaults/+packages ============ autopkgtests ============ - I'm unable to run PPA autopkgtests at the moment due to infra issues. I have run - the autopkgtests locally and confirmed they pass. I will populate these fields - once the infra is back in working order. - amd64: + None of the autopkgtests are arch-dependent, but if logs for all arches are absolutely necessary then I will be able to get them once the infra issues clear up. + amd64: https://autopkgtest.ubuntu.com/results/autopkgtest-stonking-maxgmr-rustc-1.97-autopkgtest/stonking/amd64/r/rust-defaults/20260825_213021_95ce4@/log.gz arm64: armhf: - ppc64el: + ppc64el: https://autopkgtest.ubuntu.com/results/autopkgtest-stonking-maxgmr-rustc-1.97-autopkgtest/stonking/ppc64el/r/rust-defaults/20260825_213306_bcd17@/log.gz s390x: ========================== Test Rust package rebuilds ========================== Due to the statically-compiled nature of Rust packages, no package transition is necessary. However, in order to verify that the new toolchain will be able to build packages properly, I have rebuilt a selection of Rust binaries in a PPA: https://launchpad.net/~maxgmr/+archive/ubuntu/rustc-1.97-defaults-test The packages built without issue, save for a few exceptions: - clamav, glycin, librsvg (riscv64 only): - * Update from LLVM 21 to 22 introduces upstream LLVM riscv64 loop vectorizer - bug. Reported in LP: #2164944. This bug has been fixed in other distros which - target RISC-V[1], so addressing this issue is not expected to be difficult. + * Update from LLVM 21 to 22 introduces upstream LLVM riscv64 loop vectorizer + bug. Reported in LP: #2164944. This bug has been fixed in other distros which + target RISC-V[1], so addressing this issue is not expected to be difficult. - gnome-snapshot: - * FTBFS caused by an inconsistent dependency set. Unrelated to Rust 1.97. No - action needed. + * FTBFS caused by an inconsistent dependency set. Unrelated to Rust 1.97. No + action needed. [1]: https://github.com/openRuyi-Project/openRuyi/pull/1077 ============ Install logs ============ Cargo installs as the correct version, and all the new packages added in 1.97 work properly: root@stonking-temp:~# apt install -y cargo - Installing: - cargo + Installing: + cargo Installing dependencies: - cargo-1.97 libllvm22 libstd-rust-1.97-dev rustc - libgit2-1.9 libstd-rust-1.97 libz3-4 rustc-1.97 + cargo-1.97 libllvm22 libstd-rust-1.97-dev rustc + libgit2-1.9 libstd-rust-1.97 libz3-4 rustc-1.97 Suggested packages: - cargo-1.97-doc cargo-auditable llvm-22 lld-22 clang-22 + cargo-1.97-doc cargo-auditable llvm-22 lld-22 clang-22 [...] root@stonking-temp:~# cargo --version cargo 1.97.1 (c980f4866 2026-06-30) (built from a source tarball) root@stonking-temp:~# apt install -y rust-llvm libstd-rust-dev-wasm32 - Installing: - libstd-rust-dev-wasm32 rust-llvm + Installing: + libstd-rust-dev-wasm32 rust-llvm Installing dependencies: - clang-22 libgc1 lld-22 - clang-tools-22 liblzma-dev llvm-22 - lib32gcc-s1 libncurses-dev llvm-22-dev - lib32stdc++6 libncurses6 llvm-22-linker-tools - libc6-i386 libobjc-15-dev llvm-22-runtime - libclang-common-22-dev libobjc4 llvm-22-tools - libclang-cpp22 libpfm4 rust-1.97-llvm - libclang-rt-22-dev libstd-rust-1.97-dev-wasm32 zlib1g-dev - libclang1-22 libxml2-dev - libffi-dev libz3-dev + clang-22 libgc1 lld-22 + clang-tools-22 liblzma-dev llvm-22 + lib32gcc-s1 libncurses-dev llvm-22-dev + lib32stdc++6 libncurses6 llvm-22-linker-tools + libc6-i386 libobjc-15-dev llvm-22-runtime + libclang-common-22-dev libobjc4 llvm-22-tools + libclang-cpp22 libpfm4 rust-1.97-llvm + libclang-rt-22-dev libstd-rust-1.97-dev-wasm32 zlib1g-dev + libclang1-22 libxml2-dev + libffi-dev libz3-dev [...] root@stonking-temp:~# cargo new wasmtest && cd wasmtest && cargo build --target wasm32-wasip1 - Creating binary (application) `wasmtest` package + Creating binary (application) `wasmtest` package note: see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - Compiling wasmtest v0.1.0 (/root/wasmtest) - Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s + Compiling wasmtest v0.1.0 (/root/wasmtest) + Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s root@stonking-temp:~/wasmtest# apt install -y rust-analyzer - Installing: - rust-analyzer + Installing: + rust-analyzer Installing dependencies: - rust-1.97-analyzer rust-1.97-src rust-src + rust-1.97-analyzer rust-1.97-src rust-src [...] root@stonking-temp:~/wasmtest# rust-analyzer --version rust-analyzer 1.97.1
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2160658 Title: [FFE] Upgrade Rust to 1.97.1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/rust-defaults/+bug/2160658/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
