mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-11-07 11:05:24 +00:00
57 lines
2.2 KiB
Bash
57 lines
2.2 KiB
Bash
#!/usr/bin/env bash
|
|
# Builds a signed Flatpak repo and bundle from the release's portable tarballs.
|
|
# Usage: build-repo.sh <version> <tarball dir> <output dir>
|
|
# Env: FLATPAK_GPG_KEY_ID, FLATPAK_GPG_HOME, FLATPAK_REPO_URL, FLATPAK_ARCHES (optional)
|
|
set -euo pipefail
|
|
|
|
VERSION="$1"
|
|
TARBALLS="$(realpath "$2")"
|
|
mkdir -p "$3"
|
|
OUTPUT="$(realpath "$3")"
|
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
ARCHES="${FLATPAK_ARCHES:-x86_64 aarch64}"
|
|
APP_ID=com.karmaa.termix
|
|
WORK="$OUTPUT/.work"
|
|
rm -rf "$WORK"
|
|
mkdir -p "$WORK"
|
|
trap 'rm -rf "$WORK"' EXIT
|
|
|
|
cd "$WORK"
|
|
cp "$ROOT"/packaging/flatpak/$APP_ID.{yml,desktop,metainfo.xml} .
|
|
cp "$ROOT/public/icon.svg" "$APP_ID.svg"
|
|
convert "$ROOT/public/icon.png" -resize 256x256 icon-256.png
|
|
convert "$ROOT/public/icon.png" -resize 128x128 icon-128.png
|
|
cp "$TARBALLS/termix_linux_x64_portable.tar.gz" termix-x86_64.tar.gz
|
|
cp "$TARBALLS/termix_linux_arm64_portable.tar.gz" termix-aarch64.tar.gz
|
|
|
|
sed -i "s/VERSION_PLACEHOLDER/$VERSION/g; s/DATE_PLACEHOLDER/$(date +%Y-%m-%d)/g" "$APP_ID.metainfo.xml"
|
|
|
|
for arch in $ARCHES; do
|
|
flatpak-builder --user --arch="$arch" --install-deps-from=flathub \
|
|
--default-branch=stable --force-clean --disable-rofiles-fuse --repo=repo \
|
|
--gpg-sign="$FLATPAK_GPG_KEY_ID" --gpg-homedir="$FLATPAK_GPG_HOME" \
|
|
"build-$arch" "$APP_ID.yml"
|
|
done
|
|
|
|
flatpak build-update-repo --title=Termix --default-branch=stable \
|
|
--generate-static-deltas --prune \
|
|
--gpg-sign="$FLATPAK_GPG_KEY_ID" --gpg-homedir="$FLATPAK_GPG_HOME" repo
|
|
|
|
gpg --homedir "$FLATPAK_GPG_HOME" --export "$FLATPAK_GPG_KEY_ID" > termix.gpg
|
|
GPG_KEY="$(base64 -w0 termix.gpg)"
|
|
|
|
for arch in $ARCHES; do
|
|
name=termix_linux_flatpak.flatpak
|
|
[ "$arch" = x86_64 ] || name="termix_linux_${arch}_flatpak.flatpak"
|
|
flatpak build-bundle repo "$OUTPUT/$name" "$APP_ID" stable --arch="$arch" \
|
|
--repo-url="$FLATPAK_REPO_URL" --gpg-keys=termix.gpg \
|
|
--runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
|
done
|
|
|
|
mv repo "$OUTPUT/site"
|
|
for file in $APP_ID.flatpakref termix.flatpakrepo; do
|
|
sed "s|REPO_URL_PLACEHOLDER|$FLATPAK_REPO_URL|; s|GPG_KEY_PLACEHOLDER|$GPG_KEY|" \
|
|
"$ROOT/packaging/flatpak/$file" > "$OUTPUT/site/$file"
|
|
done
|
|
cp "$OUTPUT/site/$APP_ID.flatpakref" "$OUTPUT/"
|