Files
o3de-flatpak/scripts/build.sh
T
pc-heini 5421db2960 Initial O3DE Flatpak packaging + Gitea CI
Repackage the official O3DE Linux .deb as a Flatpak and publish it as a
static OSTree repo on the 'pages' branch for install via flatpak remote.

- org.o3de.O3DE.yaml: flatpak-builder manifest (extracts the .deb into /app)
- o3de-wrapper.sh: launcher that locates the versioned o3de binary at runtime
- desktop + AppStream metadata under the app-id
- scripts/: live version resolver and local build helper
- .gitea/workflows/build-flatpak.yml: daily check -> build -> publish -> tag

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 09:29:55 +02:00

42 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Build the O3DE Flatpak locally (for testing the manifest before relying on CI).
#
# Requires: flatpak, flatpak-builder, curl, and the Flathub remote.
# Note: O3DE is large (~15-18 GB installed); expect a multi-GB download and a
# build that needs a lot of free disk space.
set -euo pipefail
cd "$(dirname "$0")/.."
eval "$(scripts/get-latest-version.sh)"
echo ">> Latest O3DE: ${version} (${deb_file})"
if [ ! -f o3de.deb ]; then
echo ">> Downloading ${deb_url}"
curl -fL --progress-bar -o o3de.deb "${deb_url}"
fi
if [ -n "${sha256:-}" ]; then
echo ">> Verifying checksum"
echo "${sha256} o3de.deb" | sha256sum -c -
else
echo ">> No checksum published; skipping verification" >&2
fi
# Make sure the runtime/SDK are available (no-op if already installed).
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user -y flathub org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08 || true
echo ">> Building"
flatpak-builder --user --force-clean --install-deps-from=flathub \
--repo=repo build-dir org.o3de.O3DE.yaml
cat <<EOF
>> Done.
Test run without installing:
flatpak-builder --run build-dir org.o3de.O3DE.yaml o3de-wrapper.sh
Or install from the local repo:
flatpak remote-add --user --no-gpg-verify o3de-local repo
flatpak install --user o3de-local org.o3de.O3DE
EOF