rust/src/tools/build-manifest
Scott Mabin 1a7b610da3 Add riscv32 imafc bare metal target
- riscv32imac-unknown-none-elf
- Add platform support docs for rv32
2023-12-05 11:05:52 +00:00
..
src Add riscv32 imafc bare metal target 2023-12-05 11:05:52 +00:00
Cargo.toml print omitted frames count for short backtrace mode 2023-07-29 20:36:05 +08:00
README.md More build-manifest docs 2022-10-30 16:43:31 -05:00

build-manifest

This tool generates the manifests uploaded to static.rust-lang.org and used by rustup. You can see a full list of all manifests at https://static.rust-lang.org/manifests.txt. This listing is updated by https://github.com/rust-lang/generate-manifest-list every 7 days.

This gets called by promote-release https://github.com/rust-lang/promote-release via x.py dist hash-and-sign.

Adding a new component

  1. Add a new Step to dist.rs. This should usually be named after the filename of the uploaded tarball. See https://github.com/rust-lang/rust/pull/101799/files#diff-2c56335faa24486df09ba392d8900c57e2fac4633e1f7038469bcf9ed3feb871 for an example. a. If appropriate, call tarball.is_preview(true) for the component.
  2. Add a new PkgType to build-manifest. Fix all the compile errors as appropriate.

Testing changes locally

In order to test the changes locally you need to have a valid dist directory available locally. If you don't want to build all the compiler, you can easily create one from the nightly artifacts with:

for component in rust rustc rust-std rust-docs cargo; do
    wget -P build/dist https://static.rust-lang.org/dist/${component}-nightly-x86_64-unknown-linux-gnu.tar.gz
done

Then, you can generate the manifest and all the packages from build/dist to build/manifest with:

mkdir -p build/manifest
cargo +nightly run --release -p build-manifest build/dist build/manifest 1970-01-01 http://example.com nightly