diff options
| author | tranch <tranch.xiao@gmail.com> | 2026-09-13 19:05:58 +0800 |
|---|---|---|
| committer | tranch <tranch.xiao@gmail.com> | 2026-09-13 19:05:58 +0800 |
| commit | f068acf3b1c2a4551c5119997fd40909ddd35386 (patch) | |
| tree | a143b39aec7565909cbb4e7b3224edfcd347e984 /build_files | |
| parent | 9f1490f28db8643e78cd26e3cd8f0c92909f16a2 (diff) | |
| download | AeroCore-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-x | build_files/patch-bazzite-deck-identity.sh | 30 |
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 |
