diff --git a/assets/install b/assets/install index 0b8ad0b..9c49adb 100644 --- a/assets/install +++ b/assets/install @@ -2,6 +2,7 @@ set -e install_dir="${PREFIX:-/usr/local}/bin" +tmp_path="${TMPDIR:-/tmp}" add_alias=${ALIAS:-0} nightly=${NIGHTLY:-0} debug=${DEBUG:-0} @@ -151,13 +152,10 @@ i386) arch="x86" ;; esac # get latest version tag from github releases api -version=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r .tag_name) +version=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | grep '"tag_name":' | cut -d'"' -f4) [ -z "$version" ] && { - version=$(curl -s https://git.flow-control.dev/api/v1/repos/$repo/releases/latest | jq -r .tag_name) - [ -z "$version" ] && { - echo "failed to fetch $title latest version from github or flow-control.dev" - exit 1 - } + echo "failed to fetch $title latest version" + exit 1 } title="$title $version" @@ -204,30 +202,7 @@ if [ "$debug" -eq 1 ]; then fi url="https://github.com/$repo/releases/download/$version/$filename.$ext" -tmp_path="$(mktemp -t -d "$(basename "$0").XXXXX")" - -if [ -z "$tmp_path" ] || [ "$tmp_path" == "/" ]; then - echo "failed to create a temporary download directory" - exit 1 -fi - -cleanup() { - rm -Rf "$tmp_path" - echo "removed temporary directory $tmp_path" -} - -die() { - exit 1 -} - -trap die SIGINT -trap die SIGHUP -trap die SIGTERM -trap die SIGQUIT -trap die ERR -trap cleanup EXIT - -echo "downloading $title... to $tmp_path" +echo "downloading $title..." curl -fL "$url" -o "$tmp_path/$filename.$ext" @@ -241,11 +216,14 @@ fi if [ "$verify" -eq 1 ]; then curl -fL "$url.sig" -o "$tmp_path/$filename.$ext.sig" curl -fL 'https://flow-control.dev/public.gpg' -o "$tmp_path/flow-control-public.gpg" - gpg --homedir "$tmp_path/" --no-options --no-default-keyring --keyring "$tmp_path/flow-control-public.gpg" --verify "$tmp_path/$filename.$ext.sig" "$tmp_path/$filename.$ext" + gpg --no-default-keyring --keyring "$tmp_path/flow-control-public.gpg" --verify "$tmp_path/$filename.$ext.sig" "$tmp_path/$filename.$ext" if [ "$local" -eq 1 ]; then gpg --verify "$tmp_path/$filename.$ext.sig" "$tmp_path/$filename.$ext" fi + + rm "$tmp_path/flow-control-public.gpg" + rm "$tmp_path/$filename.$ext.sig" fi echo "installing $title to $install_dir/flow..." @@ -256,6 +234,7 @@ else fi $SUDOCMD chmod +x "$install_dir/flow" +rm "$tmp_path/$filename.$ext" if [ "$add_alias" -eq 1 ]; then if [ "$(readlink "$install_dir/f")" = "$install_dir/flow" ]; then