** 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

Reply via email to