[DOWNSTREAM] matching of rustc - cargo packaged version


This is a question regarding downstream distribution (eg. Debian) packaging of rustc and cargo, which is related to rust #29563 and a bunch of other cargo issues.

According to cargo #2108, Rust release are currently paired to arbitrary cargo commits, but the long-term is to use tagged releases. I have just realized that currently there is an one-version delay between cargo tags and rust binaries: cargo-0.7.0 has already been tagged, but rust-1.5.0 ships with the previous 0.6.0 version of cargo.

From a downstream point of view, I would typically just pick the latest releases/tags of rust and cargo and upload those (thus, 1.5.0 and 0.7.0). At the same time, I can understand that you may instead prefer for distribution to stick with the same pairing as in your binary installer (thus, 1.5.0 and almost-0.6.0). However it has been stated in one of the task of the grand packaging plan that you are not interested in validating that Cargo releases build with the corresponding Rust release.

Given all the above, should downstream distributors keep on with the usual practice (package whatever has been tagged/version/released) or try to stick with your pairing (which is however fuzzily defined, not guaranteed to build and not using tagged releases)?


While not verified exhaustively, I do intend to actively fix bugs if some version of Cargo is found to be incompatible with some version of Rustc. I would recommend, however, sticking to roughly the same schedule that we have for consistency. Lagging a release for Cargo onto stable gives us kind of a “nightly window” where we could backpedal on new features if we quickly realize they’re problematic, so if downstream packagers released the newer Cargo eagerly that may make it harder for us to do that (this is all purely hypothetical).

Our pairings are currently listed in this file for reference. Once we have official releases of Cargo along with the pairings you mentioned I suspect that this situation may be easier for everyone involved!