From ac231959966b89c66f000ee7defb44cf965aadc0 Mon Sep 17 00:00:00 2001 From: oxpoe Date: Tue, 13 Oct 2026 08:15:55 +0700 Subject: [PATCH] build: sematkan info zsync ke AppImage (appimageupdatetool langsung bisa dipakai) docs: catat bahwa rilis pasca-v1.2.3 membawa update information --- .github/workflows/release.yml | 1 + README.md | 4 +++- packaging/build_appimage.sh | 10 ++++++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b615438..f8e5c02 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,6 +29,7 @@ jobs: - name: Build AppImage env: APPIMAGE_EXTRACT_AND_RUN: "1" + UPDATE_INFO_URL: https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/GAMEMAX-LCD-x86_64.AppImage.zsync run: bash packaging/build_appimage.sh - name: Smoke test the bundle (no display) diff --git a/README.md b/README.md index 3cdf7e9..d6376b7 100644 --- a/README.md +++ b/README.md @@ -225,7 +225,9 @@ The app keeps itself current from GitHub Releases: Each release publishes three assets: the AppImage, its `.sha256`, and a `.zsync` file for `appimageupdatetool` / AppImageUpdate (delta updates). The zsync file is optional — the -built-in updater does not need it. +built-in updater does not need it — but the AppImage also carries the zsync URL as embedded +update information (releases built after v1.2.3), so `appimageupdatetool ./GAMEMAX-LCD.AppImage` +works directly. If the check fails (offline, proxy), the message appears in the app log. `GAMEMAX_DEBUG=1` also mirrors the log to stdout for headless runs. diff --git a/packaging/build_appimage.sh b/packaging/build_appimage.sh index a06c52b..3d66667 100755 --- a/packaging/build_appimage.sh +++ b/packaging/build_appimage.sh @@ -51,13 +51,19 @@ Terminal=false Categories=System;Utility; EOF -# 4. package +# 4. package (UPDATE_INFO_URL menyematkan info zsync agar appimageupdatetool bisa jalan) +UPDATE_INFO_ARG="" +if [ -n "${UPDATE_INFO_URL:-}" ]; then + UPDATE_INFO_ARG="-u zsync|${UPDATE_INFO_URL}" + echo "embedding update information: ${UPDATE_INFO_URL}" +fi if [ ! -x "$BUILD_DIR/appimagetool" ]; then curl -fsSL "$APPIMAGETOOL_URL" -o "$BUILD_DIR/appimagetool" chmod +x "$BUILD_DIR/appimagetool" fi OUT="$OUT_DIR/GAMEMAX-LCD-x86_64.AppImage" -ARCH=x86_64 "$BUILD_DIR/appimagetool" "$APPDIR" "$OUT" +# shellcheck disable=SC2086 +ARCH=x86_64 "$BUILD_DIR/appimagetool" $UPDATE_INFO_ARG "$APPDIR" "$OUT" chmod +x "$OUT" echo "built: $OUT" echo "verify: $OUT --selftest (or APPIMAGE_EXTRACT_AND_RUN=1 $OUT --selftest)"