[Pkg-rust-maintainers] Facilitating Firefox+Rust Linux distro packaging
infinity0 at debian.org
Fri Aug 26 11:39:00 UTC 2016
> - Debian oldstable (today's stable), which will likely still be supported,
> won't have one. Which means either dropping support for a modern web
> browser in oldstable, or bootstrapping rustc in oldstable.
> - By the time ESR requires rustc, it will require a very much more
> recent version of rustc than the one in Debian stable. Rustc currently
> only be compiled, at best, by the previous version. Which means either
> building every released version of rustc between the one shipped in
> Debian stable and the one required by ESR in sequence, or
> bootstrapping rustc from scratch. (and same again a year later, when
> the ESR version bumps)
In our rustc Debian package we retain the ability to bootstrap from upstream tarballs at any time. I'm testing this more-or-less directly, continually via my Ubuntu rust-nightly packages:
(It would be good if other people also pay attention to it of course, since I don't always fix breaks in a timely manner.)
So the above two points are mostly Already Solved - unless re-bootstrapping would not be suitable, but I can't think why that would be the case.
> - By the time ESR requires rustc, the rustc version it requires will
> need a version of LLVM very much more recent than the one in Debian
> stable. Which means backporting a new version of LLVM as well. (and
> the same again a year later, when the ESR version bumps)
> Now, to add fun to the mix, like there wasn't enough:
> - By the time ESR requires rustc, it will also require rust-bindgen.
> Which in turn requires libclang.
libclang is from LLVM yes? So the above two points would be solved by being able to backport LLVM to Debian stable. *Hopefully* the dependencies (rust-bindgen->libclang, and rustc->llvm) are to the same *version* of LLVM...
BTW just as a nitpick/clarification for people that might not be aware (Gus made this slip earlier). "Debian stable" is distinct from "Debian stable-backports", they are run by different teams:
- "stable" is "more official", better-tested, and has more strict requirements to upload to (such as only being bugfixes or updates to ESR releases). stable is not allowed to depend on packages in stable-backports.
- "stable-backports" is less official, less well-tested, developers can upload to it more easily including new versions with more features, but users have to add it specifically to their sources.list
When we talk about "backporting to stable" here, we are talking about backporting to "stable" and *not* "stable-backports". Backports to "stable" have the version suffix "+deb8u1" etc and backports to "stable-backports" have the version suffix "+bpo8+1" etc.
More information about the Pkg-rust-maintainers