From 8d67292ae1894868fd8768d0e3a3714d8ada2251 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Fri, 5 Jan 2024 17:59:55 -0800 Subject: [PATCH] fix: Set up bazzite-hardware-setup to re-run if the branch changes --- .github/workflows/build.yml | 1 + .../shared/usr/bin/bazzite-hardware-setup | 17 +++++++++-------- system_files/shared/tmp/image-info.sh | 1 + 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8dc0ca2c..b1bd651b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -222,6 +222,7 @@ jobs: BASE_IMAGE_FLAVOR=${{ env.BASE_IMAGE_FLAVOR }} FEDORA_MAJOR_VERSION=${{ matrix.major_version }} AKMODS_FLAVOR=${{ env.AKMODS_FLAVOR }} + IMAGE_BRANCH=${{ github.ref_name }} labels: ${{ steps.meta.outputs.labels }} oci: false extra-args: | diff --git a/system_files/desktop/shared/usr/bin/bazzite-hardware-setup b/system_files/desktop/shared/usr/bin/bazzite-hardware-setup index 01c534b3..14e469f8 100755 --- a/system_files/desktop/shared/usr/bin/bazzite-hardware-setup +++ b/system_files/desktop/shared/usr/bin/bazzite-hardware-setup @@ -2,6 +2,7 @@ IMAGE_INFO="/usr/share/ublue-os/image-info.json" IMAGE_NAME=$(jq -r '."image-name"' < $IMAGE_INFO) +IMAGE_BRANCH=$(jq -r '."image-branch"' < $IMAGE_INFO) IMAGE_FLAVOR=$(jq -r '."image-flavor"' < $IMAGE_INFO) BASE_IMAGE_NAME=$(jq -r '."base-image-name"' < $IMAGE_INFO) FEDORA_VERSION=$(jq -r '."fedora-version"' < $IMAGE_INFO) @@ -14,6 +15,8 @@ HWS_VER_RAN=$(cat $HWS_VER_FILE) # IMAGE IDENTIFIERS KNOWN_IMAGE_NAME_FILE="/etc/bazzite/image_name" KNOWN_IMAGE_NAME=$(cat $KNOWN_IMAGE_NAME_FILE) +KNOWN_IMAGE_BRANCH_FILE="/etc/bazzite-image_branch" +KNOWN_IMAGE_BRANCH=$(cat $KNOWN_IMAGE_BRANCH) KNOWN_IMAGE_FLAVOR_FILE="/etc/bazzite/image_flavor" KNOWN_IMAGE_FLAVOR=$(cat $KNOWN_IMAGE_FLAVOR_FILE) KNOWN_FEDORA_VERSION_FILE="/etc/bazzite/fedora_version" @@ -37,13 +40,11 @@ fi if [[ ! -f $INITRAMFS_REBUILD_TRIGGER ]]; then # RUN REMAINDER OF SCRIPT ONLY IF UPDATED if [[ -f $HWS_VER_FILE && $HWS_VER = $HWS_VER_RAN ]]; then - if [[ -f $KNOWN_IMAGE_NAME_FILE && -f $KNOWN_IMAGE_FLAVOR_FILE ]]; then - if [[ -f $KNOWN_FEDORA_VERSION_FILE && -f $KNOWN_FEDORA_VERSION_FILE ]]; then - # Run script if image has been rebased - if [[ $IMAGE_NAME = $KNOWN_IMAGE_NAME && $IMAGE_FLAVOR = $KNOWN_IMAGE_FLAVOR && $FEDORA_VERSION = $KNOWN_FEDORA_VERSION ]]; then - echo "Hardware setup has already run. Exiting..." - exit 0 - fi + if [[ -f $KNOWN_IMAGE_NAME_FILE && -f $KNOWN_IMAGE_FLAVOR_FILE && -f $KNOWN_FEDORA_VERSION_FILE && -f $KNOWN_IMAGE_BRANCH_FILE ]]; then + # Run script if image has been rebased + if [[ $IMAGE_NAME = $KNOWN_IMAGE_NAME && $IMAGE_FLAVOR = $KNOWN_IMAGE_FLAVOR && $FEDORA_VERSION = $KNOWN_FEDORA_VERSION && $IMAGE_BRANCH = $KNOWN_IMAGE_BRANCH ]]; then + echo "Hardware setup has already run. Exiting..." + exit 0 fi fi fi @@ -183,7 +184,7 @@ if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegam echo "Lenovo Legion detected. Swapping to X11 by default. Disabling handycon & TDP control..." systemctl disable --now handycon.service systemctl disable --now ds-inhibit - sed -i 's/DESKTOP_WAYLAND=true/DESKTOP_WAYLAND=false/g' /etc/desktop-wayland + sed -i 's/DESKTOP_WAYLAND=true/DESKTOP_WAYLAND=false/g' /etc/default/desktop-wayland sed -i 's/ENABLE_HARDWARE_CONTROL_ON_NON_DECK_HARDWARE=1/ENABLE_HARDWARE_CONTROL_ON_NON_DECK_HARDWARE=0/g' /etc/default/steam-hardware-control fi systemctl disable --now jupiter-fan-control.service diff --git a/system_files/shared/tmp/image-info.sh b/system_files/shared/tmp/image-info.sh index a0ff3bf9..dfdae750 100755 --- a/system_files/shared/tmp/image-info.sh +++ b/system_files/shared/tmp/image-info.sh @@ -21,6 +21,7 @@ cat > $IMAGE_INFO <