rust/src/tools/build-manifest
David Koloski f6ef039775 Add vendor to Fuchsia's target triple
Historically, Rust's Fuchsia targets have been labeled x86_64-fuchsia
and aarch64-fuchsia. However, they should technically contain vendor
information. This CL changes Fuchsia's target triples to include the
"unknown" vendor since Clang now does normalization and handles all
triple spellings.

This was previously attempted in #90510, which was closed due to
inactivity.
2023-01-05 09:34:22 -05:00
..
src Add vendor to Fuchsia's target triple 2023-01-05 09:34:22 -05:00
Cargo.toml Revert "Revert "Remove num_cpus dependency from bootstrap, build-manifest and rustc_session"" 2022-08-15 16:24:07 +02: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