scripts: Fix fetch-rust-toolchain script
Remove the ROOT check from download path so it can be run in CI docker
Make sure the ${OUT} and ${CACHE} exists before downloading the tarball
This is a temporary fix to unblock CI.
Change-Id: I6ce704f8693eaeabdd51bde9dae99b034d71de98
diff --git a/fetch-rust-toolchain.sh b/fetch-rust-toolchain.sh
index df059bd..7aed0e2 100755
--- a/fetch-rust-toolchain.sh
+++ b/fetch-rust-toolchain.sh
@@ -44,6 +44,9 @@
}
function list-tarballs {
+ if [[ "$EUID" == 0 ]]; then
+ die "This script must NOT be run as root."
+ fi
if ! hash gsutil 2>/dev/null; then
die "Google cloud SDK is not installed."
fi
@@ -72,8 +75,10 @@
local tarball="$(generate-tarball-name ${version})"
local checksum="${tarball}.sha256sum"
- try wget -O "${ROOTDIR}/out/${tarball}" "${PUBLIC_ARTIFACTS_URL}/${tarball}"
- try wget -O "${ROOTDIR}/out/${checksum}" "${PUBLIC_ARTIFACTS_URL}/${checksum}"
+ try mkdir -p "${OUT}"
+
+ try wget -O "${OUT}/${tarball}" "${PUBLIC_ARTIFACTS_URL}/${tarball}"
+ try wget -O "${OUT}/${checksum}" "${PUBLIC_ARTIFACTS_URL}/${checksum}"
# Workaround the fact that we use the datestamped version of the filename
# at sha256sum creation time. IOW, "latest" is a symbolic name to make
@@ -81,15 +86,16 @@
# Conveniently, this also allows us to determine which tarball is currently
# set as the latest in storage.
if [[ "${version}" == "latest" ]]; then
- local original_name=$(get-original-name "${ROOTDIR}/out/${tarball}")
- try mv "${ROOTDIR}/out/${tarball}" "${ROOTDIR}/out/${original_name}"
- try mv "${ROOTDIR}/out/${checksum}" "${ROOTDIR}/out/${original_name}.sha256sum"
+ local original_name=$(get-original-name "${OUT}/${tarball}")
+ try mv "${OUT}/${tarball}" "${OUT}/${original_name}"
+ try mv "${OUT}/${checksum}" "${OUT}/${original_name}.sha256sum"
tarball="${original_name}"
checksum="${original_name}.sha256sum"
fi
- try in-dir "${ROOTDIR}/out" sha256sum -c "${checksum}"
- try tar -C "${ROOTDIR}/cache" -xf "${ROOTDIR}/out/${tarball}"
+ try in-dir "${OUT}" sha256sum -c "${checksum}"
+ try mkdir -p "${CACHE}"
+ try tar -C "${CACHE}" -xf "${OUT}/${tarball}"
}
function show-usage {
@@ -165,10 +171,6 @@
esac
}
-if [[ "$EUID" == 0 ]]; then
- die "This script must NOT be run as root."
-fi
-
if [[ -z "${ROOTDIR}" || -z "${RUSTDIR}" ]]; then
die "Source build/setup.sh first"
fi