mirror of https://github.com/zulip/zulip.git
29 lines
884 B
Plaintext
29 lines
884 B
Plaintext
|
#!/usr/bin/env bash
|
||
|
set -euo pipefail
|
||
|
|
||
|
version=1.22.10
|
||
|
sha256=05a22fff30d7d8e8005bed277bf20d55111ba2bed65a6b91a0fcd1307b71fd8d
|
||
|
tarball="yarn-$version.tgz"
|
||
|
|
||
|
check_version() {
|
||
|
# Reading the version of Yarn from its package.json is much faster
|
||
|
# than running yarn --version.
|
||
|
link="$(command -v yarn)" \
|
||
|
&& bin="$(readlink -f "$link")" \
|
||
|
&& current_version="$(jq -r '.version' "${bin%/*/*}/package.json")" \
|
||
|
&& [ "$current_version" = "$version" ]
|
||
|
}
|
||
|
|
||
|
if ! check_version; then
|
||
|
tmpdir="$(mktemp -d)"
|
||
|
trap 'rm -r "$tmpdir"' EXIT
|
||
|
cd "$tmpdir"
|
||
|
curl -LO "https://registry.npmjs.org/yarn/-/$tarball"
|
||
|
sha256sum -c <<<"$sha256 $tarball"
|
||
|
rm -rf /srv/zulip-yarn
|
||
|
mkdir /srv/zulip-yarn
|
||
|
tar -xzf "$tarball" --no-same-owner --strip-components=1 -C /srv/zulip-yarn
|
||
|
ln -nsf /srv/zulip-yarn/bin/yarn /usr/bin/yarn
|
||
|
check_version
|
||
|
fi
|