Squashed 'gitstatus/' changes from 331e9ff65..be42ea1be

be42ea1be support split gitstatusd release binaries

git-subtree-dir: gitstatus
git-subtree-split: be42ea1be4a7938464aea568d719bf4c01e4b1f4
This commit is contained in:
romkatv 2020-05-26 20:51:58 +02:00
parent 6696212dde
commit 102aefadab

34
install
View file

@ -236,9 +236,9 @@ END
local fetch local fetch
if command -v curl >/dev/null 2>&1; then 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 elif command -v wget >/dev/null 2>&1; then
fetch="command wget -O" fetch="command wget -O- --"
else else
>&2 echo "[gitstatus] error: please install curl or wget" >&2 echo "[gitstatus] error: please install curl or wget"
exit 1 exit 1
@ -276,15 +276,29 @@ END
if [ "$1" != 1 ] && command -v sleep >/dev/null 2>/dev/null; then if [ "$1" != 1 ] && command -v sleep >/dev/null 2>/dev/null; then
sleep "$1" sleep "$1"
fi fi
$fetch "$1".tar.gz -- "$2" 2>/dev/null & local part=0 url ret pid die
local pid=$! while true; do
local die="trap - $sig; kill -- $pid 2>/dev/null; exit 1" if [ "$part" = 3 ]; then
trap "$die" $sig ret=1
[ -z "$trapped" ] || eval "$die" break
wait -- "$pid" 2>/dev/null && check_sha256 "$1" elif [ "$part" = 0 ]; then
local ret="$?" 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 echo -n >"$1".status
trap - $sig
return "$ret" return "$ret"
} }