Skip to content

Instantly share code, notes, and snippets.

@brson

brson/distro.md Secret

Last active March 17, 2016 21:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brson/0c7b1459a445074bcdfc to your computer and use it in GitHub Desktop.
Save brson/0c7b1459a445074bcdfc to your computer and use it in GitHub Desktop.

Hi,

This is a matter that concerns the Rust team a lot. From the Rust side we want to make it possible for Debian and Fedora (as a proxy for all distros) to be able to bootstrap off of their own rustc's and keep up with the Rust release process.

We have a good idea 1 about how to accomplish that part, though I haven't followed through on the implementation 2. In particular, as noted in this thread, you can't bootstrap off of either the current version of Rust or the previous. This is actually a problem that could be fixed in about one release cycle. There's little excuse not to do it yesterday, though some on the team have lingering worry about having to wait 6 weeks to complete unstable language changes.

We have less understanding of what it will take to get the major distros to a) actually deploy rust in a stable release, b) keep rust updated every 6 weeks.

Do we have a plan being executed to make sure that when Gecko components written in Rust ship on the release channel in Mozilla-produced builds the also ship in the Firefox packages of various Linux distributions?

On the Rust side we have a plan to unblock the distros ability to package Rust 1. We don't have a plan to actually get Rust into distros beyond counting on the respective package maintainers to make it happen once everything is clear on our end. I have not been actively working on it this year.

When is rustc expected to reach that level of bootstrapping predictability?

There's no ETA. It's not being worked on.

I think it's unacceptable to limit our ability to leverage Rust in Gecko by forgoing the ability to co-evolve Rust and Gecko at a rapid pace.

Even after hurdles of getting stable rustc into distros is solved I think this is one of the most difficult issues. If Firefox is not on stable Rust then distros still won't have compilers that can build it. If we get into a situation where distros must package the Rust nightly compiler to build the one major piece of Rust software they need, then that severely compromises Rust's release strategy.

I think we must not allow ourselves to wait for a Debian or Ubuntu LTS cycle before Rust improvements can be used in Gecko.

I agree with Brian Smith's sentiment at https://internals.rust-lang.org/t/perfecting-rust-packaging/2623/67

I agree that Rust being stuck on the distro LTS cycle is impracticle for real software.

If Rust produces 'universal' debs and rpms as suggested by @briansmith that would be enough for distro users to build Firefox, but it's not sufficient for the distro's themselves to keep their Firefox's up to date. I think Rust should do this but it isn't clear that it solves a critical problem.

Firefox's release model also has this tension with distros, and even LTS distros do update Firefox, right? Is there any chance Rust can recieve updates like Firefox?

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