Skip to content

Commit aeb6099

Browse files
committed
Make variable usage safer
Before we sometimes had unset variables in the script but it help to be stricter about this so that this doesn't happen anymore in the future.
1 parent 6a7d123 commit aeb6099

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

install-rust-toolchain.sh

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
#!/usr/bin/env bash
22

3-
set -e
3+
set -eu
44
#set -v
55

66
# Default values
77
TOOLCHAIN_VERSION="1.62.0.0"
8-
if [ -z "${RUSTUP_HOME}" ]; then
9-
RUSTUP_HOME="${HOME}/.rustup"
10-
fi
8+
RUSTUP_HOME="${RUSTUP_HOME:-${HOME}/.rustup}"
9+
CARGO_HOME="${CARGO_HOME:-${HOME}/.cargo}"
1110
TOOLCHAIN_DESTINATION_DIR="${RUSTUP_HOME}/toolchains/esp"
1211
BUILD_TARGET="esp32,esp32s2,esp32s3"
1312
RUSTC_MINIMAL_MINOR_VERSION="55"
@@ -139,7 +138,7 @@ echo "--build-target = ${BUILD_TARGET}"
139138
echo "--cargo-home = ${CARGO_HOME}"
140139
echo "--clear-cache = ${CLEAR_DOWNLOAD_CACHE}"
141140
echo "--esp-idf-version = ${ESP_IDF_VERSION}"
142-
echo "--export-file = ${EXPORT_FILE}"
141+
echo "--export-file = ${EXPORT_FILE:-}"
143142
echo "--extra-crates = ${EXTRA_CRATES}"
144143
echo "--installation-mode = ${INSTALLATION_MODE}"
145144
echo "--llvm-version = ${LLVM_VERSION}"
@@ -495,7 +494,9 @@ elif [ ${ARCH} == "x86_64-apple-darwin" ]; then
495494
ESPFLASH_BIN="${CARGO_HOME}/bin/espflash"
496495
LDPROXY_URL="https://github.com/esp-rs/embuild/releases/latest/download/ldproxy-${ARCH}.zip"
497496
LDPROXY_BIN="${CARGO_HOME}/bin/ldproxy"
498-
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
497+
if [[ "${EXTRA_CRATES}" =~ "cargo-generate" ]]; then
498+
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
499+
fi
499500
GENERATE_BIN="${CARGO_HOME}/bin/cargo-generate"
500501
WOKWI_SERVER_URL="https://github.com/MabezDev/wokwi-server/releases/latest/download/wokwi-server-${ARCH}.zip"
501502
WOKWI_SERVER_BIN="${CARGO_HOME}/bin/wokwi-server"
@@ -510,7 +511,9 @@ elif [ ${ARCH} == "x86_64-unknown-linux-gnu" ]; then
510511
ESPFLASH_BIN="${CARGO_HOME}/bin/espflash"
511512
LDPROXY_URL="https://github.com/esp-rs/embuild/releases/latest/download/ldproxy-${ARCH}.zip"
512513
LDPROXY_BIN="${CARGO_HOME}/bin/ldproxy"
513-
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
514+
if [[ "${EXTRA_CRATES}" =~ "cargo-generate" ]]; then
515+
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
516+
fi
514517
GENERATE_BIN="${CARGO_HOME}/bin/cargo-generate"
515518
WOKWI_SERVER_URL="https://github.com/MabezDev/wokwi-server/releases/latest/download/wokwi-server-${ARCH}.zip"
516519
WOKWI_SERVER_BIN="${CARGO_HOME}/bin/wokwi-server"
@@ -519,7 +522,9 @@ elif [ ${ARCH} == "x86_64-unknown-linux-gnu" ]; then
519522
elif [ ${ARCH} == "aarch64-unknown-linux-gnu" ]; then
520523
GCC_ARCH="linux-arm64"
521524
SYSTEM_PACKAGES=""
522-
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
525+
if [[ "${EXTRA_CRATES}" =~ "cargo-generate" ]]; then
526+
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
527+
fi
523528
GENERATE_BIN="${CARGO_HOME}/bin/cargo-generate"
524529
CARGO_ESPFLASH_URL="https://github.com/esp-rs/espflash/releases/latest/download/cargo-espflash-${ARCH}.zip"
525530
CARGO_ESPFLASH_BIN="${CARGO_HOME}/bin/cargo-espflash"
@@ -534,7 +539,9 @@ elif [ ${ARCH} == "x86_64-pc-windows-msvc" ]; then
534539
ESPFLASH_BIN="${CARGO_HOME}/bin/espflash.exe"
535540
LDPROXY_URL="https://github.com/esp-rs/embuild/releases/latest/download/ldproxy-${ARCH}.zip"
536541
LDPROXY_BIN="${CARGO_HOME}/bin/ldproxy.exe"
537-
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
542+
if [[ "${EXTRA_CRATES}" =~ "cargo-generate" ]]; then
543+
GENERATE_URL="https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-${ARCH}.tar.gz"
544+
fi
538545
GENERATE_BIN="${CARGO_HOME}/bin/cargo-generate.exe"
539546
WOKWI_SERVER_URL="https://github.com/MabezDev/wokwi-server/releases/latest/download/wokwi-server-${ARCH}.zip"
540547
WOKWI_SERVER_BIN="${CARGO_HOME}/bin/wokwi-server.exe"
@@ -552,10 +559,7 @@ LLVM_ARTIFACT_VERSION=$(echo ${LLVM_VERSION} | sed -e 's/.*esp-//g' -e 's/-.*//g
552559
LLVM_FILE="xtensa-esp32-elf-llvm${LLVM_ARTIFACT_VERSION}-${LLVM_VERSION}-${ARCH}.tar.xz"
553560
LLVM_DIST_URL="${LLVM_DIST_MIRROR}/${LLVM_FILE}"
554561

555-
if [ -z "${IDF_TOOLS_PATH}" ]; then
556-
IDF_TOOLS_PATH="${HOME}/.espressif"
557-
fi
558-
562+
IDF_TOOLS_PATH="${IDF_TOOLS_PATH:-${HOME}/.espressif}"
559563
IDF_TOOL_GCC_PATH=""
560564
IDF_TOOL_XTENSA_ELF_CLANG="${IDF_TOOLS_PATH}/tools/xtensa-esp32-elf-clang/${LLVM_VERSION}-${ARCH}"
561565

0 commit comments

Comments
 (0)