mirror of
https://github.com/Toastconcern/FrameStudio.git
synced 2026-10-29 04:02:56 +01:00
Add curl-based Frame Home installer
Add a Steam Frame bootstrap that downloads and validates the selected release installer, then runs the existing payload installer. Document latest and versioned install commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2 files changed
+63
-7
No files matched your search
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [[ "$(uname -m)" != aarch64 ]]; then
|
||||
echo "Frame Home must be installed on the Steam Frame (ARM64)." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for tool in curl unzip; do
|
||||
command -v "$tool" >/dev/null 2>&1 || {
|
||||
echo "Missing required command: $tool" >&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
tag=${FRAME_HOME_TAG:-latest}
|
||||
if [[ -z "$tag" || "$tag" == *[^a-zA-Z0-9._-]* ]]; then
|
||||
echo "Invalid release tag: $tag" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
url="https://github.com/Toastconcern/FrameStudio/releases/download/$tag/FrameHome-installer.zip"
|
||||
tmp=$(mktemp -d "${TMPDIR:-/tmp}/frame-home-install.XXXXXXXX")
|
||||
trap 'rm -rf "$tmp"' EXIT
|
||||
|
||||
archive="$tmp/FrameHome-installer.zip"
|
||||
echo "Downloading Frame Home release $tag..."
|
||||
curl --fail --location --silent --show-error --retry 2 --output "$archive" "$url"
|
||||
unzip -tq "$archive"
|
||||
unzip -q "$archive" -d "$tmp"
|
||||
|
||||
installer="$tmp/FrameHome-installer/payload"
|
||||
if [[ ! -f "$installer/install.sh" || ! -x "$installer/bin/frame-home" ]]; then
|
||||
echo "The downloaded release does not contain a valid Frame Home installer." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sh "$installer/install.sh" "$@"
|
||||
Reference in new issue
Block a user