commit:     c31ff4a4c47318261ba38a72ce3ac4eb6957206b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 28 20:13:30 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 28 20:17:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c31ff4a4

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

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

 sys-kernel/gentoo-kernel-bin/Manifest              |   6 +
 .../gentoo-kernel-bin-6.16.4.ebuild                | 229 +++++++++++++++++++++
 2 files changed, 235 insertions(+)

diff --git a/sys-kernel/gentoo-kernel-bin/Manifest 
b/sys-kernel/gentoo-kernel-bin/Manifest
index 135ba488a89e..cca94cbe0549 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -74,6 +74,10 @@ DIST gentoo-kernel-6.16.3-r1-1.amd64.gpkg.tar 329318400 
BLAKE2B 06f50c62df30242e
 DIST gentoo-kernel-6.16.3-r1-1.arm64.gpkg.tar 292935680 BLAKE2B 
0b8ae8e33d28da745e47abad3a2b9b3d840c8218aef1d0760a76ef15548ef2f273560b8cf75e20e4203ef8beda74477b719c6a21e754603bebe33d583d0819ea
 SHA512 
c7b4b21744b9678ff0e683e4e033a5e07545770e62268253b1e4592a94b0efc2048bac9006ed1d50945b0b04e10a48cd595381d306f82d7311bb7ae3a30c4765
 DIST gentoo-kernel-6.16.3-r1-1.ppc64le.gpkg.tar 76113920 BLAKE2B 
139d979081b51d30d7d9593c3c2df7881b073ddbef2474299125f77edec538ee127f6511d3b73cfa28afb49cef20c7eb4c4298fba2415f5dd312aa64dbb8d431
 SHA512 
1c9e54216bfe4f2df531aa351795e4cf9fed268f6376cc44e2dd94fd7b8600ce885f9e32dc82f0527f6361af5947f4f99337a420fffd67cd0d61a7943f1329d8
 DIST gentoo-kernel-6.16.3-r1-1.x86.gpkg.tar 82708480 BLAKE2B 
cc4e1a3771a0f98a49091f4bd52e43af5387052aad27a65f1131e3c0417f48a202e57d529b7d1867704ca6a175d8278e627025bfa92077709f25c5c2e47c6b18
 SHA512 
2fb54d21cd1bf6cd53da4c6a929049afa9f76e57dcfa9d3c714879545fc4a0a46100b30b6102f1b2e83cfd167ce2740b56eaeb4ed8c0095bd51f3278d411c9de
+DIST gentoo-kernel-6.16.4-1.amd64.gpkg.tar 329318400 BLAKE2B 
fdeb7af107ca33d7cb3f9b3f7b0c53e86d02e3ae1ce08aca076cbb8e47da9765d6bb7d2fd97e6fbfa4907e0174aa72f367b1702066e631af0e882d1cdfdb0218
 SHA512 
45d7544d528e92021b825206d0f7d8be7371cc418d0a1ab6b6a86f718e79f66068060f3561dadacce23c5920927b18a5217e77b1d28a38917b63baa52cc6b2d3
+DIST gentoo-kernel-6.16.4-1.arm64.gpkg.tar 293007360 BLAKE2B 
7436cc363062e4f322162dc52810f16498808fd7450e0ee8c2fa812713638e65520156e4ca09acd3d0776441440db9535e9c27997c09f5bdcc6845547512518b
 SHA512 
4a6556641420757f781f91344691e983315b021a23a7009c7f9f5dd1afbb38d2378739a874c8f597091c024e3887d8b4eb65a3d57791042457bd4ef7baf10263
+DIST gentoo-kernel-6.16.4-1.ppc64le.gpkg.tar 75182080 BLAKE2B 
ae9380c77be6db81d6a3cd7587e6fcd83672a7ef8d1af9fe2783c660c10af6fbb3347dbfb3e4ed731090eb63a10fb9ac5c0f43acae891ad3f35ddca229eb58c6
 SHA512 
567a13dbde39225463eaf657d34dd459f1c36dd09e6fcf76b62d32276bdd190f8924e420c5c86307376fb3de2279b1f51a20f0bee7fc5d13dc9ca71b98deb05e
+DIST gentoo-kernel-6.16.4-1.x86.gpkg.tar 82728960 BLAKE2B 
c4935cfecfa38cbb34af853be376c3a50649c73f9896bbb749879bf807cb34e6cd10d5ae070baa0da20246212cd8baab548a6a3085c5bdaa5cc1c22ad626720c
 SHA512 
92abd4cd809f3cda8c0aeef1a7aa8963c2206c47eb2a5b0908612a47d28c8f0338bde582f3c21aff8fea86a8af8ff461f71b5f14ab57811642050511ecc5ad4e
 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
@@ -118,6 +122,7 @@ DIST linux-gentoo-patches-6.16.1.tar.xz 87724 BLAKE2B 
3137ea2f6b1784ae905d92b470
 DIST linux-gentoo-patches-6.16.2-r1.tar.xz 86056 BLAKE2B 
913a0fae068a4e65abada3c484971483b14ab07117ce9a838cb7e3a7f6cf82cdae57a3d8c072efd2e55901709375421d1a80ed3ad5c51ad0f0e488b0afaa4cc2
 SHA512 
e7f49205866b3bf9941617f3f8c2a03956bd10dd11ecca4a509b439c5d43448e3fc7c2c5d9a3718f341c410dfb24fe3c86a022aac82f7c1ab615710fcbb70b8c
 DIST linux-gentoo-patches-6.16.2.tar.xz 85676 BLAKE2B 
31adfc6ebdfe2412c1576734351a6ff5bc0c1cae86e87f3cfbf555d07e8441c64bd0e31f3760674e931a510a9401935dee46689eeff6f5ee5c28029a889a40cf
 SHA512 
aa74585b4c71202176c851cc2b08569a752da58f5a43c5b1fb3dfd59db8ff016907985d448c51f4163b951a5bc500b81eca647e1b6a7c20ab7287292d4c2a3b8
 DIST linux-gentoo-patches-6.16.3.tar.xz 90080 BLAKE2B 
0fdafabbaf6ebcbb997debdc17b5baec5a7e3154902a9093891e5d839540c55ddcba94ba34af11bbc374badcff67d1e47999bc998e5b21168eb92b332438ea01
 SHA512 
83de7cefae3d9ad9d47ae49db4a8328725b7b44fbd4e854dfad2a33917eace57958e9e25d275c83a5d026c2391b529015ac840e2fa3f3cf13733e570349d25e0
+DIST linux-gentoo-patches-6.16.4.tar.xz 89184 BLAKE2B 
57ee7fcbbc519ff327162163b81f910ff90216b19b066acf7c873f69afdcba99f9d38be7c8998522b3870376441d8b3be5c9de7a12f8464bbaf597e18162a966
 SHA512 
b4c02d84b7023359e0f378459c31a6b0984d743a9415f667824295292f448aae185665c39537ca9fb8bbff3473956dd90419bbf42dce0b9eb3bdd1fa9465a7c5
 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
@@ -136,6 +141,7 @@ DIST patch-6.15.9.xz 730252 BLAKE2B 
277dee1df9517f06060f1f20b9d6000b3ed6acc0805d
 DIST patch-6.16.1.xz 200724 BLAKE2B 
a3c62223057db1bcf8d64b9a918468ef987cbd87c57c16dd098f122b6751e558444d6b5a0da3d993f6aa4820b5c1fb6e3a95fcf27edf618a7457ddb51cf243d2
 SHA512 
50d0ff723368c9e2d94b47d64d91ac22dc041088a41e629f2b90d5bf2ec98a3a0703b6aaf71864cde7c556c81661b9a430956cce378123de4f41028a1bf474e1
 DIST patch-6.16.2.xz 398724 BLAKE2B 
4152a52f0d239585a6bcdfa3f94bd2ca3ee7974dbe21a1deaa88ac58cff52360478f3539c95c1e023909e51b06c57da45536cb843599e8ebc9b05d5c7d91397e
 SHA512 
57b1269cda072d1e43bb22ebeb7cf4e89cd02bdc3c87cf6eea353cd5ccd4c73d37581fb6cdf4dec0e0c6974f16d6c6eec7094710fe129caa3b5cfc108af6b207
 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.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.4.ebuild 
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.16.4.ebuild
new file mode 100644
index 000000000000..0d1a2ea5aab4
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.16.4.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.4
+BINPKG=${P/-bin}-1
+SHA256SUM_DATE=20250828
+
+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