summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortranch <tranch.xiao@gmail.com>2026-10-23 14:49:26 +0800
committertranch <tranch.xiao@gmail.com>2026-10-23 14:49:26 +0800
commitfca1daca7dbe218dde1240b6c406a4257c70bd05 (patch)
tree74ab066ceb13186eca5661ecfb6d36bc449b68e8
parent20253bfffc4815e1c48aebb8ede28527ce80ad3e (diff)
downloadAeroCore-OS-fca1daca7dbe218dde1240b6c406a4257c70bd05.tar.gz
AeroCore-OS-fca1daca7dbe218dde1240b6c406a4257c70bd05.zip
fix: align Game Mode update channels with newstesting-44.20261023.1
Select the feed matching each image branch and expose Steam channels that match the announcement data for testing and unstable builds.
-rwxr-xr-xbuild_files/build.sh12
-rwxr-xr-xbuild_files/patch-bazzite-os-branch-select.sh23
2 files changed, 32 insertions, 3 deletions
diff --git a/build_files/build.sh b/build_files/build.sh
index 1875ddf..94a5ef5 100755
--- a/build_files/build.sh
+++ b/build_files/build.sh
@@ -14,17 +14,23 @@ esac
# Copy the contents of system_files/ of the git repo to /
cp -avf "/ctx/system_files"/. /
-# Keep Bazzite's game mode news hook unchanged; only switch its feed URL.
+# Keep Bazzite's game mode news hook unchanged; select the matching feed branch.
NEWS_HOOK_CONFIG=/etc/gamemode-news-hook.conf
if [[ ! -f "${NEWS_HOOK_CONFIG}" ]]; then
echo "Unable to locate game mode news hook config: ${NEWS_HOOK_CONFIG}" >&2
exit 1
fi
+NEWS_BRANCH="${IMAGE_BRANCH:-stable}"
+case "${NEWS_BRANCH}" in
+ testing|unstable) ;;
+ *) NEWS_BRANCH=stable ;;
+esac
+NEWS_FEED_URL="https://git.mirror.aerocore.com.cn/AeroCore-IO/aerocore-os-gamemode-news/plain/announcements.json?h=${NEWS_BRANCH}"
sed -i \
- 's|^github = .*|github = https://git.mirror.aerocore.com.cn/AeroCore-IO/aerocore-os-gamemode-news/plain/announcements.json?h=testing|' \
+ "s|^github = .*|github = ${NEWS_FEED_URL}|" \
"${NEWS_HOOK_CONFIG}"
grep -Fxq \
- 'github = https://git.mirror.aerocore.com.cn/AeroCore-IO/aerocore-os-gamemode-news/plain/announcements.json?h=testing' \
+ "github = ${NEWS_FEED_URL}" \
"${NEWS_HOOK_CONFIG}"
# Bazzite's Kinoite/Plasma desktop shortcut used to start a privileged
diff --git a/build_files/patch-bazzite-os-branch-select.sh b/build_files/patch-bazzite-os-branch-select.sh
index 544b1a5..a360a2e 100755
--- a/build_files/patch-bazzite-os-branch-select.sh
+++ b/build_files/patch-bazzite-os-branch-select.sh
@@ -33,3 +33,26 @@ awk -v old="$old" '
install -m 0755 "$patched_file" "$file"
rm -f "$patched_file"
+
+# Match the channel names used by Bazzite's Game Mode announcement feeds.
+# Steam's rc/beta and bc/main aliases still select the same image branches.
+python3 - "$file" <<'PY'
+from pathlib import Path
+import sys
+
+path = Path(sys.argv[1])
+text = path.read_text()
+replacements = {
+ " testing)\n echo rc\n": " testing)\n echo beta\n",
+ " unstable)\n echo main\n": " unstable)\n echo preview\n",
+ " echo rc\n echo beta\n echo bc\n echo main\n":
+ " echo rc\n echo beta\n echo bc\n echo preview\n echo main\n",
+ " bc|main|unstable)\n": " bc|preview|main|unstable)\n",
+}
+for old in replacements:
+ if text.count(old) != 1:
+ raise SystemExit(f"Bazzite branch selector changed; expected exactly one {old!r}")
+for old, new in replacements.items():
+ text = text.replace(old, new, 1)
+path.write_text(text)
+PY