mirror of
https://github.com/spalencsar/bearwave.git
synced 2026-07-06 14:24:14 +02:00
Replace the legacy Flatpak repo key with Bearwave App <dev@bearwave.app> (5BAA384577671E45) in bearwave.flatpakref, build-flatpak.sh, and deploy-flatpak.sh.
60 lines
1.5 KiB
Bash
Executable File
60 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$root"
|
|
|
|
gpg_key_id="${BEARWAVE_FLATPAK_GPG_KEY:-5BAA384577671E45}"
|
|
mode="build"
|
|
deploy=false
|
|
|
|
for arg in "$@"; do
|
|
case "${arg}" in
|
|
--reexport) mode="reexport" ;;
|
|
--deploy) deploy=true ;;
|
|
--reexport-deploy)
|
|
mode="reexport"
|
|
deploy=true
|
|
;;
|
|
esac
|
|
done
|
|
|
|
git_hash="$(git -C "${root}" rev-parse --short HEAD 2>/dev/null || echo unknown)"
|
|
build_manifest="${root}/.flatpak-builder-manifest.json"
|
|
python3 - "${root}/de.nerdbear.bearwave.json" "${build_manifest}" "${git_hash}" <<'PY'
|
|
import json, sys
|
|
src, dst, git_hash = sys.argv[1], sys.argv[2], sys.argv[3]
|
|
with open(src, encoding="utf-8") as f:
|
|
manifest = json.load(f)
|
|
module = manifest["modules"][0]
|
|
module.setdefault("build-options", {}).setdefault("env", {})["BEARWAVE_GIT_HASH"] = git_hash
|
|
with open(dst, "w", encoding="utf-8") as f:
|
|
json.dump(manifest, f, indent=4)
|
|
f.write("\n")
|
|
PY
|
|
|
|
if [[ "${mode}" == "reexport" ]]; then
|
|
flatpak-builder \
|
|
--repo=flatpak_repo \
|
|
--gpg-sign="${gpg_key_id}" \
|
|
--export-only \
|
|
flatpak_build \
|
|
"${build_manifest}"
|
|
else
|
|
flatpak-builder \
|
|
--repo=flatpak_repo \
|
|
--gpg-sign="${gpg_key_id}" \
|
|
--force-clean \
|
|
flatpak_build \
|
|
"${build_manifest}"
|
|
fi
|
|
|
|
flatpak build-update-repo --gpg-sign="${gpg_key_id}" flatpak_repo
|
|
|
|
echo "Flatpak repo updated in flatpak_repo/."
|
|
|
|
if [[ "${deploy}" == true ]]; then
|
|
exec "${root}/scripts/deploy-flatpak.sh"
|
|
fi
|
|
|
|
echo "Deploy with: scripts/deploy-flatpak.sh" |