rustup: allow rust and cargo snapshot dates to be different
This commit is contained in:
parent
32c187a879
commit
b2fbed6e70
1 changed files with 37 additions and 19 deletions
|
|
@ -272,6 +272,8 @@ flag uninstall "only uninstall from the installation prefix"
|
|||
valopt prefix "" "set installation prefix"
|
||||
opt cargo 1 "install cargo with rust"
|
||||
valopt date "" "use the YYYY-MM-DD nightly instead of the current nightly"
|
||||
valopt rust-date "" "use the YYYY-MM-DD rust nightly instead of the current nightly"
|
||||
valopt cargo-date "" "use the YYYY-MM-DD cargo nightly instead of the current nightly"
|
||||
flag save "save the downloaded nightlies to ~/.rustup"
|
||||
|
||||
if [ $HELP -eq 1 ]
|
||||
|
|
@ -427,12 +429,12 @@ then
|
|||
CFG_DATE=`date "+%Y-%m-%d"`
|
||||
fi
|
||||
|
||||
# If we're saving our nightlies, put them in $HOME/.rustup.
|
||||
if [ -n "${CFG_SAVE}" ]
|
||||
then
|
||||
CFG_DOWNLOAD_DIR="${HOME}/.rustup/${CFG_DATE}"
|
||||
else
|
||||
CFG_DOWNLOAD_DIR="${CFG_TMP_DIR}"
|
||||
if [ -z "${CFG_RUST_DATE}" ]; then
|
||||
CFG_RUST_DATE="${CFG_DATE}"
|
||||
fi
|
||||
|
||||
if [ -z "${CFG_CARGO_DATE}" ]; then
|
||||
CFG_CARGO_DATE="${CFG_DATE}"
|
||||
fi
|
||||
|
||||
RUST_URL="https://static.rust-lang.org/dist"
|
||||
|
|
@ -450,10 +452,14 @@ CARGO_LOCAL_INSTALL_DIR="${CFG_TMP_DIR}/${CARGO_PACKAGE_NAME_AND_TRIPLE}"
|
|||
CARGO_LOCAL_INSTALL_SCRIPT="${CARGO_LOCAL_INSTALL_DIR}/install.sh"
|
||||
|
||||
# add a date suffix if we want a particular nighly.
|
||||
if [ -n "${CFG_DATE}" ];
|
||||
if [ -n "${CFG_RUST_DATE}" ];
|
||||
then
|
||||
RUST_URL="${RUST_URL}/${CFG_DATE}"
|
||||
CARGO_URL="${CARGO_URL}/${CFG_DATE}"
|
||||
RUST_URL="${RUST_URL}/${CFG_RUST_DATE}"
|
||||
fi
|
||||
|
||||
if [ -n "${CFG_CARGO_DATE}" ];
|
||||
then
|
||||
CARGO_URL="${CARGO_URL}/${CFG_CARGO_DATE}"
|
||||
fi
|
||||
|
||||
verify_hash() {
|
||||
|
|
@ -494,9 +500,6 @@ download_package() {
|
|||
if [ ! -e "${local_tarball}" ]; then
|
||||
msg "Downloading ${remote_tarball} to ${local_tarball}"
|
||||
|
||||
mkdir -p "${CFG_DOWNLOAD_DIR}"
|
||||
need_ok "failed to create create download directory"
|
||||
|
||||
"${CFG_CURL}" -f -o "${local_tarball} "${remote_tarball}"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
|
|
@ -510,11 +513,10 @@ download_package() {
|
|||
|
||||
# Wrap all the commands needed to install a package.
|
||||
install_package() {
|
||||
tarball_name="$1"
|
||||
local_tarball="$1"
|
||||
install_script="$2"
|
||||
local_tarball="${CFG_DOWNLOAD_DIR}/${tarball_name}"
|
||||
|
||||
msg "Extracting ${tarball_name}"
|
||||
msg "Extracting ${local_tarball}"
|
||||
(cd "${CFG_TMP_DIR}" && "${CFG_TAR}" -xvf "${local_tarball}")
|
||||
if [ $? -ne 0 ]; then
|
||||
rm -Rf "${CFG_TMP_DIR}"
|
||||
|
|
@ -542,8 +544,24 @@ install_packages() {
|
|||
mkdir -p "${CFG_TMP_DIR}"
|
||||
need_ok "failed to create create temporary installation directory"
|
||||
|
||||
RUST_LOCAL_TARBALL="${CFG_TMP_DIR}/${RUST_TARBALL_NAME}"
|
||||
CARGO_LOCAL_TARBALL="${CFG_TMP_DIR}/${CARGO_TARBALL_NAME}"
|
||||
# If we're saving our nightlies, put them in $HOME/.rustup.
|
||||
if [ -n "${CFG_SAVE}" ]
|
||||
then
|
||||
RUST_DOWNLOAD_DIR="${HOME}/.rustup/${CFG_RUST_DATE}"
|
||||
CARGO_DOWNLOAD_DIR="${HOME}/.rustup/${CFG_CARGO_DATE}"
|
||||
else
|
||||
RUST_DOWNLOAD_DIR="${CFG_TMP_DIR}"
|
||||
CARGO_DOWNLOAD_DIR="${CFG_TMP_DIR}"
|
||||
fi
|
||||
|
||||
mkdir -p "${RUST_DOWNLOAD_DIR}"
|
||||
need_ok "failed to create create download directory"
|
||||
|
||||
mkdir -p "${CARGO_DOWNLOAD_DIR}"
|
||||
need_ok "failed to create create download directory"
|
||||
|
||||
RUST_LOCAL_TARBALL="${RUST_DOWNLOAD_DIR}/${RUST_TARBALL_NAME}"
|
||||
CARGO_LOCAL_TARBALL="${CARGO_DOWNLOAD_DIR}/${CARGO_TARBALL_NAME}"
|
||||
|
||||
download_package \
|
||||
"${RUST_URL}/${RUST_TARBALL_NAME}" \
|
||||
|
|
@ -556,12 +574,12 @@ install_packages() {
|
|||
fi
|
||||
|
||||
install_package \
|
||||
"${RUST_TARBALL_NAME}" \
|
||||
"${RUST_LOCAL_TARBALL}" \
|
||||
"${RUST_LOCAL_INSTALL_SCRIPT}"
|
||||
|
||||
if [ -z "${CFG_DISABLE_CARGO}" ]; then
|
||||
install_package \
|
||||
"${CARGO_TARBALL_NAME}" \
|
||||
"${CARGO_LOCAL_TARBALL}" \
|
||||
"${CARGO_LOCAL_INSTALL_SCRIPT}"
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue