rust: Upgrade to 1.90.0
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
- [x] The toolchain has been rebuilt successfully (or no changes were made to it)
- [x] The toolchain/worker package manifests are up-to-date
- [x] Any updated packages successfully build (or no packages were changed)
- [x] Packages depending on static components modified in this PR (Golang,
*-staticsubpackages, etc.) have had theirReleasetag incremented. - [x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
- [x] All package sources are available
- [x] cgmanifest files are up-to-date and sorted (
./cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json) - [x] LICENSE-MAP files are up-to-date (
./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON) - [x] All source files have up-to-date hashes in the
*.signatures.jsonfiles - [x]
sudo make go-tidy-allandsudo make go-test-coveragepass - [x] Documentation has been updated to match any changes to the build system
- [ ] Ready to merge
Summary
- Upgrades Rust from 1.86.0 to 1.90.0
- Updates all Rust-dependent packages to ensure compatibility with the new toolchain
- Kata Containers Compatibility Patch (0001_warning.patch) A new patch has been introduced to resolve compilation warnings in kata-containers and kata-containers-cc that emerged with Rust 1.90.0. This patch is necessary because the kata-containers spec file requires rust >= 1.85.0, and newer Rust versions (1.88+) have stricter compiler warnings and linting rules.
Specific Fixes in the Patch:
-
Dead Code Warning Suppression for s390x CCW Device Handlers Adds #[allow(dead_code)] annotations to Channel Command Word (CCW) device handler structs Root Cause: These CCW device handlers are implemented for s390x architecture support, but since kata-containers is built exclusively for x86_64 (as specified in the spec file), these structs are defined but never actually used
-
Explicit Lifetime Annotation for Iterator Updates iterator lifetime annotations from elided lifetimes to explicit '_ (anonymous lifetime) Root Cause: Rust 1.88+ enforces more explicit lifetime annotations for iterators to improve code clarity and prevent potential lifetime-related bugs
What does the PR accomplish, why was it needed?
- Upgrade rust to 1.90.0
Change Log
- Bump release for all the dependent packages
- Update cgmanifest and signatures for new rust
- Suppress dead_code warnings for architecture-specific CCW handlers and fix lifetime elision warning in U32Set iterator implementation in katacontainers/kata-containers-cc
- Add a patch to 389-ds-base to fix lifetime elision warning
Does this affect the toolchain?
NO
Associated issues
- https://microsoft.visualstudio.com/OS/_workitems/edit/58943486
Links to CVEs
- https://nvd.nist.gov/vuln/detail/CVE-YYYY-XXXX
Test Methodology
- Buddy Build(SPECS): https://dev.azure.com/mariner-org/mariner/_build/results?buildId=972270&view=results
- Buddy Build(SPECS-EXTENDED): https://dev.azure.com/mariner-org/mariner/_build/results?buildId=972436&view=results (Ptests failing in rust-cbindgen and python-argcomplete is a known issue)
- Full build id: 3.0.20251030-kkaitepalli-967858