35 lines
781 B
Bash
Executable File
35 lines
781 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
SOURCE_URL="${SOURCE_URL:-https://packages.element.io/desktop/install/linux/glibc-x86-64/element-desktop.tar.gz}"
|
|
OUTDIR="${1:-}"
|
|
|
|
if [ -z "$OUTDIR" ]; then
|
|
echo "usage: $0 OUTDIR" >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$OUTDIR"
|
|
|
|
tmpdir="$(mktemp -d)"
|
|
cleanup() {
|
|
rm -rf "$tmpdir"
|
|
}
|
|
trap cleanup EXIT INT TERM
|
|
|
|
archive="$tmpdir/element-desktop.tar.gz"
|
|
curl -fL "$SOURCE_URL" -o "$archive"
|
|
|
|
topdir="$(tar -tzf "$archive" | sed -n '1s#/##p')"
|
|
version="${topdir#element-desktop-}"
|
|
|
|
if [ -z "$version" ] || [ "$version" = "$topdir" ]; then
|
|
echo "failed to derive version from archive root: $topdir" >&2
|
|
exit 1
|
|
fi
|
|
|
|
dest="$OUTDIR/element-desktop-$version.tar.gz"
|
|
cp "$archive" "$dest"
|
|
printf '%s\n' "$version" > "$OUTDIR/.upstream-version"
|
|
printf '%s\n' "$dest"
|