about summary refs log tree commit diff
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2014-11-30 20:44:03 -0800
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2014-12-03 15:17:36 -0800
commit8ca8e6fa4d3a7dc1a40e958cfa4ca62096bfa509 (patch)
treec2d9a0981b3dfa2287b60821da901f6333663e28
parentb388dc61a54de4b8d62fa069dfde0c67a469841a (diff)
downloadrust-8ca8e6fa4d3a7dc1a40e958cfa4ca62096bfa509.tar.gz
rust-8ca8e6fa4d3a7dc1a40e958cfa4ca62096bfa509.zip
rustup: factor out installing packages into a function
-rwxr-xr-xsrc/etc/rustup.sh41
1 files changed, 14 insertions, 27 deletions
diff --git a/src/etc/rustup.sh b/src/etc/rustup.sh
index 8ca2390dda5..311c1c3f15e 100755
--- a/src/etc/rustup.sh
+++ b/src/etc/rustup.sh
@@ -443,6 +443,18 @@ download_and_extract_package() {
     fi
 }
 
+# Wrap all the commands needed to install a package.
+install_package() {
+    install_script="$1"
+
+    sh "${install_script}" "${CFG_INSTALL_FLAGS}"
+    if [ $? -ne 0 ]
+    then
+        rm -Rf "${CFG_TMP_DIR}"
+        err "failed to install Rust"
+    fi
+}
+
 rm -Rf "${CFG_TMP_DIR}"
 need_ok "failed to remove temporary installation directory"
 
@@ -459,35 +471,10 @@ if [ -z "${CFG_DISABLE_CARGO}" ]; then
         "${CARGO_TARBALL_NAME}"
 fi
 
-
-(cd "${CFG_TMP_DIR}" && ${CFG_TAR} xzf "${RUST_TARBALL_NAME}")
-if [ $? -ne 0 ]
-then
-        rm -Rf "${CFG_TMP_DIR}"
-        err "failed to unpack installer"
-fi
-
-sh "${RUST_LOCAL_INSTALL_SCRIPT}" "${CFG_INSTALL_FLAGS}"
-if [ $? -ne 0 ]
-then
-        rm -Rf "${CFG_TMP_DIR}"
-        err "failed to install Rust"
-fi
+install_package "${RUST_LOCAL_INSTALL_SCRIPT}"
 
 if [ -z "${CFG_DISABLE_CARGO}" ]; then
-    (cd "${CFG_TMP_DIR}" && ${CFG_TAR} xzf "${CARGO_TARBALL_NAME}")
-    if [ $? -ne 0 ]
-    then
-            rm -Rf "${CFG_TMP_DIR}"
-            err "failed to unpack cargo installer"
-    fi
-
-    sh "${CARGO_LOCAL_INSTALL_SCRIPT}" "${CFG_INSTALL_FLAGS}"
-    if [ $? -ne 0 ]
-    then
-            rm -Rf "${CFG_TMP_DIR}"
-            err "failed to install Cargo"
-    fi
+    install_package "${CARGO_LOCAL_INSTALL_SCRIPT}"
 fi
 
 rm -Rf "${CFG_TMP_DIR}"