Skip to content

Commit b2fbed6

Browse files
committed
rustup: allow rust and cargo snapshot dates to be different
1 parent 32c187a commit b2fbed6

File tree

1 file changed

+37
-19
lines changed

1 file changed

+37
-19
lines changed

src/etc/rustup.sh

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,8 @@ flag uninstall "only uninstall from the installation prefix"
272272
valopt prefix "" "set installation prefix"
273273
opt cargo 1 "install cargo with rust"
274274
valopt date "" "use the YYYY-MM-DD nightly instead of the current nightly"
275+
valopt rust-date "" "use the YYYY-MM-DD rust nightly instead of the current nightly"
276+
valopt cargo-date "" "use the YYYY-MM-DD cargo nightly instead of the current nightly"
275277
flag save "save the downloaded nightlies to ~/.rustup"
276278

277279
if [ $HELP -eq 1 ]
@@ -427,12 +429,12 @@ then
427429
CFG_DATE=`date "+%Y-%m-%d"`
428430
fi
429431

430-
# If we're saving our nightlies, put them in $HOME/.rustup.
431-
if [ -n "${CFG_SAVE}" ]
432-
then
433-
CFG_DOWNLOAD_DIR="${HOME}/.rustup/${CFG_DATE}"
434-
else
435-
CFG_DOWNLOAD_DIR="${CFG_TMP_DIR}"
432+
if [ -z "${CFG_RUST_DATE}" ]; then
433+
CFG_RUST_DATE="${CFG_DATE}"
434+
fi
435+
436+
if [ -z "${CFG_CARGO_DATE}" ]; then
437+
CFG_CARGO_DATE="${CFG_DATE}"
436438
fi
437439

438440
RUST_URL="https://static.rust-lang.org/dist"
@@ -450,10 +452,14 @@ CARGO_LOCAL_INSTALL_DIR="${CFG_TMP_DIR}/${CARGO_PACKAGE_NAME_AND_TRIPLE}"
450452
CARGO_LOCAL_INSTALL_SCRIPT="${CARGO_LOCAL_INSTALL_DIR}/install.sh"
451453

452454
# add a date suffix if we want a particular nighly.
453-
if [ -n "${CFG_DATE}" ];
455+
if [ -n "${CFG_RUST_DATE}" ];
456+
then
457+
RUST_URL="${RUST_URL}/${CFG_RUST_DATE}"
458+
fi
459+
460+
if [ -n "${CFG_CARGO_DATE}" ];
454461
then
455-
RUST_URL="${RUST_URL}/${CFG_DATE}"
456-
CARGO_URL="${CARGO_URL}/${CFG_DATE}"
462+
CARGO_URL="${CARGO_URL}/${CFG_CARGO_DATE}"
457463
fi
458464

459465
verify_hash() {
@@ -494,9 +500,6 @@ download_package() {
494500
if [ ! -e "${local_tarball}" ]; then
495501
msg "Downloading ${remote_tarball} to ${local_tarball}"
496502

497-
mkdir -p "${CFG_DOWNLOAD_DIR}"
498-
need_ok "failed to create create download directory"
499-
500503
"${CFG_CURL}" -f -o "${local_tarball} "${remote_tarball}"
501504
if [ $? -ne 0 ]
502505
then
@@ -510,11 +513,10 @@ download_package() {
510513
511514
# Wrap all the commands needed to install a package.
512515
install_package() {
513-
tarball_name="$1"
516+
local_tarball="$1"
514517
install_script="$2"
515-
local_tarball="${CFG_DOWNLOAD_DIR}/${tarball_name}"
516518
517-
msg "Extracting ${tarball_name}"
519+
msg "Extracting ${local_tarball}"
518520
(cd "${CFG_TMP_DIR}" && "${CFG_TAR}" -xvf "${local_tarball}")
519521
if [ $? -ne 0 ]; then
520522
rm -Rf "${CFG_TMP_DIR}"
@@ -542,8 +544,24 @@ install_packages() {
542544
mkdir -p "${CFG_TMP_DIR}"
543545
need_ok "failed to create create temporary installation directory"
544546
545-
RUST_LOCAL_TARBALL="${CFG_TMP_DIR}/${RUST_TARBALL_NAME}"
546-
CARGO_LOCAL_TARBALL="${CFG_TMP_DIR}/${CARGO_TARBALL_NAME}"
547+
# If we're saving our nightlies, put them in $HOME/.rustup.
548+
if [ -n "${CFG_SAVE}" ]
549+
then
550+
RUST_DOWNLOAD_DIR="${HOME}/.rustup/${CFG_RUST_DATE}"
551+
CARGO_DOWNLOAD_DIR="${HOME}/.rustup/${CFG_CARGO_DATE}"
552+
else
553+
RUST_DOWNLOAD_DIR="${CFG_TMP_DIR}"
554+
CARGO_DOWNLOAD_DIR="${CFG_TMP_DIR}"
555+
fi
556+
557+
mkdir -p "${RUST_DOWNLOAD_DIR}"
558+
need_ok "failed to create create download directory"
559+
560+
mkdir -p "${CARGO_DOWNLOAD_DIR}"
561+
need_ok "failed to create create download directory"
562+
563+
RUST_LOCAL_TARBALL="${RUST_DOWNLOAD_DIR}/${RUST_TARBALL_NAME}"
564+
CARGO_LOCAL_TARBALL="${CARGO_DOWNLOAD_DIR}/${CARGO_TARBALL_NAME}"
547565
548566
download_package \
549567
"${RUST_URL}/${RUST_TARBALL_NAME}" \
@@ -556,12 +574,12 @@ install_packages() {
556574
fi
557575
558576
install_package \
559-
"${RUST_TARBALL_NAME}" \
577+
"${RUST_LOCAL_TARBALL}" \
560578
"${RUST_LOCAL_INSTALL_SCRIPT}"
561579
562580
if [ -z "${CFG_DISABLE_CARGO}" ]; then
563581
install_package \
564-
"${CARGO_TARBALL_NAME}" \
582+
"${CARGO_LOCAL_TARBALL}" \
565583
"${CARGO_LOCAL_INSTALL_SCRIPT}"
566584
fi
567585

0 commit comments

Comments
 (0)