summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-01-01 21:04:54 +0100
committerMichał Górny <mgorny@gentoo.org>2024-01-01 21:06:08 +0100
commit1b8f137bc41f76e3c30abbd200ddab9b004b5775 (patch)
treeab8fb5895b21c4e422e9e74a13e3b28ff48f6446 /sys-kernel
parentsys-kernel/gentoo-kernel-bin: Stabilize 5.15.145 arm64, #921161 (diff)
downloadgentoo-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.ebuild27
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