|
402 | 402 |
|
403 | 403 | CFG_TMP_DIR="./rustup-tmp-install"
|
404 | 404 |
|
| 405 | +RUST_URL="https://static.rust-lang.org/dist" |
405 | 406 | RUST_PACKAGE_NAME=rust-nightly
|
406 | 407 | RUST_PACKAGE_NAME_AND_TRIPLE="${RUST_PACKAGE_NAME}-${HOST_TRIPLE}"
|
407 | 408 | RUST_TARBALL_NAME="${RUST_PACKAGE_NAME_AND_TRIPLE}.tar.gz"
|
408 |
| -RUST_REMOTE_TARBALL="https://static.rust-lang.org/dist/${RUST_TARBALL_NAME}" |
409 |
| -RUST_LOCAL_TARBALL="${CFG_TMP_DIR}/${RUST_TARBALL_NAME}" |
410 | 409 | RUST_LOCAL_INSTALL_DIR="${CFG_TMP_DIR}/${RUST_PACKAGE_NAME_AND_TRIPLE}"
|
411 | 410 | RUST_LOCAL_INSTALL_SCRIPT="${RUST_LOCAL_INSTALL_DIR}/install.sh"
|
412 | 411 |
|
| 412 | +CARGO_URL="https://static.rust-lang.org/cargo-dist" |
413 | 413 | CARGO_PACKAGE_NAME=cargo-nightly
|
414 | 414 | CARGO_PACKAGE_NAME_AND_TRIPLE="${CARGO_PACKAGE_NAME}-${HOST_TRIPLE}"
|
415 | 415 | CARGO_TARBALL_NAME="${CARGO_PACKAGE_NAME_AND_TRIPLE}.tar.gz"
|
416 |
| -CARGO_REMOTE_TARBALL="https://static.rust-lang.org/cargo-dist/${CARGO_TARBALL_NAME}" |
417 |
| -CARGO_LOCAL_TARBALL="${CFG_TMP_DIR}/${CARGO_TARBALL_NAME}" |
418 | 416 | CARGO_LOCAL_INSTALL_DIR="${CFG_TMP_DIR}/${CARGO_PACKAGE_NAME_AND_TRIPLE}"
|
419 | 417 | CARGO_LOCAL_INSTALL_SCRIPT="${CARGO_LOCAL_INSTALL_DIR}/install.sh"
|
420 | 418 |
|
| 419 | +# Fetch the package and extract it. |
| 420 | +download_and_extract_package() { |
| 421 | + remote_url="$1" |
| 422 | + tarball_name="$2" |
| 423 | + remote_tarball="${remote_url}/${tarball_name}" |
| 424 | + local_tarball="${CFG_TMP_DIR}/${tarball_name}" |
| 425 | + |
| 426 | + msg "Downloading ${remote_tarball} to ${local_tarball}" |
| 427 | + |
| 428 | + mkdir -p "${CFG_TMP_DIR}" |
| 429 | + need_ok "failed to create create download directory" |
| 430 | + |
| 431 | + "${CFG_CURL}" -f -o "${local_tarball}" "${remote_tarball}" |
| 432 | + if [ $? -ne 0 ] |
| 433 | + then |
| 434 | + rm -Rf "${CFG_TMP_DIR}" |
| 435 | + err "failed to download installer" |
| 436 | + fi |
| 437 | + |
| 438 | + msg "Extracting ${tarball_name}" |
| 439 | + (cd "${CFG_TMP_DIR}" && "${CFG_TAR}" -xvf "${tarball_name}") |
| 440 | + if [ $? -ne 0 ]; then |
| 441 | + rm -Rf "${CFG_TMP_DIR}" |
| 442 | + err "failed to unpack installer" |
| 443 | + fi |
| 444 | +} |
| 445 | + |
421 | 446 | rm -Rf "${CFG_TMP_DIR}"
|
422 | 447 | need_ok "failed to remove temporary installation directory"
|
423 | 448 |
|
424 | 449 | mkdir -p "${CFG_TMP_DIR}"
|
425 | 450 | need_ok "failed to create create temporary installation directory"
|
426 | 451 |
|
427 |
| -msg "downloading rust installer" |
428 |
| -"${CFG_CURL}" "${RUST_REMOTE_TARBALL}" > "${RUST_LOCAL_TARBALL}" |
429 |
| -if [ $? -ne 0 ] |
430 |
| -then |
431 |
| - rm -Rf "${CFG_TMP_DIR}" |
432 |
| - err "failed to download installer" |
433 |
| -fi |
| 452 | +download_and_extract_package \ |
| 453 | + "${RUST_URL}" \ |
| 454 | + "${RUST_TARBALL_NAME}" |
434 | 455 |
|
435 | 456 | if [ -z "${CFG_DISABLE_CARGO}" ]; then
|
436 |
| - msg "downloading cargo installer" |
437 |
| - "${CFG_CURL}" "${CARGO_REMOTE_TARBALL}" > "${CARGO_LOCAL_TARBALL}" |
438 |
| - if [ $? -ne 0 ] |
439 |
| - then |
440 |
| - rm -Rf "${CFG_TMP_DIR}" |
441 |
| - err "failed to download cargo installer" |
442 |
| - fi |
| 457 | + download_and_extract_package \ |
| 458 | + "${CARGO_URL}" \ |
| 459 | + "${CARGO_TARBALL_NAME}" |
443 | 460 | fi
|
444 | 461 |
|
445 | 462 |
|
|
0 commit comments