commit | c2531885d136707cbbc6f19df2b16504c3a0d22f | [log] [tgz] |
---|---|---|
author | Jon Gjengset <jongje@amazon.com> | Sat Feb 04 01:31:43 2023 +0000 |
committer | Jon Gjengset <jongje@amazon.com> | Sat Feb 04 01:33:16 2023 +0000 |
tree | d45a0696337881689c1e7adaaad22a5a4f664ec4 | |
parent | 5b2eee7eed72b4894909c5eecbf014ea0b5ad995 [diff] |
Write out manifest.in entries deterministically Currently, the order of the entries in `manifest.in` depends on the iteration order of `copy_with_callback`, which in turn depends on `WalkDir`, which explicitly says iteration order is unspecified. It's possible to call `WalkDir::sort_by` to give an iteration order for each directory's entries, but it felt better to accumulate the lines and then sort them to a) make it more evident that this is happening, and b) enable the copying to be parallelized in the future.
A generator for the install.sh script commonly used to install Rust in Unix environments. It is used By Rust, Cargo, and is intended to be used by a future combined installer of Rust + Cargo.
./gen-installer.sh --product-name=Rust \ --rel-manifest-dir=rustlib \ --success-message=Rust-is-ready-to-roll. \ --image-dir=./install-image \ --work-dir=./temp \ --output-dir=./dist \ --non-installed-overlay=./overlay \ --package-name=rustc-nightly-i686-apple-darwin \ --component-name=rustc \ --legacy-manifest-dirs=rustlib \ --bulk-dirs=share/doc
Or, to just generate the script.
./gen-install-script.sh --product-name=Rust \ --rel-manifest-dir=rustlib \ --success-message=Rust-is-ready-to-roll. \ --output-script=install.sh \ --legacy-manifest-dirs=rustlib
Note: the dashes in success-message
are converted to spaces. The script's argument handling is broken with spaces.
To combine installers.
./combine-installers.sh --product-name=Rust \ --rel-manifest-dir=rustlib \ --success-message=Rust-is-ready-to-roll. \ --work-dir=./temp \ --output-dir=./dist \ --non-installed-overlay=./overlay \ --package-name=rustc-nightly-i686-apple-darwin \ --legacy-manifest-dirs=rustlib \ --input-tarballs=./rustc.tar.gz,cargo.tar.gz
This software is distributed under the terms of both the MIT license and/or the Apache License (Version 2.0), at your option.
See LICENSE-APACHE, LICENSE-MIT for details.