From 102aefadaba271a48a74f13953dd88067f9862c6 Mon Sep 17 00:00:00 2001 From: romkatv Date: Tue, 26 May 2020 20:51:58 +0200 Subject: [PATCH] Squashed 'gitstatus/' changes from 331e9ff65..be42ea1be be42ea1be support split gitstatusd release binaries git-subtree-dir: gitstatus git-subtree-split: be42ea1be4a7938464aea568d719bf4c01e4b1f4 --- install | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/install b/install index d243ef9c..65f84caf 100755 --- a/install +++ b/install @@ -236,9 +236,9 @@ END local fetch if command -v curl >/dev/null 2>&1; then - fetch="command curl -fsSLo" + fetch="command curl -fsSL --" elif command -v wget >/dev/null 2>&1; then - fetch="command wget -O" + fetch="command wget -O- --" else >&2 echo "[gitstatus] error: please install curl or wget" exit 1 @@ -276,15 +276,29 @@ END if [ "$1" != 1 ] && command -v sleep >/dev/null 2>/dev/null; then sleep "$1" fi - $fetch "$1".tar.gz -- "$2" 2>/dev/null & - local pid=$! - local die="trap - $sig; kill -- $pid 2>/dev/null; exit 1" - trap "$die" $sig - [ -z "$trapped" ] || eval "$die" - wait -- "$pid" 2>/dev/null && check_sha256 "$1" - local ret="$?" + local part=0 url ret pid die + while true; do + if [ "$part" = 3 ]; then + ret=1 + break + elif [ "$part" = 0 ]; then + url="$2" + else + url="$2"."$part" + fi + $fetch "$url" >>"$1".tar.gz 2>/dev/null & + pid=$! + die="trap - $sig; kill -- $pid 2>/dev/null; exit 1" + trap "$die" $sig + [ -z "$trapped" ] || eval "$die" + wait -- "$pid" 2>/dev/null + ret="$?" + trap - $sig + [ "$ret" = 0 ] || break + check_sha256 "$1" && break + part=$((part+1)) + done echo -n >"$1".status - trap - $sig return "$ret" }