diff options
| author | tranch <tranch.xiao@gmail.com> | 2026-10-23 14:49:26 +0800 |
|---|---|---|
| committer | tranch <tranch.xiao@gmail.com> | 2026-10-23 14:49:26 +0800 |
| commit | fca1daca7dbe218dde1240b6c406a4257c70bd05 (patch) | |
| tree | 74ab066ceb13186eca5661ecfb6d36bc449b68e8 | |
| parent | 20253bfffc4815e1c48aebb8ede28527ce80ad3e (diff) | |
| download | AeroCore-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-x | build_files/build.sh | 12 | ||||
| -rwxr-xr-x | build_files/patch-bazzite-os-branch-select.sh | 23 |
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 |
