** Description changed: - In order to give Ubuntu packagers the most up-to-date toolchain, the toolchain - team committed to making Rust 1.97 the default version for 26.10. + ## 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). + - 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. + + 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. + + - 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. + + - 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. + + ================ + seeded-in-ubuntu + ================ + $ seeded-in-ubuntu rust-defaults + cargo-doc (from rust-defaults) is seeded in: + ubuntu-budgie: supported + libstd-rust-dev (from rust-defaults) is seeded in: + ubuntu-budgie: supported + ubuntu: supported + rust-doc (from rust-defaults) is seeded in: + 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: + arm64: + armhf: + ppc64el: + 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. + - gnome-snapshot: + * 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 dependencies: + 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 + [...] + + 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 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 + [...] + + root@stonking-temp:~# cargo new wasmtest && cd wasmtest && cargo build --target wasm32-wasip1 + 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 + + root@stonking-temp:~/wasmtest# apt install -y rust-analyzer + Installing: + rust-analyzer + + Installing dependencies: + 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
