From fe52a6518628cd026a8c7e64c59183ca3c4b9144 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Sat, 26 Dec 2020 17:15:20 -0500 Subject: [PATCH] Use package name for top-level directory in bare tarballs This fixes a bug introduced by #79788. --- src/bootstrap/tarball.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/tarball.rs b/src/bootstrap/tarball.rs index 5d73a655427b2..32c8e791bfc6b 100644 --- a/src/bootstrap/tarball.rs +++ b/src/bootstrap/tarball.rs @@ -241,10 +241,16 @@ impl<'a> Tarball<'a> { } pub(crate) fn bare(self) -> PathBuf { + // Bare tarballs should have the top level directory match the package + // name, not "image". We rename the image directory just before passing + // into rust-installer. + let dest = self.temp_dir.join(self.package_name()); + t!(std::fs::rename(&self.image_dir, &dest)); + self.run(|this, cmd| { cmd.arg("tarball") .arg("--input") - .arg(&this.image_dir) + .arg(&dest) .arg("--output") .arg(crate::dist::distdir(this.builder).join(this.package_name())); })