Skip to content

Commit 1e40679

Browse files
committed
Auto merge of rust-lang#93047 - matthiaskrgr:defer__dist_PlainSourceTarball, r=Mark-Simulacrum
build: dist: defer PlainSourceTarball Apparently it changes some tool sources and invalidates their fingerprints, forcing us to build them several times (before and after vendoring sources). I have not dug into why vendoring actually invalidates the figreprints, but moving the vendoring lower in the pipeline seems to avoid the issue. I could imagine that we somehow write a .cargo/config somewhere which somehow makes subsequent builds use the vendored deps but I was not able to find anything. I checked the sizes of generated archives pre and post patch and their are the same, so I hope there is no functional change. Fixes rust-lang#93033
2 parents 16c1a9d + 5f58a78 commit 1e40679

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/bootstrap/builder.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,6 @@ impl<'a> Builder<'a> {
588588
dist::RustcDev,
589589
dist::Analysis,
590590
dist::Src,
591-
dist::PlainSourceTarball,
592591
dist::Cargo,
593592
dist::Rls,
594593
dist::RustAnalyzer,
@@ -599,6 +598,11 @@ impl<'a> Builder<'a> {
599598
dist::LlvmTools,
600599
dist::RustDev,
601600
dist::Extended,
601+
// It seems that PlainSourceTarball somehow changes how some of the tools
602+
// perceive their dependencies (see #93033) which would invaliate fingerprints
603+
// and force us to rebuild tools after vendoring dependencies.
604+
// To work around this, create the Tarball after building all the tools.
605+
dist::PlainSourceTarball,
602606
dist::BuildManifest,
603607
dist::ReproducibleArtifacts,
604608
),

0 commit comments

Comments
 (0)