commit:     1b8f137bc41f76e3c30abbd200ddab9b004b5775
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  1 20:04:54 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan  1 20:06:08 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b8f137b

sys-kernel/gentoo-kernel-bin: Refactoring UKI binpackage logic

Refactor the UKI extraction/cleanup logic to check for valid uki.efi
file rather than hardcoding the list of architectures using it.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../gentoo-kernel-bin-6.6.9.ebuild                 | 27 ++++++++++++----------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.9.ebuild 
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.9.ebuild
index 53128e72162f..fef68306ec7d 100644
--- a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.9.ebuild
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.9.ebuild
@@ -100,11 +100,12 @@ src_configure() {
        )
 
        local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
-       if has "${ARCH}" amd64 arm64; then
-               local image_path="${kernel_dir}/$(dist-kernel_get_image_path)"
-               # We need the plain image for the test phase
-               kernel-install_extract_from_uki linux \
-                       "${image_path%/*}"/uki.efi "${image_path}"
+       local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+       local uki="${image%/*}/uki.efi"
+       if [[ -s ${uki} ]]; then
+               # We need to extract the plain image for the test phase
+               # and USE=-generic-uki.
+               kernel-install_extract_from_uki linux "${uki}" "${image}"
        fi
 
        mkdir modprep || die
@@ -115,20 +116,22 @@ src_configure() {
 src_test() {
        local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
        kernel-install_test "${KPV}" \
-               "${kernel_dir}/$(dist-kernel_get_image_path)" \
+               "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \
                "${BINPKG}/image/lib/modules/${KPV}"
 }
 
 src_install() {
-       if has "${ARCH}" amd64 arm64; then
-               local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+       local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}"
+       local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+       local uki="${image%/*}/uki.efi"
+       if [[ -s ${uki} ]]; then
                # Keep the kernel image type we don't want out of install tree
                # Replace back with placeholder
-               local to_remove="${kernel_dir}/$(dist-kernel_get_image_path)"
-               if ! use generic-uki; then
-                       to_remove=${to_remove%/*}/uki.efi
+               if use generic-uki; then
+                       > "${image}" || die
+               else
+                       > "${uki}" || die
                fi
-               > "${to_remove}" || die
        fi
 
        mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die

Reply via email to