31 lines
1.2 KiB
Bash
Executable File
31 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -ex
|
|
|
|
flux_dir=$(go list -m -f '{{.Dir}}' github.com/influxdata/flux)
|
|
FLUX_RUST_VERSION=$(cat ${flux_dir}/Dockerfile_build | grep 'FROM rust:' | cut -d ' ' -f2 | cut -d ':' -f2)
|
|
RUST_LATEST_VERSION=${FLUX_RUST_VERSION:-1.53}
|
|
cd ..
|
|
rm -rf flux-repo
|
|
|
|
# For security, we specify a particular rustup version and a SHA256 hash, computed
|
|
# ourselves and hardcoded here. When updating `RUSTUP_LATEST_VERSION`:
|
|
# 1. Download the new rustup script from https://github.com/rust-lang/rustup/releases.
|
|
# 2. Audit the script and changes to it. You might want to grep for strange URLs...
|
|
# 3. Update `OUR_RUSTUP_SHA` with the result of running `sha256sum rustup-init.sh`.
|
|
RUSTUP_LATEST_VERSION=1.24.2
|
|
OUR_RUSTUP_SHA="40229562d4fa60e102646644e473575bae22ff56c3a706898a47d7241c9c031e"
|
|
|
|
|
|
# Download rustup script
|
|
curl --proto '=https' --tlsv1.2 -sSf \
|
|
https://raw.githubusercontent.com/rust-lang/rustup/${RUSTUP_LATEST_VERSION}/rustup-init.sh -O
|
|
|
|
# Verify checksum of rustup script. Exit with error if check fails.
|
|
echo "${OUR_RUSTUP_SHA} rustup-init.sh" | sha256sum --check -- \
|
|
|| { echo "Checksum problem!"; exit 1; }
|
|
|
|
# Run rustup.
|
|
sh rustup-init.sh --default-toolchain "$RUST_LATEST_VERSION" -y
|
|
export PATH="${HOME}/.cargo/bin:${PATH}"
|