From 7d6125beb3b0b624eafb8979b23d6f35fd23bcf9 Mon Sep 17 00:00:00 2001 From: Vince Buffalo Date: Thu, 7 Sep 2023 13:39:34 -0700 Subject: [PATCH] more features of easy install --- easy_install.sh | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/easy_install.sh b/easy_install.sh index 96ccbc2..1614f11 100644 --- a/easy_install.sh +++ b/easy_install.sh @@ -1,9 +1,37 @@ #!/bin/sh -# first install rust -echo "Installing Rust first..." -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -# next install SciDataFlow +if ! command -v rustc &> /dev/null; then + + # expected MD5 of Rust + expected_md5="9457a47bb675d495b53d2ebbb757f63d" + + # temp installer file + temp_file=$(mktemp) + + # download Rust installer + curl --proto '=https' --tlsv1.2 -sSf -o "$temp_file" https://sh.rustup.rs + + # calculate the MD5 hash of the downloaded file + calculated_md5=$(md5sum "$temp_file" | awk '{ print $1 }') + + # verify MD5 hash + if [ "$expected_md5" != "$calculated_md5" ]; then + echo "MD5 verification of Rust installer failed! This is likely a version change.\nPlease report, and install manually from:\nhttps://www.rust-lang.org/learn/get-started" + rm "$temp_file" + exit 1 + else + echo "MD5 verified. Installing Rust..." + sh "$temp_file" + fi + + # remove the temporary file + rm "$temp_file" +else + echo "Rust is already installed." +fi + +# install SciDataFlow echo "Now installing SciDataFlow..." cargo install scidataflow +