summaryrefslogtreecommitdiff
path: root/build_files
diff options
context:
space:
mode:
authortranch <tranch.xiao@gmail.com>2026-09-13 19:05:58 +0800
committertranch <tranch.xiao@gmail.com>2026-09-13 19:05:58 +0800
commitf068acf3b1c2a4551c5119997fd40909ddd35386 (patch)
treea143b39aec7565909cbb4e7b3224edfcd347e984 /build_files
parent9f1490f28db8643e78cd26e3cd8f0c92909f16a2 (diff)
downloadAeroCore-OS-f068acf3b1c2a4551c5119997fd40909ddd35386.tar.gz
AeroCore-OS-f068acf3b1c2a4551c5119997fd40909ddd35386.zip
Run shortcut migration before setup guard
Ensure legacy Return.desktop files are repaired even when Bazzite user setup has already completed for the user.
Diffstat (limited to 'build_files')
-rwxr-xr-xbuild_files/patch-bazzite-deck-identity.sh30
1 files changed, 23 insertions, 7 deletions
diff --git a/build_files/patch-bazzite-deck-identity.sh b/build_files/patch-bazzite-deck-identity.sh
index da2a74e..8ddacf9 100755
--- a/build_files/patch-bazzite-deck-identity.sh
+++ b/build_files/patch-bazzite-deck-identity.sh
@@ -161,6 +161,8 @@ patch_desktop_branding_migration() {
patch_gamemode_shortcut_migration() {
local file="$1"
local marker='AeroCore Return to Gaming Mode shortcut migration'
+ local insertion='# Run script if updated'
+ local patched_file
if [[ ! -f "$file" ]]; then
echo "Unable to locate expected Bazzite user setup file: $file" >&2
@@ -171,14 +173,28 @@ patch_gamemode_shortcut_migration() {
return 0
fi
- cat >> "$file" <<'EOF'
+ if [[ "$(grep -Foc "$insertion" "$file" || true)" -ne 1 ]]; then
+ echo "Unable to locate the Bazzite user setup version guard in $file" >&2
+ exit 1
+ fi
-# AeroCore Return to Gaming Mode shortcut migration
-# Replace the legacy privileged systemd launcher left by older Bazzite images.
-if [[ -f "$HOME/Desktop/Return.desktop" ]]; then
- sed -i 's|^Exec=systemctl start return-to-gamemode\.service$|Exec=/usr/bin/return-to-gamemode|' "$HOME/Desktop/Return.desktop"
-fi
-EOF
+ patched_file="$(mktemp)"
+ awk -v insertion="$insertion" '
+ !inserted && $0 == insertion {
+ print "# AeroCore Return to Gaming Mode shortcut migration"
+ print "# Replace the legacy privileged systemd launcher left by older Bazzite images."
+ print "if [[ -f \"$HOME/Desktop/Return.desktop\" ]]; then"
+ print " sed -i '\''s|^Exec=systemctl start return-to-gamemode\\.service$|Exec=/usr/bin/return-to-gamemode|'\'' \"$HOME/Desktop/Return.desktop\""
+ print "fi"
+ print ""
+ inserted=1
+ }
+ { print }
+ END { if (!inserted) exit 1 }
+ ' "$file" > "$patched_file"
+
+ cp "$patched_file" "$file"
+ rm -f "$patched_file"
}
# Keep AeroCore's public image-name, while restoring the Deck capability checks