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>
This commit is contained in:
Executable
+30
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
# Launcher for the O3DE Project Manager inside the Flatpak sandbox.
|
||||
#
|
||||
# The Debian package installs O3DE under /opt/O3DE/<version>/, which becomes
|
||||
# /app/opt/O3DE/<version>/ inside the Flatpak. The version directory name
|
||||
# changes with every release, so we discover the executable at runtime instead
|
||||
# of hard-coding a path.
|
||||
set -eu
|
||||
|
||||
O3DE_ROOT=/app/opt/O3DE
|
||||
|
||||
# Bundled shared libraries that ship inside the .deb.
|
||||
export LD_LIBRARY_PATH="/app/lib:${O3DE_ROOT}/lib:${LD_LIBRARY_PATH:-}"
|
||||
|
||||
# Locate the Project Manager executable ("o3de").
|
||||
O3DE_BIN=$(find "$O3DE_ROOT" -type f -name o3de -path '*bin/Linux*' 2>/dev/null | head -n 1)
|
||||
if [ -z "$O3DE_BIN" ]; then
|
||||
O3DE_BIN=$(find "$O3DE_ROOT" -type f -executable -name o3de 2>/dev/null | head -n 1)
|
||||
fi
|
||||
|
||||
if [ -z "$O3DE_BIN" ]; then
|
||||
echo "error: O3DE executable not found under $O3DE_ROOT" >&2
|
||||
echo " (the .deb layout may have changed)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make libraries that sit next to the binary discoverable too.
|
||||
export LD_LIBRARY_PATH="$(dirname "$O3DE_BIN"):${LD_LIBRARY_PATH}"
|
||||
|
||||
exec "$O3DE_BIN" "$@"
|
||||
Reference in New Issue
Block a user