commit:     8da5d5cc4ed7a090c83b9f99577c31365c6884da
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 25 14:36:46 2024 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Jun 29 08:36:22 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8da5d5cc

sys-firmware/intel-microcode: complain less when /boot is not mounted

When using dist-kernel users can correct the problem and then
emerge --config ...

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37292
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 .../intel-microcode-20240312_p20240312.ebuild       | 21 +++++++++++++++------
 .../intel-microcode-20240514_p20240514.ebuild       | 21 +++++++++++++++------
 .../intel-microcode-20240531_p20240526-r1.ebuild    | 21 +++++++++++++++------
 3 files changed, 45 insertions(+), 18 deletions(-)

diff --git 
a/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild 
b/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
index 957da662f92e..5e2d305fc9ed 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
@@ -83,7 +83,15 @@ MICROCODE_SIGNATURES_DEFAULT=""
 # exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
 
 pkg_pretend() {
-       use initramfs && mount-boot_pkg_pretend
+       if use initramfs; then
+               if [[ -z ${ROOT} ]] && use dist-kernel; then
+                       # Check, but don't die because we can fix the problem 
and then
+                       # emerge --config ... to re-run installation.
+                       nonfatal mount-boot_check_status
+               else
+                       mount-boot_pkg_pretend
+               fi
+       fi
 }
 
 src_prepare() {
@@ -181,7 +189,7 @@ pkg_preinst() {
        fi
 
        # Make sure /boot is available if needed.
-       use initramfs && mount-boot_pkg_preinst
+       use initramfs && ! use dist-kernel && mount-boot_pkg_preinst
 
        local _initramfs_file="${ED}/boot/intel-uc.img"
 
@@ -274,21 +282,22 @@ pkg_preinst() {
 
 pkg_prerm() {
        # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
-       use initramfs && mount-boot_pkg_prerm
+       use initramfs && ! use dist-kernel && mount-boot_pkg_prerm
 }
 
 pkg_postrm() {
        # Don't forget to umount /boot if it was previously mounted by us.
-       use initramfs && mount-boot_pkg_postrm
+       use initramfs && ! use dist-kernel && mount-boot_pkg_postrm
 }
 
 pkg_postinst() {
-       # Don't forget to umount /boot if it was previously mounted by us.
        if use initramfs; then
                if [[ -z ${ROOT} ]] && use dist-kernel; then
                        dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+               else
+                       # Don't forget to umount /boot if it was previously 
mounted by us.
+                       mount-boot_pkg_postinst
                fi
-               mount-boot_pkg_postinst
        fi
 
        # We cannot give detailed information if user is affected or not:

diff --git 
a/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild 
b/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild
index 957da662f92e..5e2d305fc9ed 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild
@@ -83,7 +83,15 @@ MICROCODE_SIGNATURES_DEFAULT=""
 # exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
 
 pkg_pretend() {
-       use initramfs && mount-boot_pkg_pretend
+       if use initramfs; then
+               if [[ -z ${ROOT} ]] && use dist-kernel; then
+                       # Check, but don't die because we can fix the problem 
and then
+                       # emerge --config ... to re-run installation.
+                       nonfatal mount-boot_check_status
+               else
+                       mount-boot_pkg_pretend
+               fi
+       fi
 }
 
 src_prepare() {
@@ -181,7 +189,7 @@ pkg_preinst() {
        fi
 
        # Make sure /boot is available if needed.
-       use initramfs && mount-boot_pkg_preinst
+       use initramfs && ! use dist-kernel && mount-boot_pkg_preinst
 
        local _initramfs_file="${ED}/boot/intel-uc.img"
 
@@ -274,21 +282,22 @@ pkg_preinst() {
 
 pkg_prerm() {
        # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
-       use initramfs && mount-boot_pkg_prerm
+       use initramfs && ! use dist-kernel && mount-boot_pkg_prerm
 }
 
 pkg_postrm() {
        # Don't forget to umount /boot if it was previously mounted by us.
-       use initramfs && mount-boot_pkg_postrm
+       use initramfs && ! use dist-kernel && mount-boot_pkg_postrm
 }
 
 pkg_postinst() {
-       # Don't forget to umount /boot if it was previously mounted by us.
        if use initramfs; then
                if [[ -z ${ROOT} ]] && use dist-kernel; then
                        dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+               else
+                       # Don't forget to umount /boot if it was previously 
mounted by us.
+                       mount-boot_pkg_postinst
                fi
-               mount-boot_pkg_postinst
        fi
 
        # We cannot give detailed information if user is affected or not:

diff --git 
a/sys-firmware/intel-microcode/intel-microcode-20240531_p20240526-r1.ebuild 
b/sys-firmware/intel-microcode/intel-microcode-20240531_p20240526-r1.ebuild
index 6ad9cfa826b6..55f66f30803d 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20240531_p20240526-r1.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20240531_p20240526-r1.ebuild
@@ -83,7 +83,15 @@ MICROCODE_SIGNATURES_DEFAULT=""
 # exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
 
 pkg_pretend() {
-       use initramfs && mount-boot_pkg_pretend
+       if use initramfs; then
+               if [[ -z ${ROOT} ]] && use dist-kernel; then
+                       # Check, but don't die because we can fix the problem 
and then
+                       # emerge --config ... to re-run installation.
+                       nonfatal mount-boot_check_status
+               else
+                       mount-boot_pkg_pretend
+               fi
+       fi
 }
 
 src_prepare() {
@@ -191,7 +199,7 @@ pkg_preinst() {
        fi
 
        # Make sure /boot is available if needed.
-       use initramfs && mount-boot_pkg_preinst
+       use initramfs && ! use dist-kernel && mount-boot_pkg_preinst
 
        local _initramfs_file="${ED}/boot/intel-uc.img"
 
@@ -284,21 +292,22 @@ pkg_preinst() {
 
 pkg_prerm() {
        # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
-       use initramfs && mount-boot_pkg_prerm
+       use initramfs && ! use dist-kernel && mount-boot_pkg_prerm
 }
 
 pkg_postrm() {
        # Don't forget to umount /boot if it was previously mounted by us.
-       use initramfs && mount-boot_pkg_postrm
+       use initramfs && ! use dist-kernel && mount-boot_pkg_postrm
 }
 
 pkg_postinst() {
-       # Don't forget to umount /boot if it was previously mounted by us.
        if use initramfs; then
                if [[ -z ${ROOT} ]] && use dist-kernel; then
                        dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+               else
+                       # Don't forget to umount /boot if it was previously 
mounted by us.
+                       mount-boot_pkg_postinst
                fi
-               mount-boot_pkg_postinst
        fi
 
        # We cannot give detailed information if user is affected or not:

Reply via email to