From 3ac9cb2c5e369b03a772881be313d7cc6a9c129c Mon Sep 17 00:00:00 2001 From: Luke Short <ekultails@gmail.com> Date: Sun, 29 Jun 2025 13:21:04 -0600 Subject: [PATCH] fix(upgrade): install new 'linux-firmware' meta package. Resolves #1080 --- UPGRADES.md | 1 + scripts/winesapos-install.sh | 2 +- scripts/winesapos-tests.sh | 4 ++-- scripts/winesapos-upgrade.sh | 12 +++++++++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/UPGRADES.md b/UPGRADES.md index b50e44b..adeb082 100644 --- a/UPGRADES.md +++ b/UPGRADES.md @@ -10,6 +10,7 @@ - Change the winesapOS stable repository to be the winesapOS rolling updates repository. - Change 'asusctl-git' package to use the 'asusctl' package instead. +- Change 'linux-firmware' to use the new upstream meta package. ## 4.2.0 to 4.3.0 diff --git a/scripts/winesapos-install.sh b/scripts/winesapos-install.sh index 2654591..13b14c4 100755 --- a/scripts/winesapos-install.sh +++ b/scripts/winesapos-install.sh @@ -667,7 +667,7 @@ SigLevel = Never" >> "${WINESAPOS_INSTALL_DIR}"/etc/pacman.conf # Install all available Linux firmware packages from the official Arch Linux repositories. pacman_install_chroot \ linux-firmware \ - linux-firmware-bnx2x \ + linux-firmware-broadcom \ linux-firmware-liquidio \ linux-firmware-marvell \ linux-firmware-mellanox \ diff --git a/scripts/winesapos-tests.sh b/scripts/winesapos-tests.sh index 2cf9ee8..8bd801c 100755 --- a/scripts/winesapos-tests.sh +++ b/scripts/winesapos-tests.sh @@ -336,9 +336,9 @@ fi if [[ "${WINESAPOS_BUILD_CHROOT_ONLY}" == "false" ]]; then printf "\tChecking that the Linux kernel packages are installed..." if [[ "${WINESAPOS_DISTRO_DETECTED}" == "manjaro" ]]; then - pacman_search_loop linux-fsync-nobara-bin linux612 linux612-headers linux-firmware mkinitcpio-firmware amd-ucode intel-ucode apple-bcm-firmware + pacman_search_loop linux-fsync-nobara-bin linux612 linux612-headers linux-firmware linux-firmware-broadcom mkinitcpio-firmware amd-ucode intel-ucode apple-bcm-firmware elif [[ "${WINESAPOS_DISTRO}" == "arch" ]]; then - pacman_search_loop linux-fsync-nobara-bin linux-lts linux-lts-headers linux-firmware mkinitcpio-firmware amd-ucode intel-ucode apple-bcm-firmware + pacman_search_loop linux-fsync-nobara-bin linux-lts linux-lts-headers linux-firmware linux-firmware-broadcom mkinitcpio-firmware amd-ucode intel-ucode apple-bcm-firmware fi fi diff --git a/scripts/winesapos-upgrade.sh b/scripts/winesapos-upgrade.sh index 7103652..2001551 100755 --- a/scripts/winesapos-upgrade.sh +++ b/scripts/winesapos-upgrade.sh @@ -1100,12 +1100,22 @@ sudo -E -u "${WINESAPOS_USER_NAME}" "${qdbus_cmd}" "${kdialog_dbus}" /ProgressDi echo "Running 4.2.0 to 4.3.0 upgrades complete." echo "Running 4.3.0 to 4.4.0 upgrades..." -kdialog_dbus=$(sudo -E -u "${WINESAPOS_USER_NAME}" kdialog --title "winesapOS Upgrade" --progressbar "Running 4.2.0 to 4.3.0 upgrades..." 1 | cut -d" " -f1) +kdialog_dbus=$(sudo -E -u "${WINESAPOS_USER_NAME}" kdialog --title "winesapOS Upgrade" --progressbar "Running 4.2.0 to 4.3.0 upgrades..." 2 | cut -d" " -f1) if ${CMD_PACMAN} -Q asusctl-git; then "${CMD_PACMAN_REMOVE[@]}" asusctl-git "${CMD_AUR_INSTALL[@]}" asusctl fi +sudo -E -u "${WINESAPOS_USER_NAME}" "${qdbus_cmd}" "${kdialog_dbus}" /ProgressDialog Set org.kde.kdialog.ProgressDialog value 1 + +# The "linux-firmware-broadcom" package replaced "linux-firmware-bnx2x" during the "linux-firmware" meta package refactor. +# Checking for that change allows us to fix this upstream issue: +# https://archlinux.org/news/linux-firmware-2025061312fe085f-5-upgrade-requires-manual-intervention/ +if ! ${CMD_PACMAN} -Q linux-firmware-broadcom; then + # Remove this package without dependencies before re-installing. + ${CMD_PACMAN} -R -d -d linux-firmware linux-firmware-bnx2x + "${CMD_PACMAN_INSTALL[@]}" linux-firmware linux-firmware-broadcom +fi sudo -E -u "${WINESAPOS_USER_NAME}" "${qdbus_cmd}" "${kdialog_dbus}" /ProgressDialog org.kde.kdialog.ProgressDialog.close echo "Running 4.3.0 to 4.4.0 upgrades complete."