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