** Description changed:

- Tracking bug for rust-defaults 1.92 upgrade (description TODO)
+ ## FFE ##
+ =========
+ Rationale
+ =========
+ rust-defaults in Ubuntu currently points to Rust 1.88.0. Debian
+ unstable uses Rust 1.91.1 as its Rust version, meaning that certain
+ Ubuntu packages don't have sufficiently new Rust toolchains to build
+ properly. Pointing rust-defaults to 1.92.0 ensures that we will be able
+ to build everything we need.
+ 
+ The FFe was necessitated in the first place by long RISC-V build times
+ on an LLVM transition — rustc-1.92 itself has been in the archive for a
+ while and has no known issues.
+ 
+ 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:
+ - Rust 1.92 uses LLVM 21 instead of 20. This is important because the
+   removal of LLVM 20 is planned for Debian and eventually Ubuntu.
+ - Rust 1.92 on riscv64 is able to build for the RVA23 profile, allowing
+   RISC-V Rust applications to take full advantage of the RVA23
+   standards already required by this Ubuntu release.
+ 
+ ================
+ Proposed Changes
+ ================
+ - rust-defaults now points to rustc-1.92 instead of rustc-1.88, meaning
+   that future Rust package builds will use Rust 1.92 instead of 1.88.
+   * 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.
+   * Rust 1.92 uses LLVM 21 instead of 20, so problems specific to LLVM
+     21 could potentially cause issues, but none are anticipated.
+ - A typo in the rust-gdbgui binary symlink was fixed.
+   * Regression risk is minimal, as rust-gdbgui has been heretofore
+     unusable, meaning we know that no packages in the archive currently
+     rely on rust-gdbgui.
+ - The dependencies of a particular autopkgtest have been moved to LLVM
+   21.
+   * This is purely a change to the autopkgtest to reflect the LLVM 21
+     of the rest of the toolchain. It does not affect the distributed
+     packages.
+ 
+ ==========
+ PPA builds
+ ==========
+ The package builds for all architectures in a PPA:
+ https://launchpad.net/~maxgmr/+archive/ubuntu/rust-defaults-1.92.0/+packages
+ 
+ ============
+ autopkgtests
+ ============
+ amd64: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/amd64/r/rust-defaults/20260304_015947_6b936@/log.gz
+ arm64: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/arm64/r/rust-defaults/20260303_215342_4eae7@/log.gz
+ armhf: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/armhf/r/rust-defaults/20260303_213728_74928@/log.gz
+ ppc64el: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/ppc64el/r/rust-defaults/20260303_204604_7a9d3@/log.gz
+ s390x: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/s390x/r/rust-defaults/20260303_214508_fea23@/log.gz
+ 
+ ==================
+ Additional testing
+ ==================
+ In order to reduce the chances that a new Rust toolchain causes FTBFS on
+ package rebuilds, I test-built, using rust-defaults 1.92.0, every
+ package in main that Build-Depends on the Rust toolchain:
+ 
https://launchpad.net/~maxgmr/+archive/ubuntu/rust-defaults-1.92.0-main-test/+packages
+ 
+ ==============================
+ Installation and local testing
+ ==============================
+ root@r:~# add-apt-repository -y ppa:maxgmr/rust-defaults-1.92.0
+ [...]
+ root@r:~# apt install -y rust-all
+ [...]
+ root@r:~# rust-gdbgui
+ rust-gdbgui
+ ===========
+ gdbgui - https://gdbgui.com - is a graphical front-end to GDB
+ that runs in a browser. This script invokes gdbgui with the Rust
+ pretty printers loaded.
+ [...]
+ root@r:~# cargo new hello
+     Creating binary (application) `hello` package
+ note: see more `Cargo.toml` keys and their definitions at 
https://doc.rust-lang.org/cargo/reference/manifest.html
+ root@r:~# cd hello
+ root@r:~/hello# cargo run --release
+    Compiling hello v0.1.0 (/root/hello)
+     Finished `release` profile [optimized] target(s) in 0.19s
+      Running `target/release/hello`
+ Hello, world!

** Patch added: "This is the upstream changelog diff between Rust 1.88 and Rust 
1.92."
   
https://bugs.launchpad.net/ubuntu/+source/rust-defaults/+bug/2143149/+attachment/5949982/+files/changelog.diff

** Description changed:

  ## FFE ##
  =========
  Rationale
  =========
  rust-defaults in Ubuntu currently points to Rust 1.88.0. Debian
  unstable uses Rust 1.91.1 as its Rust version, meaning that certain
  Ubuntu packages don't have sufficiently new Rust toolchains to build
  properly. Pointing rust-defaults to 1.92.0 ensures that we will be able
  to build everything we need.
  
  The FFe was necessitated in the first place by long RISC-V build times
  on an LLVM transition — rustc-1.92 itself has been in the archive for a
  while and has no known issues.
  
  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:
  - Rust 1.92 uses LLVM 21 instead of 20. This is important because the
-   removal of LLVM 20 is planned for Debian and eventually Ubuntu.
+   removal of LLVM 20 is planned for Debian and eventually Ubuntu.
  - Rust 1.92 on riscv64 is able to build for the RVA23 profile, allowing
-   RISC-V Rust applications to take full advantage of the RVA23
-   standards already required by this Ubuntu release.
+   RISC-V Rust applications to take full advantage of the RVA23
+   standards already required by this Ubuntu release.
  
  ================
  Proposed Changes
  ================
  - rust-defaults now points to rustc-1.92 instead of rustc-1.88, meaning
-   that future Rust package builds will use Rust 1.92 instead of 1.88.
-   * 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.
-   * Rust 1.92 uses LLVM 21 instead of 20, so problems specific to LLVM
-     21 could potentially cause issues, but none are anticipated.
+   that future Rust package builds will use Rust 1.92 instead of 1.88.
+   * 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.
+   * Rust 1.92 uses LLVM 21 instead of 20, so problems specific to LLVM
+     21 could potentially cause issues, but none are anticipated.
  - A typo in the rust-gdbgui binary symlink was fixed.
-   * Regression risk is minimal, as rust-gdbgui has been heretofore
-     unusable, meaning we know that no packages in the archive currently
-     rely on rust-gdbgui.
+   * Regression risk is minimal, as rust-gdbgui has been heretofore
+     unusable, meaning we know that no packages in the archive currently
+     rely on rust-gdbgui.
  - The dependencies of a particular autopkgtest have been moved to LLVM
-   21.
-   * This is purely a change to the autopkgtest to reflect the LLVM 21
-     of the rest of the toolchain. It does not affect the distributed
-     packages.
+   21.
+   * This is purely a change to the autopkgtest to reflect the LLVM 21
+     of the rest of the toolchain. It does not affect the distributed
+     packages.
+ 
+ ================
+ 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
  ==========
  The package builds for all architectures in a PPA:
  https://launchpad.net/~maxgmr/+archive/ubuntu/rust-defaults-1.92.0/+packages
  
  ============
  autopkgtests
  ============
  amd64: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/amd64/r/rust-defaults/20260304_015947_6b936@/log.gz
  arm64: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/arm64/r/rust-defaults/20260303_215342_4eae7@/log.gz
  armhf: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/armhf/r/rust-defaults/20260303_213728_74928@/log.gz
  ppc64el: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/ppc64el/r/rust-defaults/20260303_204604_7a9d3@/log.gz
  s390x: 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-maxgmr-rust-defaults-1.92.0/resolute/s390x/r/rust-defaults/20260303_214508_fea23@/log.gz
  
  ==================
  Additional testing
  ==================
  In order to reduce the chances that a new Rust toolchain causes FTBFS on
  package rebuilds, I test-built, using rust-defaults 1.92.0, every
  package in main that Build-Depends on the Rust toolchain:
  
https://launchpad.net/~maxgmr/+archive/ubuntu/rust-defaults-1.92.0-main-test/+packages
  
  ==============================
  Installation and local testing
  ==============================
  root@r:~# add-apt-repository -y ppa:maxgmr/rust-defaults-1.92.0
  [...]
  root@r:~# apt install -y rust-all
  [...]
  root@r:~# rust-gdbgui
  rust-gdbgui
  ===========
  gdbgui - https://gdbgui.com - is a graphical front-end to GDB
  that runs in a browser. This script invokes gdbgui with the Rust
  pretty printers loaded.
  [...]
  root@r:~# cargo new hello
-     Creating binary (application) `hello` package
+     Creating binary (application) `hello` package
  note: see more `Cargo.toml` keys and their definitions at 
https://doc.rust-lang.org/cargo/reference/manifest.html
  root@r:~# cd hello
  root@r:~/hello# cargo run --release
-    Compiling hello v0.1.0 (/root/hello)
-     Finished `release` profile [optimized] target(s) in 0.19s
-      Running `target/release/hello`
+    Compiling hello v0.1.0 (/root/hello)
+     Finished `release` profile [optimized] target(s) in 0.19s
+      Running `target/release/hello`
  Hello, world!

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2143149

Title:
  [FFE] Upgrade Rust to 1.92.0

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-defaults/+bug/2143149/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to