56 lines
1.8 KiB
Bash
Executable File
56 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
SOURCE_URL_X86_64="${SOURCE_URL_X86_64:-${SOURCE_URL:-https://packages.element.io/desktop/install/linux/glibc-x86-64/element-desktop.tar.gz}}"
|
|
SOURCE_URL_AARCH64="${SOURCE_URL_AARCH64:-https://packages.element.io/desktop/install/linux/glibc-aarch64/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_x86_64="$tmpdir/element-desktop-x86_64.tar.gz"
|
|
archive_aarch64="$tmpdir/element-desktop-aarch64.tar.gz"
|
|
|
|
curl -fL "$SOURCE_URL_X86_64" -o "$archive_x86_64"
|
|
curl -fL "$SOURCE_URL_AARCH64" -o "$archive_aarch64"
|
|
|
|
topdir_x86_64="$(tar -tzf "$archive_x86_64" | sed -n '1s#/##p')"
|
|
topdir_aarch64="$(tar -tzf "$archive_aarch64" | sed -n '1s#/##p')"
|
|
|
|
version_x86_64="${topdir_x86_64#element-desktop-}"
|
|
version_aarch64="${topdir_aarch64#element-desktop-}"
|
|
version_aarch64="${version_aarch64%-arm64}"
|
|
|
|
if [ -z "$version_x86_64" ] || [ "$version_x86_64" = "$topdir_x86_64" ]; then
|
|
echo "failed to derive x86_64 version from archive root: $topdir_x86_64" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$version_aarch64" ] || [ "$version_aarch64" = "$topdir_aarch64" ]; then
|
|
echo "failed to derive aarch64 version from archive root: $topdir_aarch64" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$version_x86_64" != "$version_aarch64" ]; then
|
|
echo "upstream version mismatch: x86_64=$version_x86_64 aarch64=$version_aarch64" >&2
|
|
exit 1
|
|
fi
|
|
|
|
dest_x86_64="$OUTDIR/element-desktop-$version_x86_64.tar.gz"
|
|
dest_aarch64="$OUTDIR/element-desktop-$version_x86_64-arm64.tar.gz"
|
|
|
|
cp "$archive_x86_64" "$dest_x86_64"
|
|
cp "$archive_aarch64" "$dest_aarch64"
|
|
printf '%s\n' "$version_x86_64" > "$OUTDIR/.upstream-version"
|
|
printf '%s\n%s\n' "$dest_x86_64" "$dest_aarch64"
|