commit:     deae30228e3c563e62d930d98240b8bf7c120997
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  9 20:03:30 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep  9 20:18:37 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deae3022

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

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

 sys-kernel/gentoo-kernel-bin/Manifest              |   7 +
 .../gentoo-kernel-bin-6.16.6.ebuild                | 229 +++++++++++++++++++++
 2 files changed, 236 insertions(+)

diff --git a/sys-kernel/gentoo-kernel-bin/Manifest 
b/sys-kernel/gentoo-kernel-bin/Manifest
index b6b547a3f666..0853f20d1902 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -86,6 +86,10 @@ DIST gentoo-kernel-6.16.5_p1-1.amd64.gpkg.tar 329390080 
BLAKE2B 159edc9498691b2e
 DIST gentoo-kernel-6.16.5_p1-1.arm64.gpkg.tar 293038080 BLAKE2B 
d53d6d3a81c39f28a020f661f31402b715cca77e993193d81bc908a034d8786b9c772f48ded1779b1e890f5001046cfc2a39ca763f8e6b30492ffa7f5c216cd0
 SHA512 
e4e8e3fc793dd81ea76a8c8a35c9b14ebe4366d7b5d2ee0cc16efe63176bed2d3fa5ab51e867bb4f104602746173f5994ffa36023e470ec5e53d1f908ff1470e
 DIST gentoo-kernel-6.16.5_p1-1.ppc64le.gpkg.tar 75120640 BLAKE2B 
a2ea763b7c2a8068f45088ec568f05b769fca1526546f317833943dca6ffb4966cdd2127bec42e2d0ccd2a58cbb609238cc825c449b626d5cb5fa27c672e917b
 SHA512 
f9e3a6dc1930a4b384fd0e8c281b3315b2637a3fdc01f3531b1ccc69db9d31db9c501c63ec7e9c43fa77405fa99ff41ad3b1de4a57f25d71e8f445229f9b4cb6
 DIST gentoo-kernel-6.16.5_p1-1.x86.gpkg.tar 82708480 BLAKE2B 
65f5ac56c5aa5c03c2721b73a3b93bbb1f1a60cf4c70db174d0c91032083f0b235708680646b3e738c33b14fba41a446cfcdf11eb521dffba6a1438de28abcfb
 SHA512 
95a2b22ded62b9258f88ae3c0d63fa99ba4ae1c33889ef32b2cfacea309ef10c92327ee6c4ef49af1f4e325a979d04550a5802c520bedce900767987fa3be95f
+DIST gentoo-kernel-6.16.6-1.amd64.gpkg.tar 329390080 BLAKE2B 
1f9e9f738b4cd3537fb6382efccf5068c7683449e1ff6bc947372ad1c41ca3aec1632bae09c6c182db71417f92abd0d8426c0bafcb1d17aa4fa6d2affcf0dcd2
 SHA512 
10bbe94a62bd82591dcb3b6b8d29cca7a06cf2cdef805abab31b1ee665928d0051dd1920ef262b62dfe3b315889656abb968e6c627dbb03a68ac805231e971ef
+DIST gentoo-kernel-6.16.6-1.arm64.gpkg.tar 293027840 BLAKE2B 
95829cfd2e34875a243ea5e14c6f319ac38e541da0318ae02531a86d8806abc0041c0147a92cf45b0662247eb855a44c4527c9176f18ef41558291c23142edd3
 SHA512 
48f5091fb8b586c457c6cdfcb0e284004c879cd4d76282c65e9445aef9f62d758b879fba7c7fefb620fbc88397f4dc957931032511561ec77f6c9bcb071fd2cb
+DIST gentoo-kernel-6.16.6-1.ppc64le.gpkg.tar 75120640 BLAKE2B 
75b507dd9760edc8a1e53be9ab2c2a8f16b90f2af67a0c20a2a6def3eac865adf88e876ad018560b794770e5ed47f56a8853bcf11fb9928caaadb8e93545c223
 SHA512 
79ce952e61a1ef8e9e493c3ffd0da8411df7d01ac16e4a7deb840f18de86580c1dd37264189d5807569b16f3be5653850ad6aefe8086338824c9c962e7bb7335
+DIST gentoo-kernel-6.16.6-1.x86.gpkg.tar 82718720 BLAKE2B 
94980bbfa5ea01cf2c2ebf5e4ddd850499d4adbc8c787e5d57f7b365b453a2ae0c85dc839343105fa62f78f82396541bc9549474ba821f19d98df9e6478ccbac
 SHA512 
cfc3eee7cc3c430ded5d78565074889f73e6206250ffd7874495e81275b5a2659b0016bd0ed61ce8d1f5a15638418e1ff8edd6659802be58c77650602924b4b7
 DIST gentoo-kernel-6.6.101-1.amd64.gpkg.tar 273172480 BLAKE2B 
b1da6a7d2b4d33c3749f346567de2bba79f3dca4dc41ccab10f3dd774b9f922bbef89b72b6c38d3b0b6cce78c5a881946ea2b5ad5275bd13f7db505c8bdcd25a
 SHA512 
a0acff8292b01ae82a7fa7dfb77dd7d6b5cfb7b40f2caa990d3c5e02e4bfcf7adfedc4a4684805d86fcd8a31cd76083d586876b60f54b0b42ce9f89795614e9f
 DIST gentoo-kernel-6.6.101-1.arm64.gpkg.tar 246476800 BLAKE2B 
5637dd5fc471f46b3b418603db313f4d4c986affb4b0692a5bea2bf95067dc24a9bb379ea04298435723fc852cb1d1354833c5e4a98d44c9d14be0cd83d0ee49
 SHA512 
575f81218c8e91ca9296ef8d8fa318c0427a779e90800d080db5b65edb0bce32cb675fef37786e526a0848d3cd8bf329b7df874612db7285972a1324e2880367
 DIST gentoo-kernel-6.6.101-1.ppc64le.gpkg.tar 64481280 BLAKE2B 
d6396e594d7610f07e4db1e6061d0e58fab52be5684585a8286d09499f8782c98a86d9736da2760730e464de528448973c2f56969ee43d1db90e2e85a26fcc43
 SHA512 
e74d256f61042c157bbae7e345e1bdaafb7f4d81e8a931b665bb3528a0371e5edcb5092dcd70981c9860fca0771b7b35a884f5912529531fb3ce571b1531942a
@@ -122,6 +126,7 @@ DIST linux-6.x-sha256sums-20250820.asc 163857 BLAKE2B 
f4a8b55e798922b4e20eb1cd46
 DIST linux-6.x-sha256sums-20250823.asc 164194 BLAKE2B 
7bf74d594d5bf818793b8a93f5d5a2119b16f5ab2c79cf313febf7eb9eb6094aef0c1b63ee1d9b983097dde381301125f85c8b37da967da2f69a772055afd0d5
 SHA512 
659016ae12304fec75b3ab398733da73753523974aa2f765a222352ce226ddc411a23f4cb6c502ca9d97d28a8277ac9b19a2ee59d3a84c5f53b22c1db6c617ae
 DIST linux-6.x-sha256sums-20250828.asc 165554 BLAKE2B 
aaa421cca8c38daec94e7aacf5d4196671f527a933367104959da3b5013192087eebfc730026b451e6f18da922743da065452533b7cad6d5574e1a4a15eaac1e
 SHA512 
737c067789ea1f1f6bdc4ace4e7ae026f20020bcd74906e909fdbbc5cca92c716e059b942fb1e27593f5745936307c6cdda5ae237720f22b131a5c76814b6bd8
 DIST linux-6.x-sha256sums-20250904.asc 166914 BLAKE2B 
6237094e716a4a6bd7c4396bc3b4d1e5c5207581cf051a62a472260e15a707684db25f78b6092bbe4b5eb300dc2faf38338c93a1200ab2035e75c57fc8cc89f6
 SHA512 
32af3425faeae7c21d8c57ab7bf9018470ab5764acdcd0ca958d5ce2b6563f2b38c72a56aab63e04d6c423f94d191cea9abea7a00aa3db0c816d597ea15d6016
+DIST linux-6.x-sha256sums-20250909.asc 168274 BLAKE2B 
e01a10e2b5273a69a18fe62707ae1f2a0626da8aa195e19e3149490ac80429a2105f87f837969dc6001cfb661174ad5d01ec87f8e0ce382164100e3e2bafd17e
 SHA512 
434075ae13dcb1a78274429695bbf799c2a35eaf36d067952ddbf9e134b86ed4a08b0b80cc45b2a38f73f881ae72e8fed7f5479be9f82af40963e59bb0837a95
 DIST linux-gentoo-patches-5.10.240.tar.xz 19396 BLAKE2B 
f61ba4218c2fb65f3e67b7c3480936fdf00edf8e278554d5aae81ce7ac71c8f8c83f7b71dbbd679ac2305004c847b0a11670b59b137fb11cf77c4d0849ddfcf8
 SHA512 
3368213c927b3d672490d0af3653dcc8d8784ea165d70a6eaf3fdacb936637a67a07de4b3a06a06eeb42109a083bbf82c3a5a03b1f98a2d240039de6ff704d7c
 DIST linux-gentoo-patches-5.10.241-r2.tar.xz 23680 BLAKE2B 
eb45c2920811c4afbcf6354e3e9724f3ef6e9e26eb2d4682b45e0e7d81fbb88e0d26517d556b05df6f01e7e90e4f0f11238b9fbd84e9ad5bde85ab375c9febaa
 SHA512 
74290ffdf7fdc926f804009dddfc71ffad5b90bf8cfdb1912d851d7ef0e4dd49856517c13a1236e3566f2a1cafe5d091f736406d5112e625672c0a6c952e4363
 DIST linux-gentoo-patches-5.10.241.tar.xz 21004 BLAKE2B 
80efb313e1581e8a086bb20d1f30f59ea7982dc0fc3140974182a3802a49a00fae266222c08d3cb34eda7e315ef429bed25f145959c084843c58fdddfa68a2e9
 SHA512 
3a1b24d2fe5f3130e88abda428638d31adf6617332fe3baa7dfe6425d146e7607e5f8b571f406f0370acaf779cdd45f57af964bd955a3b5d5622d792527a5de0
@@ -138,6 +143,7 @@ DIST linux-gentoo-patches-6.16.3.tar.xz 90080 BLAKE2B 
0fdafabbaf6ebcbb997debdc17
 DIST linux-gentoo-patches-6.16.4.tar.xz 89184 BLAKE2B 
57ee7fcbbc519ff327162163b81f910ff90216b19b066acf7c873f69afdcba99f9d38be7c8998522b3870376441d8b3be5c9de7a12f8464bbaf597e18162a966
 SHA512 
b4c02d84b7023359e0f378459c31a6b0984d743a9415f667824295292f448aae185665c39537ca9fb8bbff3473956dd90419bbf42dce0b9eb3bdd1fa9465a7c5
 DIST linux-gentoo-patches-6.16.5.tar.xz 88704 BLAKE2B 
38096552b25e4366ae4b4086b6777e468a52b846d4d9483aa42dadfd49e1d9c3e8a1d00f89a4e3018b7ccb9885b71aa3361a5c5e2c3d1baa2d0ae8ef5f14a263
 SHA512 
d5905c4e68cea8199f297186fc8174bb80dfd5354f534eb96f0d4c8757bcf7c8108964df54dbf035cb9f6d1336d195be527b57b85701ee121f51ac3826b7eb66
 DIST linux-gentoo-patches-6.16.5_p1.tar.xz 89012 BLAKE2B 
fe430dd2ef953ac1e341748b028df42ae1ae370e46d65069a9f463886fa9906800364538b00695a9169443f2e75063dbc9e339c76780c5d343ed7b9e655c7796
 SHA512 
a2e6519b27cfa817585af2cd92b8be0e72227f0ae3ce63550caca341a995ffa21fe69ab4b1b23f7220810e4ba4c54b5ac57d648f107e93598dae2a2ea340c04e
+DIST linux-gentoo-patches-6.16.6.tar.xz 86164 BLAKE2B 
a8d0590281c9e10008558979d3018fa5582ce052b8fbeda56b11115ae38ad3a8b3e5059513da86e89b2e8c1b4ac7525b3ce0260e3a25fbd0ac825b80edf697fa
 SHA512 
799014df1f30fb9ccffcb6620611e6e11a94d9917d9ae7905e3647b0f1cb6699276c29d37efcf258465ca05819c3a457f334ef339761a2543c494f148b50eca0
 DIST linux-gentoo-patches-6.6.100.tar.xz 42828 BLAKE2B 
e9d17c21e5355919e30e1a93178d3977d6ca1bf964ba18b601518616f31e098d65cb5008003fb6c8e1a8a5cc3ed803eaef3e1c9af5f1a895d230f172412b1283
 SHA512 
95c2790a5ebcca9f2b9e1ff098be0bcb9ef60f134a0f955995f27c020cff0d6831fc1af7c159b0bb918d3e3eba351f9428458d6e6964e9e751bd85afd47f7a2b
 DIST linux-gentoo-patches-6.6.102.tar.xz 43900 BLAKE2B 
119b27bfae8914cc13dcc64203bf4c6f57a6f4713eb84a19980a17be0a121658b5ed4d7ac93ba94e60adf4bc1134c7c1f174b6ade123ece292ef39911afb74f6
 SHA512 
a5606b750c6018655c7bf6357805afab65e08eb8a9c429cec927b1d79ee6a0ec9faf4734445ff261870953d247920f2bdb5cf199e937a8e272062f6609adad4d
 DIST patch-5.10.240.xz 6786568 BLAKE2B 
1cb287b2c99bb403585cad3500a2de0819db40ea62a72d276c2b53d8637915cfc0350051bfdfc99cbb56a4e839331b7e11cbb2abdf6768a683d44e798ee5862d
 SHA512 
91f059de27701a33e5c4d40f2d3e982dc60d9dc14fa8cb6a0bbd49e4452195715f0093a563e3a1db1efa37b3a1e09e74b0a6d53f77357757ffd29374abcead19
@@ -158,6 +164,7 @@ DIST patch-6.12.45.xz 2853180 BLAKE2B 
3d07c28085584c1e684680cf59b023293a604dd5e2
 DIST patch-6.16.3.xz 404136 BLAKE2B 
3b33459a827feb8c31bdc5ef80e0a16d80c8555c8f6482aee2d4965cdf4072f172704498ff9bbc29a20a71400338a001e0fc23ed53691164012120c9200e32ef
 SHA512 
b4ca71e98add9b84a0f3aad3fdc994d225bf051d033290ebbfde208eb8044d5904278871863a3ffe927b6f2b45a82284dfb036b0198bc8d120530a64b4b6844d
 DIST patch-6.16.4.xz 541776 BLAKE2B 
f343d8d03d5b09e06fbf906df7ac6175726c5cef8f2b9db2f31f509785d5d6e2a4d6b5573e8f6cce818e08e6a21da19320e2af3b43207fbd549a738ac2455f33
 SHA512 
b71b17fdc8f25e4e4e05b364c31a66502a3e00e6e3d66808f9726098f1f2e315e3666aa69c6f164a6cf8f1c2c4359fcd620b0dd624a98d007da4bd34310b03f1
 DIST patch-6.16.5.xz 593096 BLAKE2B 
d31bf76e05249e8414b1df045eff96015b6b47b38aa36745fdca1ea3f5f2c6d552cb1a7eb9d57c3234d3ec069333cab5e0b87619232fc850881188c8f0f48465
 SHA512 
d146208501727047695524cd1e5d6c4b4e008e1d9e354ff49460b972a6dd187f7ce4a6891a7856b4bc31ead63299523253d8b03c6134c4a09373decee74a7e66
+DIST patch-6.16.6.xz 645248 BLAKE2B 
0820eda5a99cf3ef8938a7b5efa5aa568247528b90d8fc2d6acf64cc656ebbde5a7a65820256aae5513cb6e304a119ba3986d2772829bf46bfecc627471312cf
 SHA512 
497d6208c334c2a0cc6cd9e6743d273b88abac60b534481736e89173f5ef8fc52e1339a017e49bf75a66b23ca91ad9b8a702850b7adf6046a74451db7e02ecac
 DIST patch-6.6.101.xz 4660596 BLAKE2B 
3b02a5a37a67113ec35d647bb13f729fa0b883fa59b004e7b19b401bed374b700ef806f27285c0951c2dc8cd3e0af16ae7d9fc3268b4f5020eafb1d0361aaab8
 SHA512 
bcb5671c660a84f34556210dd525c6b38f3a9cf6c78bbc6b7d936f8efeb3170b27bfbf4a343b0ac94659cc63a35c479e1e158ca35043d5937eebbaf4fd8cadb6
 DIST patch-6.6.102.xz 4713208 BLAKE2B 
8790f52d46e96c3e4ac88e883dd9bb1875abef3ca0a860fbd348bd6f6857465f0da53aae376df60b9a0e22451a2303d2ddcccc407322d3cd0659344a5acd589a
 SHA512 
97bb31a9aa4e417145d951bdd95a7c1138ec13e66e0869362f209be13fb638e09afbbdbed4b0dc01c2550d061bf6526ae4123760d9e00d1a464870329456d958
 DIST patch-6.6.103.xz 4835452 BLAKE2B 
477d10f8cc23326a6c6d195529327546d3addf11436c6696ce4f3b1c8bae1622f04da0abb6cd257126db4fe44408466b94a16400ce8b29b98421297cb0e0f91f
 SHA512 
305eb896563c19b6d9cd9a4faddd7b39b41a651f64dfee017364cd18c962f6e1c1840e8350532d13007afbe5d89bdfb8a982c328586ce1d2e7e3f199836654aa

diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.16.6.ebuild 
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.16.6.ebuild
new file mode 100644
index 000000000000..d67990ef90d9
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.16.6.ebuild
@@ -0,0 +1,229 @@
+# 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.16.6
+BINPKG=${P/-bin}-1
+SHA256SUM_DATE=20250909
+
+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"
+       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