Skip to content

Commit

Permalink
Merge pull request #1013 from Scalingo/fix/1012/fix_install_script_on…
Browse files Browse the repository at this point in the history
…_mac_os

fix(install): remove wget and sha256sum dependencies
  • Loading branch information
curzolapierre authored Sep 27, 2023
2 parents a0481b9 + 359547a commit ed93375
Showing 1 changed file with 16 additions and 23 deletions.
39 changes: 16 additions & 23 deletions dists/install.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
#!/bin/bash

function sha256sum() {
shasum -a 256 "$@"
}

main() {
status() {
echo -en "-----> $*"
Expand All @@ -17,20 +21,12 @@ main() {
echo -en " /!\\ $*"
}

check_command_exists() {
if ! command -v $1 &> /dev/null
then
error "$1 command could not be found, please install it first"
exit 1
fi
}

clean_install() {
tmpdir=$1

rm -r $tmpdir
rm -r "$tmpdir"
# If installed through one line install, remove script
if [ "x$0" = "xinstall" ] ; then
if [ "$0" = "install" ] ; then
rm "$0"
fi
}
Expand All @@ -39,7 +35,7 @@ main() {
info "$* [Y/n] "
while true; do
read answer
case $(echo "$answer" | tr "[A-Z]" "[a-z]") in
case $(echo "$answer" | tr '[:upper:]' '[:lower:]') in
y|yes|"" ) return 0;;
n|no ) return 1;;
esac
Expand All @@ -58,14 +54,14 @@ main() {
echo
}

if [ "x$DEBUG" = "xtrue" ] ; then
if [ -n "$DEBUG" ] ; then
set -x
fi

uname -a | grep -qi 'Linux' ; is_linux=$?
uname -a | grep -qi 'Darwin' ; is_darwin=$?

os=$(uname -s | tr '[A-Z]' '[a-z]')
os=$(uname -s | tr '[:upper:]' '[:lower:]')
ext='tar.gz'
if [ "$os" != "linux" ] && [ "$os" != "darwin" ]; then
echo "Unsupported OS: $(uname -s)"
Expand Down Expand Up @@ -131,22 +127,19 @@ main() {
url="https://github.com/Scalingo/cli/releases/download/${version}/${archive_name}"

status "Downloading Scalingo client... "
curl --silent --fail --location --output ${tmpdir}/${archive_name} ${url}
if [ ! -f ${tmpdir}/${archive_name} ]; then
curl --silent --fail --location --output "${tmpdir}/${archive_name}" "$url"
if [ ! -f "${tmpdir}/${archive_name}" ]; then
echo ""
error "Fail to download the CLI archive\n"
exit 1
fi
echo "DONE"

check_command_exists sha256sum
check_command_exists wget

status "Verifying the checksum... "
checksums_url="https://github.com/Scalingo/cli/releases/download/${version}/checksums.txt"
# Use cut's short parameter to be compatible with MacOS: https://ss64.com/osx/cut.html
checksum_computed=$(sha256sum ${tmpdir}/${archive_name} | cut -d" " -f1)
checksum_expected=$(wget --quiet --output-document - $checksums_url | grep $archive_name | cut -d" " -f1)
checksum_computed=$(sha256sum "${tmpdir}/${archive_name}" | cut -d" " -f1)
checksum_expected=$(curl --silent --location "$checksums_url" | grep "$archive_name" | cut -d" " -f1)
if [[ "$checksum_computed" != "$checksum_expected" ]]; then
echo "INVALID"
error "Checksums don't match.\n"
Expand All @@ -173,7 +166,7 @@ main() {
target_dir="${target_dir:-$default_target_dir}"
target="$target_dir/scalingo"

if [ -x "$target" -a -z "$yes_to_overwrite" ] ; then
if [ -x "$target" ] && [ -z "$yes_to_overwrite" ] ; then
export DISABLE_UPDATE_CHECKER=true
# Use cut's short parameter to be compatible with MacOS: https://ss64.com/osx/cut.html
new_version=$($exe_path --version | cut -d' ' -f4)
Expand All @@ -182,7 +175,7 @@ main() {

if ! ask "Do you want to replace it with version ${new_version}?" ; then
status "Aborting...\n"
exit -1
exit 1
fi
fi

Expand All @@ -201,7 +194,7 @@ main() {
fi
fi

$sudo mv $exe_path "$target" ; rc=$?
$sudo mv "$exe_path" "$target" ; rc=$?

if [ $rc -ne 0 ] ; then
error "Fail to install Scalingo client (return $rc)\n"
Expand Down

0 comments on commit ed93375

Please sign in to comment.