commit:     206362fe92d3387d6ae9a9832047f64910722eef
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 16 17:51:13 2024 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 17:59:56 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=206362fe

sys-kernel/linux-firmware: *.install exit early if no ucode installed

If we have USE="initramfs savedconfig" we may exclude the microcode
from installation. This should be handled gracefully in the hooks.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 .../files/35-amd-microcode-systemd.install              | 17 +++++++++++------
 .../linux-firmware/files/35-amd-microcode.install       | 10 +++++++---
 ...0610-r2.ebuild => linux-firmware-20240610-r3.ebuild} |  0
 ...0240709.ebuild => linux-firmware-20240709-r1.ebuild} |  0
 4 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/sys-kernel/linux-firmware/files/35-amd-microcode-systemd.install 
b/sys-kernel/linux-firmware/files/35-amd-microcode-systemd.install
index edafb4d63035..7f2586f29e66 100644
--- a/sys-kernel/linux-firmware/files/35-amd-microcode-systemd.install
+++ b/sys-kernel/linux-firmware/files/35-amd-microcode-systemd.install
@@ -26,10 +26,15 @@ if ! command -v make-amd-ucode-img >/dev/null; then
        exit 1
 fi
 
-[[ ${KERNEL_INSTALL_VERBOSE} == 1 ]] && echo \
-       "Generating AMD CPU Microcode early initramfs image..."
+if [[ -d /lib/firmware/amd-ucode ]]; then
+       [[ ${KERNEL_INSTALL_VERBOSE} == 1 ]] && echo \
+               "Generating AMD CPU Microcode early initramfs image..."
 
-make-amd-ucode-img \
-       ${KERNEL_INSTALL_STAGING_AREA}/microcode-amd \
-       /lib/firmware/amd-ucode ||
-               { echo "make-amd-ucode-img failed" && exit 1; }
+       make-amd-ucode-img \
+               ${KERNEL_INSTALL_STAGING_AREA}/microcode-amd \
+               /lib/firmware/amd-ucode ||
+                       { echo "make-amd-ucode-img failed" && exit 1; }
+else
+       [[ ${KERNEL_INSTALL_VERBOSE} == 1 ]] && echo \
+               "No AMD CPU Microcode installed, nothing to do here."
+fi

diff --git a/sys-kernel/linux-firmware/files/35-amd-microcode.install 
b/sys-kernel/linux-firmware/files/35-amd-microcode.install
index 185e57be0dae..504a06c9fbcc 100644
--- a/sys-kernel/linux-firmware/files/35-amd-microcode.install
+++ b/sys-kernel/linux-firmware/files/35-amd-microcode.install
@@ -31,9 +31,13 @@ main() {
 
        [[ ${EUID} -eq 0 ]] || die "Please run this script as root"
 
-       einfo "Generating AMD CPU Microcode early initramfs image..."
-       make-amd-ucode-img /boot/amd-uc.img /lib/firmware/amd-ucode ||
-               die "make-amd-ucode-img failed"
+       if [[ -d /lib/firmware/amd-ucode ]]; then
+               einfo "Generating AMD CPU Microcode early initramfs image..."
+               make-amd-ucode-img /boot/amd-uc.img /lib/firmware/amd-ucode ||
+                       die "make-amd-ucode-img failed"
+       else
+               einfo "No AMD CPU Microcode installed, nothing to do here."
+       fi
 }
 
 main

diff --git a/sys-kernel/linux-firmware/linux-firmware-20240610-r2.ebuild 
b/sys-kernel/linux-firmware/linux-firmware-20240610-r3.ebuild
similarity index 100%
rename from sys-kernel/linux-firmware/linux-firmware-20240610-r2.ebuild
rename to sys-kernel/linux-firmware/linux-firmware-20240610-r3.ebuild

diff --git a/sys-kernel/linux-firmware/linux-firmware-20240709.ebuild 
b/sys-kernel/linux-firmware/linux-firmware-20240709-r1.ebuild
similarity index 100%
rename from sys-kernel/linux-firmware/linux-firmware-20240709.ebuild
rename to sys-kernel/linux-firmware/linux-firmware-20240709-r1.ebuild

Reply via email to