Skip to content

Conversation

@alexhulbert
Copy link
Member

@alexhulbert alexhulbert commented Nov 26, 2025

The new Debian-backports rust versions:

  • Are scoped to particular images, meaning updating rust on Bob L2 will not change the rust version on the L2 op-rbuilder image, etc
  • Are pinned to the Debian repo timestamp. The image measurements will stay the same even if a new Rust version comes out

These changes:

  • speed up build times
  • remove the rust toolchain from our reproducibility threat model (since the debian backports version can be independently verified via the deb rebuilder scripts)
  • remove the unnecessary network calls to download the entire rust toolchain on each build (regardless of cache)

To update rustc/cargo to the latest version for a particular image, you only need to update the Debian repo timestamp for the image's root config file (e.g. the timestamp in l2/_op_rbuilder/mkosi.conf). Rust maintains best-in-class backwards compatibility, which means granularity of specific rust versions are unnecessary. Updating to the latest version based on timestamp should always be sufficient.

The only functional change of this PR to the L2 VM is that it changes the rust version to match the latest version available in the Debian backports as of the timestamp specified in l2/mkosi.conf (2025/10/30), but I've verified that all the Rust software used by the L2 OP Rbuilder image compiles properly on that version, so this should be good to merge without affecting anything.

However, after merging this PR, running make clean is necessary in order to make sure the measurements match

@alexhulbert alexhulbert marked this pull request as draft November 26, 2025 13:31
@alexhulbert alexhulbert marked this pull request as ready for review December 4, 2025 09:05
@0x416e746f6e 0x416e746f6e merged commit 7f7c4e6 into trunk/l2 Dec 16, 2025
@0x416e746f6e 0x416e746f6e deleted the dyn-backports-l2 branch December 16, 2025 08:14
0x416e746f6e added a commit that referenced this pull request Dec 16, 2025
Switch L2 images to use Debian Backports instead of Rustup

(cherry picked from commit 7f7c4e6)
@0x416e746f6e
Copy link
Member

and then immediately:

error: rustc 1.89.0 is not supported by the following packages:
  pipelines-macros@0.4.1 requires rustc 1.91
  rblib@0.4.1 requires rustc 1.91
Either upgrade rustc or select compatible dependency versions with
`cargo update <name>@<current-ver> --precise <compatible-ver>`
where `<compatible-ver>` is the latest version supporting rustc 1.89.0

@alexhulbert
Copy link
Member Author

oh yeah, just update the timestamp in the conf file then

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants