commit:     594a6613a4693a590ba8473a99ce1fd6c4d506d2
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 25 14:15:05 2024 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Jun 29 08:36:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=594a6613

linux-mod-r1.eclass: check /boot if we are re-installing dist-kernel

Previous commit already adds the check when we call
dist-kernel_reinstall_initramfs, but lets do it a bit earlier as well.

As in dist-kernel-utils.eclass, make the check nonfatal because when users
notice the problem they can correct it and manually re-install the kernel via
emerge --config ...

We don't have a pkg_pretend phase in this eclass, so we use the pkg_setup
phase instead to avoid introducing a new phase here.

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

 eclass/linux-mod-r1.eclass | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 43c5a7d7b140..9911a6ddee12 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -132,6 +132,7 @@ IDEPEND="
 "
 
 if [[ ${MODULES_INITRAMFS_IUSE} ]]; then
+       inherit mount-boot-utils
        IUSE+=" ${MODULES_INITRAMFS_IUSE}"
        IDEPEND+="
                ${MODULES_INITRAMFS_IUSE#+}? (
@@ -328,9 +329,19 @@ fi
 #  3. perform various sanity checks to fail early on issues
 linux-mod-r1_pkg_setup() {
        debug-print-function ${FUNCNAME[0]} "${@}"
-       [[ ${MERGE_TYPE} != binary ]] || return 0
        _MODULES_GLOBAL[ran:pkg_setup]=1
        _modules_check_function ${#} 0 0 || return 0
+
+       if [[ -z ${ROOT} && ${MODULES_INITRAMFS_IUSE} ]] &&
+               use dist-kernel && use ${MODULES_INITRAMFS_IUSE#+}
+       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
+       fi
+
+       [[ ${MERGE_TYPE} != binary ]] || return 0
+
        _modules_check_migration
 
        _modules_prepare_kernel

Reply via email to