rust-lang / rust-lang/rust

add an extension point in bootstrap.toml for metadata?

Open
#146,682 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-feature-request T-bootstrap
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Summary

Ferrocene maintains a fork of bootstrap with different configuration options than upstream. We put these under a [ferrocene.*] table, which means that using a ferrocene-specific config.toml with an upstream branch causes bootstrap to error.

Does t-bootstrap have any interest in adding a [metadata] field with arbitrary data here so that we can hook onto it, like package.metadata in Cargo.toml? We don't need you to do anything at all with it, just parse the TOML and discard it. I'm happy to make a PR implementing the code.

Command used
x build
Expected behaviour

[custom options are ignored]

Actual behaviour
ERROR: Failed to parse '/Users/jyn/src/rust-upstream/config.toml': unknown field `ferrocene`
Bootstrap configuration (bootstrap.toml)
[ferrocene.example]
option = true
Operating system

macOS Version 15.5 (24F74) Darwin 24.5.0

HEAD

2adaa5dae2b9b63a50fa0200650aeee918cb76fb

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the bootstrap.toml parsing entry point used by x build and review how unknown tables currently produce the reported error. Implement support for arbitrary metadata that is parsed and discarded, then verify that the shown [ferrocene.example] configuration no longer fails while existing configuration behavior remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.