Auto merge of #79096 - pietroalbini:stable-build-manifest-newline, r=Mark-Simulacrum

build-manifest: strip newline from rustc version

While running the release process for Rust 1.48.0 I discovered a bug in `build-manifest`: it's not trimming the newline from `src/version`, and it tries to inspect tarballs called `rustc-1.48.0\n-x86_64-unknown-linux-gnu.tar.xz`. The bug only affects stable releases so this is why we're only seeing it right now.

r? `@Mark-Simulacrum`
We'll need to backport this to beta and nightly too.
This commit is contained in:
bors 2020-11-16 13:59:11 +00:00
commit 7eac88abb2

View file

@ -7,7 +7,6 @@ use std::path::{Path, PathBuf};
use tar::Archive;
const DEFAULT_TARGET: &str = "x86_64-unknown-linux-gnu";
const RUSTC_VERSION: &str = include_str!("../../../version");
#[derive(Debug, Hash, Eq, PartialEq, Clone)]
pub(crate) enum PkgType {
@ -172,10 +171,10 @@ impl Versions {
) -> Result<String, Error> {
let component_name = package.tarball_component_name();
let version = match self.channel.as_str() {
"stable" => RUSTC_VERSION.into(),
"stable" => self.rustc_version().into(),
"beta" => "beta".into(),
"nightly" => "nightly".into(),
_ => format!("{}-dev", RUSTC_VERSION),
_ => format!("{}-dev", self.rustc_version()),
};
if package.target_independent() {
@ -186,6 +185,7 @@ impl Versions {
}
pub(crate) fn rustc_version(&self) -> &str {
RUSTC_VERSION
const RUSTC_VERSION: &str = include_str!("../../../version");
RUSTC_VERSION.trim()
}
}