[Pkg-rust-maintainers] Facilitating Firefox+Rust Linux distro packaging

Henri Sivonen hsivonen at mozilla.com
Wed Aug 24 08:15:38 UTC 2016

This thread stalled while waiting for new mailing list filters. Let's
see if this goes through to the lists.

To address a previously-raised point about ABI:

I think it's best to proceed with the assumption that Rust will become
a mandatory build dependency for Firefox very soon. Meanwhile there
doesn't appear to be a Rust ABI freeze coming up by then. So I think
it does not make sense to expect Rust to have a frozen ABI by the time
Firefox requires Rust to build.

Firefox is going to bundle/vendor Rust code that exists standalone
crates on crates.io into the mozilla-central repo. Builds produced by
Mozilla will statically link this Rust code into libxul. Even if
Debian did the work to extract the bundled crates back into distinct
source packages, it's likely impractical to expect to be able to ship
Rust crates as distinct Debian binary packages providing dynamically
linkable libraries by the time Firefox requires Rust.

In terms of what precedent to look for, I think it makes sense to look
at Go library packaging rather than C library packaging as precedent
for Rust crates. As for rustc & cargo themselves, they are evolving at
fast enough pace that freezing them for the lifetime of Debian stable
is unlikely to serve either of the most realistic use cases: 1)
building Firefox, which updates at least by ESR jumps during the
lifetime of Debian stable or 2) developing software in Rust. In that
sense, to have rustc and cargo packages that are useful for the most
realistic near-term use cases, it makes sense to look at Chromium for
precedent for updates.

Henri Sivonen
hsivonen at mozilla.com

More information about the Pkg-rust-maintainers mailing list