Channel should not default to dev
when built from a tarball
#36690
Labels
C-bug
Category: This is a bug.
E-needs-design
This issue needs exploration and design to see how and if we can fix/implement it
P-medium
Medium priority
T-bootstrap
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
T-dev-tools
Relevant to the dev-tools subteam, which will review and decide on the PR/issue.
Today whenever Rust is built without a .git directory (approximately meaning "when it's built from a tarball") the configure script overrides the release channel to "stable", per this PR and this issue. Unfortunately, as I realized after a recent bug in which nightly distcheck thought it was a stable compiler this is not correct. Today, if somebody downloads a nightly tarball and builds it, they will receive a compiler that claims to be a stable release. This is just not true.
I'm not sure how best to fix this. The configure script is the source of truth for the release channel, and the configure script is not telling the truth.
Here's one thing we could do: the build process that produces the tarball also dumps a
version
file into the source tree, and the release channel can be derived from that file. So when the configure script sees that it is not in a git repo it opens that file and looks for "-nightly", "-beta", or "-dev" and sets the release channel as appropriate. If it sees none of those it sets the channel to "stable". If the version file does not exist it sets the channel to "dev".cc @alexcrichton
The text was updated successfully, but these errors were encountered: