diff options
author | Michał Górny <mgorny@gentoo.org> | 2024-01-01 21:04:54 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2024-01-01 21:06:08 +0100 |
commit | 1b8f137bc41f76e3c30abbd200ddab9b004b5775 (patch) | |
tree | ab8fb5895b21c4e422e9e74a13e3b28ff48f6446 /sys-kernel | |
parent | sys-kernel/gentoo-kernel-bin: Stabilize 5.15.145 arm64, #921161 (diff) | |
download | gentoo-1b8f137bc41f76e3c30abbd200ddab9b004b5775.tar.gz gentoo-1b8f137bc41f76e3c30abbd200ddab9b004b5775.tar.bz2 gentoo-1b8f137bc41f76e3c30abbd200ddab9b004b5775.zip |
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@gentoo.org>
Diffstat (limited to 'sys-kernel')
-rw-r--r-- | sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.9.ebuild | 27 |
1 files 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 |