commit:     8be0408ace8e72eb994f9479cbc087b00c675152
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  2 16:23:02 2026 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan  2 16:32:56 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8be0408a

sys-kernel/gentoo-kernel-bin: Bump to 6.18.3

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

 sys-kernel/gentoo-kernel-bin/Manifest              |   7 +
 .../gentoo-kernel-bin-6.18.3.ebuild                | 237 +++++++++++++++++++++
 2 files changed, 244 insertions(+)

diff --git a/sys-kernel/gentoo-kernel-bin/Manifest 
b/sys-kernel/gentoo-kernel-bin/Manifest
index fed6c5e49cbf..d5fd02e7f979 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -78,6 +78,10 @@ DIST gentoo-kernel-6.18.2_p1-1.amd64.gpkg.tar 458854400 
BLAKE2B 3aff1788faf0771a
 DIST gentoo-kernel-6.18.2_p1-1.arm64.gpkg.tar 434565120 BLAKE2B 
3f88c8992d08b1351b9e881a196ee9b36b37cc77cc350f942494a2be2611abf34997a46657cc9c06769481e72c1a8b7d15defd0885d02aea16d7ef125244d295
 SHA512 
525781987e21762fb0d25763a39792d4aeb60e5d99f75ad5bcc2c8f6e50c9d7ae6ff86f8fccc7f037e467cd239af8598602d81e252eb2a7ee97e0adca1e74e32
 DIST gentoo-kernel-6.18.2_p1-1.ppc64le.gpkg.tar 77066240 BLAKE2B 
1de1280e8cd517226549b93bfa29bbacfdef1bfa403aa95dd8dd3953c65794e621b747c45932b9826a21cb0ecb9c25a319620fbcc85c2bc17cca3029735b59f0
 SHA512 
babe97520a9c55311a3c2709d2bd27fd9563ad674037cc1c6d74e3938d78f7d1bc75ebd0fb35a6bade82502086abeb10383558588fdce12a500de62c094727b8
 DIST gentoo-kernel-6.18.2_p1-1.x86.gpkg.tar 83353600 BLAKE2B 
b10a029a6b356229b37de2b19da5f7bf487edc9e079cccb4cbaa02d888b1d9dd44a45862bcc390aeed9a018a5c0a302cf207e8ab7bcaf26e51c3cbaa6c714cec
 SHA512 
f3055acdc0b1cbb9361d3e3219c62adef46e5efe34bf5f735ce02a1c5b1fa5dca6e4c7353be41574d1cca39a1e8d48fa37c1a8b2dc3a534b4eb67072d23b906e
+DIST gentoo-kernel-6.18.3-1.amd64.gpkg.tar 458823680 BLAKE2B 
0343e2089a4ef4f01e608dd2ea9d8f7e78bbb7d97f338afc383c53816bd653e266a55a872fec98a1c4034f9a32306ef0b1a54bd4eb11c7564260b86db98a703d
 SHA512 
5c6c6d7f0f52aa09fca6535f6dde7a722d2625282141804b02b3daa12f9907fae5bafe4735f857bb9d54a40459d9e8cb3065c746f08471545e9fbf9d97e49c16
+DIST gentoo-kernel-6.18.3-1.arm64.gpkg.tar 434636800 BLAKE2B 
7ff5caef8124b3fc05799a4d34dfc32d435751e350b2058e24fef424bcf15e4ef2d1b9a463c64bda13864e53226e6a0a5ac8801ab5f52dc58297052033ac5247
 SHA512 
f191301d2613eb423f3ef9d5ae2a34014b0f931cb4cd0c4e1746980f6c08273757ce3aafb863e7997ded54800cc2a482ded77f23335d512dbb488fe56320a831
+DIST gentoo-kernel-6.18.3-1.ppc64le.gpkg.tar 77076480 BLAKE2B 
4ed87a8a28a9f3758db690c2a76e141f08cec661582aa4b9d4a269acf4b0fecf6db14364b4df506bcf16d1faa17b19ff1146f754c30c2a3792fda321e37cbb96
 SHA512 
8374fb3447112f517315a40465348b91b4f814dd0871a5262170e789ce351f77d6ca51f0c005c57bf4192f68d11be2209f601003ee69ff245619814eff22a907
+DIST gentoo-kernel-6.18.3-1.x86.gpkg.tar 83363840 BLAKE2B 
1f80c5f4379ac77e84daca5dba318333e9ef6e958a8e44246be2c9d2ab027146539e8e1eb0245ce918331c758388eccbf5485b51625f3212cc8ae2b9d845158d
 SHA512 
4143628d042918c4b0bbef1081ceab98e1d82e98a360c1850f4b536fd6961d0b77f22f98eae3065374d5ae459932b78951ef57b7c1e83b6c7b6d3db4dafddb49
 DIST gentoo-kernel-6.6.116-1.amd64.gpkg.tar 274821120 BLAKE2B 
c93b8b3dc50d0aba96ae61f8fd06c8e08ed9040e166805e4bc78e5113fdb881714265151f4472a2b92b461b4fc534627b26a62d73fd9f79994e057dd4c4d5d82
 SHA512 
2c5059f92048805b54723e494e27384b2f7b79a1380e976a81f24faad3ea3158d13244fdccb7e10014318dfc6ec2e267033286590b76ddcdc697f56427e8763b
 DIST gentoo-kernel-6.6.116-1.arm64.gpkg.tar 247490560 BLAKE2B 
b2eaf44da5d3b20c00ab009198aa37905734a5c0a0403927fc595f2661ab95ad2a6939923928614869e44ae9a3bd24dc6fc2c4196b917cba2442db72101c5ec0
 SHA512 
62d0af00479b64837731ca9ece779e1b3c7cd0d375196e08730fd579b842ae87370f957825e8c5b4bef1d7733d0fae3bb4552d8b05c4d78a8b086ff7097bf096
 DIST gentoo-kernel-6.6.116-1.ppc64le.gpkg.tar 64481280 BLAKE2B 
f48919679d041322db17d48a61d6b477315c6eedaa0564774a3ab67ea220d5c7af245b4dd5e67f683ffaacf2bf872a985bb80f0deef51f5e7850ce7de829e2e9
 SHA512 
2c15494201ac80fe5d3fa9b7e56f70d6930676ff560424bc0884bea24346864eaf9506b80ba7fe5b89547c1c45fa1a93b013d1c547c47e42e07d3ad04cd58eb8
@@ -112,6 +116,7 @@ DIST linux-6.x-sha256sums-20251202.asc 185934 BLAKE2B 
9667996fe5102de2d0d2267ab6
 DIST linux-6.x-sha256sums-20251207.asc 187298 BLAKE2B 
41904c59d9fd208fa07909eb545ac5829d510c45ae37bb4180df556fbbbd83c2c2285c74372e7d6b214f6057503becdb4d87e846219e5355703f8c0a23296b8f
 SHA512 
62e3f162563a30ee3b3c636a099eae59cd1e0d73e43532bfbac19b89b899b8f886a05a7e9ae80a9775b8571d31a5be14cb243692df14e3113c90f610d4a47b92
 DIST linux-6.x-sha256sums-20251212.asc 188317 BLAKE2B 
c00f55350950ad2881fae2ae4714d918e02bb642329b79b9d18cd9b08e68fc0a72d9e8171f0732469082e553dd8d2e8e06720bf85b09aa4557cab7835f722e03
 SHA512 
0cc2b8891d88c15f5cbdcc5f2ba8265ef9b887f21e924f7022ef80c69072b8cd4373c84f162556c221360528eb8265833c28aca2fc70a98e03f06a4e201924e1
 DIST linux-6.x-sha256sums-20251218.asc 189336 BLAKE2B 
6bec5a80ef0f8c7651241e9c425d86026b7e13f0fa19d613a5b67ec892d63751633f04929825581801466ccdc45c4103e9feefa9fbbd63d489a8c5f675f45934
 SHA512 
7fa17449f7908904e6587e380271e153733f6f96ea66910d798facabb9a3247a1b93947371addc3273e6f4c165e2de02003ee0f688f1f0442ba03e63478dc360
+DIST linux-6.x-sha256sums-20260102.asc 189673 BLAKE2B 
62134f50dad0f42ab8bbc7a11b874f4742e09b22792f872ce4410f94b41a410ff6728e7fed0bd620a2d465962fdbea22dfc6f57b3e4cb983b6d2d629e1c40f7d
 SHA512 
d4c22ccec72654ebbb59f4b442906081011bcf5648c719fe6196ef4ffb0c2f00be5bb5025eaf358f96b2b00ab76f77f7db22f1df078d5ac03a7ef6b07c2ce43e
 DIST linux-gentoo-patches-5.10.246.tar.xz 23580 BLAKE2B 
1184fd10a1321cfde67d276426103c73993fbe93e81047b494d358c433daa10a3c141349d01daa7147a05eeaccaa0eb87256b4f523e66f2f7f7022385982776b
 SHA512 
31dd105101372b569c98bc72d6d8fd15fe95ece08ec9f48de10f91112f1526ccfbb349a67913ef1f8c798dd3dceeecc6312eeefc097d9ccd3b55edc70d3dcf10
 DIST linux-gentoo-patches-5.15.195.tar.xz 12876 BLAKE2B 
d675d4150c8292c4f4b9846a26c53099910905e04e3015cfb3cb60e53dea99028b2e6fcbc345255246103699910aecf916054a09598e931d110b31db59a0b517
 SHA512 
e86691215cdab56a1a4fbe9aa3de44bda93db5659c39b04bfce53ed6ad8ed6923853431abb9444471b227421619c40e8841dab582b8007216e3c22e2b348a549
 DIST linux-gentoo-patches-6.1.156.tar.xz 31604 BLAKE2B 
09ede2987691e372c41567d975070451d243662b9f86dcd35489b63b732583e34431e1ad93ade3f9ea77dddae06e71e5752c0d12b3b6d0765106e19fe30876a4
 SHA512 
2f4a7960956c3aa7bbb46b20d14051ad58f07f45f8c4a6115100aaf6a46ddeaf414e1247d6034e4f71bdd7fd9479cb1b1bffab5e480a0422ad9af3b23e2bf95c
@@ -124,6 +129,7 @@ DIST linux-gentoo-patches-6.17.2.tar.xz 99184 BLAKE2B 
867bbf3a8cce987dba3381a874
 DIST linux-gentoo-patches-6.18.1.tar.xz 14304 BLAKE2B 
e9bc17c8a9bc7334017f61738ce0b5d17d6b9a770927f3e3f848b9a10f5efad1ad6ec0e9697e5ceb844d0f625299794b7d31d3fe09e0854ab4c98235be637d8a
 SHA512 
00db6b73624f953f0c2f18095556bd3045f1b08603ce5ede971767c4f161758d79b049304826dd765bb44f46345ff44b3c17d9e0d83616349599fe75ac38e714
 DIST linux-gentoo-patches-6.18.2.tar.xz 11656 BLAKE2B 
ebac8222e1a9f94753d45bddc35fcfde7a1f66b19307cf64a9e3ab47fe12f35b70e65d1cab48a85741ee6bf6c2bd92e05e0587f9903ab3a1535bc9168b819dd8
 SHA512 
1548015f42cdc55927a3c42b37cde1871f88adcdd0bd04f53fefabc5dee5cf22bb6a3f188200efc2c4ccd484906c2642cdd30ab9ba2ffe524afdbd17cdc5fa09
 DIST linux-gentoo-patches-6.18.2_p1.tar.xz 14964 BLAKE2B 
1a7766dfb5f9d107b4125aa24b7e6c1972f7bc0bf5d2dd92d5ee10e17a2b4175015fd4ddf71b93fe18c1d278f28f6abe4ba88acb0d41042f6455f446b7a0c42e
 SHA512 
6ab511813f9aa5f1d6dedc2ec104f92579f6d90a9206a33cd3bcac772940e7e503be6df596290dc9652a6dad240324fe9486cc93d0d6fc88cae907c2a3d7d5f5
+DIST linux-gentoo-patches-6.18.3.tar.xz 12932 BLAKE2B 
d431bb149a8b4fe46a124c9700cae325f54c85eca420ebc2b98b280cadb994d7e8b7ac18a396d896ccf59f4346ec78352c580c3d61b75d5ae73197d69c3a8451
 SHA512 
995f59dfa425623cb62876f2fddeb7e0207a107a7fef0345ce1f8edec4392ac70a259e273d9010bdb1368ae9e4e47bb82833a64e8769f3bbcf67ff5c38256ab7
 DIST linux-gentoo-patches-6.6.111.tar.xz 45328 BLAKE2B 
d940d418295c07fcf55614fe415b8124bb9e6abdd2cdb992f9b06ceb3f752503bf17df4224f781cef85170928a76013227340235d50b514899d3893d2f94efcf
 SHA512 
4555fad79908133b0fd0ac0ec03ef4f5b6345974e4243b35255e1ee24182f1091366bb39f8d0cf40f67dde04eb688e95e2902c048b8a3b7aebae64fcc7c2847e
 DIST patch-5.10.246.xz 6964592 BLAKE2B 
b893135670cd9068a8af6f05607ef680d38c4bdd121e1bd3289007df7f0cbc22987c810fe697b939885e20346fb759b4c907870000a5c64f8cad23568ed10a55
 SHA512 
52e6f9bf483c3a588f934eeafdb40bcf0d39ad4c32f3e176ff1ed6f8485c1705ff1e5fc268352772e7aba3a93736653211baaa90df64a6c3d7494fa631c1eb5e
 DIST patch-5.10.247.xz 6997100 BLAKE2B 
aead70810bfd903f1ea2be4e24a0eb7d3282032115ba1d61334193d33420e08abf87bd537243199b5d4e8d4d161f972fa487ae607eee7a5d5fd38eb9f08cb704
 SHA512 
dba332c649b8b05956ed98fc13f939e699fd8b7f6acabfddb69a7243c4e449a3be6ef15ebab72dfb5d906342b79753210a33415f6c079d1e804b789ab165aae9
@@ -144,6 +150,7 @@ DIST patch-6.17.13.xz 993300 BLAKE2B 
368ed14af870d06af317a28b1e2ca5ae32fce924621
 DIST patch-6.17.9.xz 764968 BLAKE2B 
a0ce8311be7c251ad21b7cc11be4f30ec5125e3763f97a750afef855be385a3ceae24df3b65b5dd751729575aa0cd254a95cbae0f2e8cc8f95539dcfa2d9d3a1
 SHA512 
35593bc973cc7f626aa7a41cf8b7dea1b46fe8922bd57194db363d26e8854af514d103e39d02c642c26748bd933d5e402ff89d2a20d2da5f8d901e4713eafc46
 DIST patch-6.18.1.xz 15784 BLAKE2B 
fe7857feeeacdbad91db8330d74a2bfd53d35783e8c37366bf76d2d4c6e7d38a83c3923a950500d5a2f758141a24bd6c248e723130db7c04293d3a07cddef5ce
 SHA512 
09ed1dc6b66ee15921167de612a9e5178d37dfc874731b2893a833acaaddaf929e900ba9366d3aecfd678b67a28d3889f897735c6305c2b4af87a101a84ea775
 DIST patch-6.18.2.xz 203656 BLAKE2B 
58ee88f8a912a4574bacea12016213602790949224f10b75a823ce1b2977640e4d1f96182367f399b66e1a423cb94c1314e9b6ea405ccb4043b7beb28880c174
 SHA512 
243c839c47bcb222d48ebebee3d318d5c17b5ad12d9a1df0aedcda7bb5262c4765b43ac3df82e8c0787a7b8242f51b2dd3227e5e07949eb644255a3b9e90a20d
+DIST patch-6.18.3.xz 323692 BLAKE2B 
853264250d99c1f419efc297a3d014c6342f9b0f4d7e57e5bb87cced644aabcaf8b0055fcd1f9b5e10256edfc0b96b442a53f20f7e09de7ac312d3534c3cdb39
 SHA512 
56defd8afd1e406ee7475e9e5842abf3d1b6fbe27d5bc906d2879872d0f2cf99503a2626d2937f22f01f324f1c9877afe654f252585d5b8fcc372fbde9b7f67c
 DIST patch-6.6.116.xz 5054680 BLAKE2B 
0ff38d6f77204767a2a2f79080405634a53ee304754156fc1c5f0c8aa339b39b2382d3d4e33132a2a5c02d0c2c81ae07e20eb55ef76b62788411321399c49569
 SHA512 
60d1d70b217a4908d3b67b61596013b3ecc06d44ab095ad50accb21a71bb9b3d20128d38cb73790b9999e0e922092c06a414cad0efaab4c1739accc7cf8b5510
 DIST patch-6.6.117.xz 5149968 BLAKE2B 
5557cb9181cb2885ebf7bda52e37c69b91f6be11b8338b8ab5d691d3786a0d1ceac432062a2954256203a63c19277725a915284c520cfd7d1ef72df82ba41ccf
 SHA512 
387d134e42416f90a32b349a5c941ad99d135cd57388fbd90ca0479b0521bb1aff0f3b8f6b8af6f9d73ed0f0f83ded8728300bd99c63473cf62a0f700d03de25
 DIST patch-6.6.118.xz 5155016 BLAKE2B 
3d5ca3e87d1eb8605d3973347e551ba0e3184aaeba6f895872838327cccf7a2046f53f8586db547fc9c2e38586e630db9274a2347d90896f7a15730b247cb3a6
 SHA512 
d692a749b9b7b21a50f6bb404b3da9f77b529e855167f633e4a70e177f358cb1ad072edba6512ed37fd04c0fa986463e5bbb34472555b419ef71fc946a487eff

diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.3.ebuild 
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.3.ebuild
new file mode 100644
index 000000000000..354e10688a25
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.3.ebuild
@@ -0,0 +1,237 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_IUSE_GENERIC_UKI=1
+KERNEL_IUSE_MODULES_SIGN=1
+
+inherit kernel-install toolchain-funcs unpacker verify-sig
+
+BASE_P=linux-${PV%.*}
+PATCH_PV=${PV%_p*}
+PATCHSET=linux-gentoo-patches-6.18.3
+BINPKG=${P/-bin}-1
+SHA256SUM_DATE=20260102
+
+DESCRIPTION="Pre-built Linux kernel with Gentoo patches"
+HOMEPAGE="
+       https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+       https://www.kernel.org/
+"
+SRC_URI+="
+       https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${BASE_P}.tar.xz
+       https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 
1).x/patch-${PATCH_PV}.xz
+       https://dev.gentoo.org/~mgorny/dist/linux/${PATCHSET}.tar.xz
+       verify-sig? (
+               https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 
1).x/sha256sums.asc
+                       -> linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc
+       )
+       amd64? (
+               
https://dev.gentoo.org/~mgorny/binpkg/amd64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+                       -> ${BINPKG}.amd64.gpkg.tar
+       )
+       arm64? (
+               
https://dev.gentoo.org/~mgorny/binpkg/arm64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+                       -> ${BINPKG}.arm64.gpkg.tar
+       )
+       ppc64? (
+               
https://dev.gentoo.org/~mgorny/binpkg/ppc64le/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+                       -> ${BINPKG}.ppc64le.gpkg.tar
+       )
+       x86? (
+               
https://dev.gentoo.org/~mgorny/binpkg/x86/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+                       -> ${BINPKG}.x86.gpkg.tar
+       )
+"
+S=${WORKDIR}
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="debug"
+
+RDEPEND="
+       !sys-kernel/gentoo-kernel:${SLOT}
+"
+PDEPEND="
+       >=virtual/dist-kernel-${PATCH_PV}
+"
+BDEPEND="
+       app-alternatives/bc
+       app-alternatives/lex
+       dev-util/pahole
+       virtual/libelf
+       app-alternatives/yacc
+       amd64? ( app-crypt/sbsigntools )
+       arm64? ( app-crypt/sbsigntools )
+       verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 )
+"
+
+KV_LOCALVERSION='-gentoo-dist'
+KV_FULL=${PV/_p/-p}${KV_LOCALVERSION}
+
+QA_PREBUILT='*'
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc
+
+src_unpack() {
+       if use verify-sig; then
+               cd "${DISTDIR}" || die
+               verify-sig_verify_signed_checksums \
+                       "linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc" 
\
+                       sha256 "${BASE_P}.tar.xz patch-${PATCH_PV}.xz"
+               cd "${WORKDIR}" || die
+       fi
+
+       unpacker
+}
+
+src_prepare() {
+       local patch
+       cd "${BASE_P}" || die
+       eapply "${WORKDIR}/patch-${PATCH_PV}"
+       for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do
+               eapply "${patch}"
+               # non-experimental patches always finish with Gentoo Kconfig
+               # we built -bins without them
+               if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]]
+               then
+                       break
+               fi
+       done
+
+       default
+
+       # add Gentoo patchset version
+       local extraversion=${PV#${PATCH_PV}}
+       sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || 
die
+}
+
+src_configure() {
+       # force ld.bfd if we can find it easily
+       local HOSTLD="$(tc-getBUILD_LD)"
+       if type -P "${HOSTLD}.bfd" &>/dev/null; then
+               HOSTLD+=.bfd
+       fi
+       local LD="$(tc-getLD)"
+       if type -P "${LD}.bfd" &>/dev/null; then
+               LD+=.bfd
+       fi
+       tc-export_build_env
+       local makeargs=(
+               V=1
+               WERROR=0
+
+               HOSTCC="$(tc-getBUILD_CC)"
+               HOSTCXX="$(tc-getBUILD_CXX)"
+               HOSTLD="${HOSTLD}"
+               HOSTAR="$(tc-getBUILD_AR)"
+               HOSTCFLAGS="${BUILD_CFLAGS}"
+               HOSTLDFLAGS="${BUILD_LDFLAGS}"
+
+               CROSS_COMPILE=${CHOST}-
+               AS="$(tc-getAS)"
+               CC="$(tc-getCC)"
+               LD="${LD}"
+               AR="$(tc-getAR)"
+               NM="$(tc-getNM)"
+               STRIP="$(tc-getSTRIP)"
+               OBJCOPY="$(tc-getOBJCOPY)"
+               OBJDUMP="$(tc-getOBJDUMP)"
+               READELF="$(tc-getREADELF)"
+
+               # we need to pass it to override colliding Gentoo envvar
+               ARCH="$(tc-arch-kernel)"
+
+               O="${WORKDIR}"/modprep
+       )
+
+       local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}"
+
+       # If this is set it will have an effect on the name of the output
+       # image. Set this variable to track this setting.
+       if grep -q "CONFIG_EFI_ZBOOT=y" "${kernel_dir}/.config"; then
+               KERNEL_EFI_ZBOOT=1
+       elif use arm64 && use generic-uki; then
+               die "USE=generic-uki requires a CONFIG_EFI_ZBOOT enabled build"
+       fi
+
+       local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+       local uki="${image%/*}/uki.efi"
+
+       # Override user variable with the cert used during build
+       openssl x509 \
+               -inform DER -in "${kernel_dir}/certs/signing_key.x509" \
+               -outform PEM -out "${T}/cert.pem" ||
+                       die "Failed to convert pcrpkey to PEM format"
+       export SECUREBOOT_SIGN_CERT=${T}/cert.pem
+
+       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
+       cp "${kernel_dir}/.config" modprep/ || die
+       emake -C "${BASE_P}" "${makeargs[@]}" modules_prepare
+}
+
+src_test() {
+       local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}"
+       kernel-install_test "${KV_FULL}" \
+               "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \
+               "${BINPKG}/image/lib/modules/${KV_FULL}"
+}
+
+src_install() {
+       local rel_kernel_dir=/usr/src/linux-${KV_FULL}
+       local kernel_dir="${BINPKG}/image${rel_kernel_dir}"
+       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
+               if use generic-uki; then
+                       > "${image}" || die
+               else
+                       > "${uki}" || die
+               fi
+       fi
+
+       # Overwrite the identifier in the prebuilt package
+       echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die
+
+       mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die
+
+       # FIXME: requires proper mount-boot
+       if [[ -d ${BINPKG}/image/boot/dtbs ]]; then
+               mv "${BINPKG}"/image/boot "${ED}"/ || die
+       fi
+
+       # strip out-of-source build stuffs from modprep
+       # and then copy built files
+       find modprep -type f '(' \
+                       -name Makefile -o \
+                       -name '*.[ao]' -o \
+                       '(' -name '.*' -a -not -name '.config' ')' \
+               ')' -delete || die
+       rm modprep/source || die
+       cp -p -R modprep/. "${ED}${rel_kernel_dir}"/ || die
+
+       # Update timestamps on all modules to ensure cleanup works correctly
+       # when switching USE=modules-compress.
+       find "${ED}/lib" -name '*.ko' -exec touch {} + || die
+
+       # Modules were already stripped before signing
+       dostrip -x /lib/modules
+       kernel-install_compress_modules
+
+       # Mirror the logic from kernel-build_src_install, for architectures
+       # where USE=debug is used.
+       if use ppc64; then
+               dostrip -x "${rel_kernel_dir}/$(dist-kernel_get_image_path)"
+       elif use debug && { use amd64 || use arm64; }; then
+               dostrip -x "${rel_kernel_dir}/vmlinux"
+               dostrip -x "${rel_kernel_dir}/vmlinux.ctfa"
+       fi
+}

Reply via email to