commit:     c1d571fd59fdb7d29b0dd273bf33e10726b29ae0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 19 02:25:20 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 19 03:30:58 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1d571fd

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

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

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

diff --git a/sys-kernel/gentoo-kernel-bin/Manifest 
b/sys-kernel/gentoo-kernel-bin/Manifest
index 672c668fa793..5d69b1560bed 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -62,6 +62,10 @@ DIST gentoo-kernel-6.18.1-1.amd64.gpkg.tar 458833920 BLAKE2B 
32b291404b7e4bf76a1
 DIST gentoo-kernel-6.18.1-1.arm64.gpkg.tar 434534400 BLAKE2B 
6e5d9e20b5c3aab62d94a09d759b525f6464128301dfbf095c6db002a1871180384ffef7c0beba4f4c4795671a592912a901e56d5bf338fa7589913d28f60a2f
 SHA512 
2f9f44c212bf29568da6b2e0e091d069214c90696a689976b20bb5ed3d082905d6fedff70770cf191f767c42d09aa4a5d84658608c6e76cea20b30dbc6e58fc8
 DIST gentoo-kernel-6.18.1-1.ppc64le.gpkg.tar 77066240 BLAKE2B 
5ac14dc0790449d69d79e9d61b2a295ddfa732a37723e72f26d97dc8756442143783f61abd10649a6bf05d8738e408936d26766913fde97d2f4ba3a8d2c63981
 SHA512 
c6b5bca1b8a50c0695907899764f9c3bb7a6b37d07001f3f6f070dc9d56ec2d6a5e6bc887f1f61d16057f115aa05a3d190cda682cf1fc522e92e38d33b0dd2d8
 DIST gentoo-kernel-6.18.1-1.x86.gpkg.tar 83353600 BLAKE2B 
3de991136fdd543595b6237103b450c534eec42bd1050a098566dcddada9b78370e92718e50354aa52a53f0b59812867387b5685dadc0daa4b8611f706179e1b
 SHA512 
4d4a00c6326b0cd09ceacf37242d5f5db5acfeb124c7ace2d12ada46489aeab3cdaea8f36135fa92f4d9abeb777bc50085e6e7a00a982c15c548b1bbf78f17ee
+DIST gentoo-kernel-6.18.2-1.amd64.gpkg.tar 458895360 BLAKE2B 
7dbc541ad139f6d3159c3a25988fba0dfaf0a7fae577cd942a92554583225e69aae50c5d88bd52a5bfe2b734e07b21c737efde64e1b2774a3a869603af7b4a74
 SHA512 
e9e969fcae27502ec983f2b3f5d1ff81fd3f313db077db36a1f808084af99b2c53f51ae82e50bb228edcf5d6e3fc4601002d61a9f1f069c0ef5ff21ccfffe625
+DIST gentoo-kernel-6.18.2-1.arm64.gpkg.tar 434554880 BLAKE2B 
7ef2af95ad84e5070651c4dc1049ab18968b8470498bf35c23ba728a4fa4c86233aa3bf42f59baf9a8554caff50263ddfd1753b272f4416c724b897cdbef344a
 SHA512 
a1e00c6fc901c87203c44171bdbb0fbfa6241f5e5ce344e8b019a09268192de7da9e4321dfe724f03d058c662f6b366f728627e78ef1c7add721e79ac1366b6f
+DIST gentoo-kernel-6.18.2-1.ppc64le.gpkg.tar 77086720 BLAKE2B 
15a47d555bc5a2fa9ecb38d2542b2426ff024409ce2ecda02b924c2692e3765c930b34c05856642a98daa4b02f1ec08712e75d5d19ed6b374c09ea094ab100bc
 SHA512 
d7eac06342680dc664df0b556ea9704d811d11b6333b5677eef756f78bfba792328048571e8109a37647a2512889ed7ac4e7661fd5ee499630abe49a668be8de
+DIST gentoo-kernel-6.18.2-1.x86.gpkg.tar 83425280 BLAKE2B 
bbfef86d740fd2e23241e5013c74a134cb68893e4179a4418d9ceadbed90e4969dcea8cd1fc2db6777187faa82d04f3117d20d1171a729219f5f9d9ef8656b13
 SHA512 
96d36b775f75df95cc54ad8b17948b7712f25e277323923af9bf31a347410585f65d99f126189238d8d00900f552cb9e366d22d1dd43c863ce78d88247f8f817
 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
@@ -95,6 +99,7 @@ DIST linux-6.x-sha256sums-20251201.asc 185934 BLAKE2B 
9667996fe5102de2d0d2267ab6
 DIST linux-6.x-sha256sums-20251202.asc 185934 BLAKE2B 
9667996fe5102de2d0d2267ab6ec96fa91bda2fe4d64fb042d97fb744a5dcc87105bcf9439fa1e1f1f06bce0bdd15d5a2eaeef12886adc11122a62d6a243ddbe
 SHA512 
3d68a4ba8cc407a85e7bfd01145f1b86c7ae94d4771e2afa241c859bc0670388a0b0c40368434f34ac019ddc08a7add188180f7dba40c28ada4ff4be190ea199
 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-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
@@ -104,6 +109,7 @@ DIST linux-gentoo-patches-6.17.10.tar.xz 86940 BLAKE2B 
29eb529f3757a9c3f085674f8
 DIST linux-gentoo-patches-6.17.12.tar.xz 88612 BLAKE2B 
49e1198449905f05653a7f450642abfe063dc8ab152c98fef327e3a507f42e30250201f2f6a9b4c41cef8ee32865246fe2a58a4551474ac43e1d102c5c82f61d
 SHA512 
3b8e59ed698cca14c3f4a8f5f1e172db3ca405fbde1424bc1854d7c8b7cea2b95123b211dbe596140f80095fbdd54650e88c3a4c2fae6504c3e5ade2d8c88571
 DIST linux-gentoo-patches-6.17.2.tar.xz 99184 BLAKE2B 
867bbf3a8cce987dba3381a874985e614187649e5341bc8c43f97e0b501ed4cfc4bce2ee7d8114ce54d75605151c7dbfdea51e9e5da7af3a834b169bb6998eb1
 SHA512 
149946fd38c22ef5a8b198011f4a044d3c00a93635f85b3c0d0f1f4d74faead20355acf3ff0ee55df89361fd48e8270219f52feeae0688b92d090a1c59a20ba8
 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.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
@@ -121,6 +127,7 @@ DIST patch-6.17.11.xz 844648 BLAKE2B 
4adf688aadee196cd4afe94eb05d9e98b0e844d7ee4
 DIST patch-6.17.12.xz 859216 BLAKE2B 
7e3aa001352bcc0369d52cdba5bafab2d72662cdab7fea9f00813cde83aba7dcb45cc8c60c758f47a48a65c2611e054d8d0cbadf607413a338de1f22c9e567bb
 SHA512 
44df56479fc1dbdbb47a633faade3d301c5c6f3fdfbe757480a0f11f8614070257e821cee674205563dbbed2aaa96898da3408492f833bd7d1adc968a03e2776
 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.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.2.ebuild 
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.2.ebuild
new file mode 100644
index 000000000000..3d8e72eda2e1
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.2.ebuild
@@ -0,0 +1,237 @@
+# Copyright 2020-2025 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.2
+BINPKG=${P/-bin}-1
+SHA256SUM_DATE=20251218
+
+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