Built-Using is already used in all pure-Rust binaries, e.g. ripgrep.
However, it only stores the version of rustc itself. The non-vendored
libraries are currently recorded using the non-standard field 'X-Cargo-
Built-Using'. Sadly, this doesn't apply to all packages that currently
Build-Depend on rustc, only those that use the dh-cargo helper. src:0ad
for instance doesn't seem to record anything for that, nor does
src:cargo, ironically.

Furthermore, in the case of vendored dependencies, we've settled for
storing the "Cargo.lock" file which is a manifest of all the
dependencies of a given project with precise versioning. Currently for
rustc we ship it in /usr/share/doc/rustc/Cargo.lock

Regarding version bumps, it is worth noting that they already happen in
our other LTS versions. rustc 1.57 is indeed available in focal-updates
and bionic-updates. AIUI it's because of Firefox regularly needing a
newer version of rustc. Similarly, newer versions of LLVM are available
on older releases because of kernel and mesa requirements.

However, the versioned source name is a good point. On one hand it would
make sense because even though the rustc upstream tries their best not
to break existing code, breakage does occur from time to time, so
versioned rustc would make transitions easier. OTOH, rustc requires the
N-1 version to build (or itself), which would mean that we would have
the whole integer suite in the archive, which doesn't seem particularly
appealing to me given their 6-week cadence. I'll put it on Foundation's
agenda for the sprint next week.

I honestly cannot give you any expectations of how our handling of the
toolchain for 24.04 would be, as it will be shaped by the requirements
of the projects that will use it. I personally have some doubts that
we'll see *production* Rust code in our kernels for 24.04. I also
suspect that as the ecosystem matures we'll see less and less breaking
changes in rustc, as the long trail of unmaintained crates in crates.io
will calcify things a bit (they compile and run the tests for each crate
there for each release).

Thanks for the heads-up on the crossbeam issue, I'll update the affected
vendored version before uploading.

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

Title:
  [MIR] rustc, cargo

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cargo/+bug/1957932/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to