From 80cde14b9c368f58e8f16ad121396ce2f1a50f44 Mon Sep 17 00:00:00 2001 From: tranch Date: Fri, 21 Aug 2026 08:42:38 +0800 Subject: Adapt to Bazzite 44 Update Deck identity matching for the new upstream scripts and add fixture coverage for patch idempotence. Move the live installer base to Fedora 44 while retaining the Fedora 43 Anaconda workaround for explicit legacy builds. --- tests/test-patch-bazzite-deck-identity.sh | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 tests/test-patch-bazzite-deck-identity.sh (limited to 'tests/test-patch-bazzite-deck-identity.sh') diff --git a/tests/test-patch-bazzite-deck-identity.sh b/tests/test-patch-bazzite-deck-identity.sh new file mode 100755 index 0000000..fa420ce --- /dev/null +++ b/tests/test-patch-bazzite-deck-identity.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +set -euo pipefail + +repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +fixture_root="${repo_root}/tests/fixtures/bazzite-44" +test_root="$(mktemp -d -t aerocore-deck-identity.XXXXXXXXXX)" +trap 'rm -rf "${test_root}"' EXIT + +cp -a "${fixture_root}/." "${test_root}/" + +run_patch() { + AEROCORE_DECK_COMPAT_ROOT="${test_root}" \ + bash "${repo_root}/build_files/patch-bazzite-deck-identity.sh" +} + +assert_count() { + local expected="$1" + local pattern="$2" + local file="$3" + local actual + + actual="$(grep -Foc "${pattern}" "${file}" || true)" + if [[ "${actual}" != "${expected}" ]]; then + echo "Expected ${expected} occurrence(s) of '${pattern}' in ${file}, found ${actual}" >&2 + exit 1 + fi +} + +hardware_setup="${test_root}/usr/libexec/bazzite-hardware-setup" +steam="${test_root}/usr/bin/bazzite-steam" +user_setup="${test_root}/usr/libexec/bazzite-user-setup" +# shellcheck disable=SC2016 +deck_condition='if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME == aerocore-os ]]; then' +# shellcheck disable=SC2016 +non_deck_condition='if [[ "$IMAGE_NAME" != aerocore-os && "$IMAGE_NAME" != *deck* && "$IMAGE_NAME" != *dx* ]]; then' + +run_patch + +assert_count 1 "${non_deck_condition}" "${hardware_setup}" +assert_count 1 "${deck_condition}" "${hardware_setup}" +assert_count 1 "${deck_condition}" "${steam}" +assert_count 3 "${deck_condition}" "${user_setup}" +assert_count 1 'AeroCore Steam state migration' "${steam}" + +# A second run must recognize the patched fixture and make no further changes. +first_digest="$(sha256sum "${hardware_setup}" "${steam}" "${user_setup}")" +run_patch +second_digest="$(sha256sum "${hardware_setup}" "${steam}" "${user_setup}")" + +if [[ "${first_digest}" != "${second_digest}" ]]; then + echo "Deck identity patch is not idempotent" >&2 + exit 1 +fi + +assert_count 1 'AeroCore Steam state migration' "${steam}" + +echo "Bazzite 44 Deck identity fixture passed" -- cgit v1.2.3 From 9f1490f28db8643e78cd26e3cd8f0c92909f16a2 Mon Sep 17 00:00:00 2001 From: tranch Date: Sun, 13 Sep 2026 13:58:34 +0800 Subject: Migrate legacy gaming mode shortcut Repair existing user desktop launchers that still reference the removed return-to-gamemode systemd service. --- tests/test-patch-bazzite-deck-identity.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/test-patch-bazzite-deck-identity.sh') diff --git a/tests/test-patch-bazzite-deck-identity.sh b/tests/test-patch-bazzite-deck-identity.sh index fa420ce..0b0586c 100755 --- a/tests/test-patch-bazzite-deck-identity.sh +++ b/tests/test-patch-bazzite-deck-identity.sh @@ -42,6 +42,7 @@ assert_count 1 "${deck_condition}" "${hardware_setup}" assert_count 1 "${deck_condition}" "${steam}" assert_count 3 "${deck_condition}" "${user_setup}" assert_count 1 'AeroCore Steam state migration' "${steam}" +assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" # A second run must recognize the patched fixture and make no further changes. first_digest="$(sha256sum "${hardware_setup}" "${steam}" "${user_setup}")" @@ -54,5 +55,6 @@ if [[ "${first_digest}" != "${second_digest}" ]]; then fi assert_count 1 'AeroCore Steam state migration' "${steam}" +assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" echo "Bazzite 44 Deck identity fixture passed" -- cgit v1.2.3 From f068acf3b1c2a4551c5119997fd40909ddd35386 Mon Sep 17 00:00:00 2001 From: tranch Date: Sun, 13 Sep 2026 19:05:58 +0800 Subject: Run shortcut migration before setup guard Ensure legacy Return.desktop files are repaired even when Bazzite user setup has already completed for the user. --- tests/test-patch-bazzite-deck-identity.sh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests/test-patch-bazzite-deck-identity.sh') diff --git a/tests/test-patch-bazzite-deck-identity.sh b/tests/test-patch-bazzite-deck-identity.sh index 0b0586c..cbe4382 100755 --- a/tests/test-patch-bazzite-deck-identity.sh +++ b/tests/test-patch-bazzite-deck-identity.sh @@ -43,6 +43,10 @@ assert_count 1 "${deck_condition}" "${steam}" assert_count 3 "${deck_condition}" "${user_setup}" assert_count 1 'AeroCore Steam state migration' "${steam}" assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" +if [[ "$(grep -nF 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" | cut -d: -f1)" -ge "$(grep -nF '# Run script if updated' "${user_setup}" | cut -d: -f1)" ]]; then + echo "Return to Gaming Mode migration must run before the user setup early-exit guard" >&2 + exit 1 +fi # A second run must recognize the patched fixture and make no further changes. first_digest="$(sha256sum "${hardware_setup}" "${steam}" "${user_setup}")" -- cgit v1.2.3 From 47ede79dece8e8e04f8105c8f2ef9c8883d9c738 Mon Sep 17 00:00:00 2001 From: tranch Date: Sun, 13 Sep 2026 19:16:12 +0800 Subject: Revert "Run shortcut migration before setup guard" This reverts commit f068acf3b1c2a4551c5119997fd40909ddd35386. --- tests/test-patch-bazzite-deck-identity.sh | 4 ---- 1 file changed, 4 deletions(-) (limited to 'tests/test-patch-bazzite-deck-identity.sh') diff --git a/tests/test-patch-bazzite-deck-identity.sh b/tests/test-patch-bazzite-deck-identity.sh index cbe4382..0b0586c 100755 --- a/tests/test-patch-bazzite-deck-identity.sh +++ b/tests/test-patch-bazzite-deck-identity.sh @@ -43,10 +43,6 @@ assert_count 1 "${deck_condition}" "${steam}" assert_count 3 "${deck_condition}" "${user_setup}" assert_count 1 'AeroCore Steam state migration' "${steam}" assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" -if [[ "$(grep -nF 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" | cut -d: -f1)" -ge "$(grep -nF '# Run script if updated' "${user_setup}" | cut -d: -f1)" ]]; then - echo "Return to Gaming Mode migration must run before the user setup early-exit guard" >&2 - exit 1 -fi # A second run must recognize the patched fixture and make no further changes. first_digest="$(sha256sum "${hardware_setup}" "${steam}" "${user_setup}")" -- cgit v1.2.3 From d734f2c746632772b794143762f2fcea78e62011 Mon Sep 17 00:00:00 2001 From: tranch Date: Sun, 13 Sep 2026 19:16:12 +0800 Subject: Revert "Migrate legacy gaming mode shortcut" This reverts commit 9f1490f28db8643e78cd26e3cd8f0c92909f16a2. --- tests/test-patch-bazzite-deck-identity.sh | 2 -- 1 file changed, 2 deletions(-) (limited to 'tests/test-patch-bazzite-deck-identity.sh') diff --git a/tests/test-patch-bazzite-deck-identity.sh b/tests/test-patch-bazzite-deck-identity.sh index 0b0586c..fa420ce 100755 --- a/tests/test-patch-bazzite-deck-identity.sh +++ b/tests/test-patch-bazzite-deck-identity.sh @@ -42,7 +42,6 @@ assert_count 1 "${deck_condition}" "${hardware_setup}" assert_count 1 "${deck_condition}" "${steam}" assert_count 3 "${deck_condition}" "${user_setup}" assert_count 1 'AeroCore Steam state migration' "${steam}" -assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" # A second run must recognize the patched fixture and make no further changes. first_digest="$(sha256sum "${hardware_setup}" "${steam}" "${user_setup}")" @@ -55,6 +54,5 @@ if [[ "${first_digest}" != "${second_digest}" ]]; then fi assert_count 1 'AeroCore Steam state migration' "${steam}" -assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" echo "Bazzite 44 Deck identity fixture passed" -- cgit v1.2.3