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