From e26974ca33aa322bbc60db5d1010899e40f6d624 Mon Sep 17 00:00:00 2001 From: Alistair Francis Date: Fri, 9 Jan 2026 08:35:43 +1000 Subject: [PATCH] bootstrap: minimal fix for ./x install src with build.docs = false When running the `install src` command I'm seeing failures as the `builder.doc_out(host)` directory does not exist. This is because `match_paths_to_steps_and_run()` doesn't actually build any documentation as the `paths.is_empty()` causes an early return. This results in install failures as the `*/doc` src directory doesn't exist. This patch ensures that the builder.doc_out(host) directory exists. This fixes installing the Rust source when `build.docs = false`. This fixes installing the Rust source code in OpenEmbedded. Signed-off-by: Alistair Francis Signed-off-by: Jieyou Xu --- src/bootstrap/src/core/build_steps/dist.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs index 2e291f7c2c320..28a7afd6c61a6 100644 --- a/src/bootstrap/src/core/build_steps/dist.rs +++ b/src/bootstrap/src/core/build_steps/dist.rs @@ -87,6 +87,12 @@ impl Step for Docs { // from a shared directory. builder.run_default_doc_steps(); + // In case no default doc steps are run for host, it is possible that `/doc` directory + // is never created. + if !builder.config.dry_run() { + t!(fs::create_dir_all(builder.doc_out(host))); + } + let dest = "share/doc/rust/html"; let mut tarball = Tarball::new(builder, "rust-docs", &host.triple);