Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 2073ea5

Browse files
committed
bootstrap: convert miri to use Tarball
1 parent 32afb3c commit 2073ea5

File tree

2 files changed

+14
-51
lines changed

2 files changed

+14
-51
lines changed

src/bootstrap/dist.rs

Lines changed: 7 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1303,19 +1303,6 @@ impl Step for Miri {
13031303
let target = self.target;
13041304
assert!(builder.config.extended);
13051305

1306-
let src = builder.src.join("src/tools/miri");
1307-
let release_num = builder.release_num("miri");
1308-
let name = pkgname(builder, "miri");
1309-
let version = builder.miri_info.version(builder, &release_num);
1310-
1311-
let tmp = tmpdir(builder);
1312-
let image = tmp.join("miri-image");
1313-
drop(fs::remove_dir_all(&image));
1314-
builder.create_dir(&image);
1315-
1316-
// Prepare the image directory
1317-
// We expect miri to build, because we've exited this step above if tool
1318-
// state for miri isn't testing.
13191306
let miri = builder
13201307
.ensure(tool::Miri { compiler, target, extra_features: Vec::new() })
13211308
.or_else(|| {
@@ -1329,44 +1316,13 @@ impl Step for Miri {
13291316
None
13301317
})?;
13311318

1332-
builder.install(&miri, &image.join("bin"), 0o755);
1333-
builder.install(&cargomiri, &image.join("bin"), 0o755);
1334-
let doc = image.join("share/doc/miri");
1335-
builder.install(&src.join("README.md"), &doc, 0o644);
1336-
builder.install(&src.join("LICENSE-APACHE"), &doc, 0o644);
1337-
builder.install(&src.join("LICENSE-MIT"), &doc, 0o644);
1338-
1339-
// Prepare the overlay
1340-
let overlay = tmp.join("miri-overlay");
1341-
drop(fs::remove_dir_all(&overlay));
1342-
t!(fs::create_dir_all(&overlay));
1343-
builder.install(&src.join("README.md"), &overlay, 0o644);
1344-
builder.install(&src.join("LICENSE-APACHE"), &doc, 0o644);
1345-
builder.install(&src.join("LICENSE-MIT"), &doc, 0o644);
1346-
builder.create(&overlay.join("version"), &version);
1347-
1348-
// Generate the installer tarball
1349-
let mut cmd = rust_installer(builder);
1350-
cmd.arg("generate")
1351-
.arg("--product-name=Rust")
1352-
.arg("--rel-manifest-dir=rustlib")
1353-
.arg("--success-message=miri-ready-to-serve.")
1354-
.arg("--image-dir")
1355-
.arg(&image)
1356-
.arg("--work-dir")
1357-
.arg(&tmpdir(builder))
1358-
.arg("--output-dir")
1359-
.arg(&distdir(builder))
1360-
.arg("--non-installed-overlay")
1361-
.arg(&overlay)
1362-
.arg(format!("--package-name={}-{}", name, target.triple))
1363-
.arg("--legacy-manifest-dirs=rustlib,cargo")
1364-
.arg("--component-name=miri-preview");
1365-
1366-
builder.info(&format!("Dist miri stage{} ({})", compiler.stage, target));
1367-
let _time = timeit(builder);
1368-
builder.run(&mut cmd);
1369-
Some(distdir(builder).join(format!("{}-{}.tar.gz", name, target.triple)))
1319+
let mut tarball = Tarball::new(builder, "miri", &target.triple);
1320+
tarball.set_overlay(OverlayKind::Miri);
1321+
tarball.is_preview(true);
1322+
tarball.add_file(miri, "bin", 0o755);
1323+
tarball.add_file(cargomiri, "bin", 0o755);
1324+
tarball.add_legal_and_readme_to("share/doc/miri");
1325+
Some(tarball.generate())
13701326
}
13711327
}
13721328

src/bootstrap/tarball.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub(crate) enum OverlayKind {
1010
LLVM,
1111
Cargo,
1212
Clippy,
13+
Miri,
1314
}
1415

1516
impl OverlayKind {
@@ -30,6 +31,11 @@ impl OverlayKind {
3031
"src/tools/clippy/LICENSE-APACHE",
3132
"src/tools/clippy/LICENSE-MIT",
3233
],
34+
OverlayKind::Miri => &[
35+
"src/tools/miri/README.md",
36+
"src/tools/miri/LICENSE-APACHE",
37+
"src/tools/miri/LICENSE-MIT",
38+
],
3339
}
3440
}
3541

@@ -43,6 +49,7 @@ impl OverlayKind {
4349
OverlayKind::Clippy => {
4450
builder.clippy_info.version(builder, &builder.release_num("clippy"))
4551
}
52+
OverlayKind::Miri => builder.miri_info.version(builder, &builder.release_num("miri")),
4653
}
4754
}
4855
}

0 commit comments

Comments
 (0)