commit:     ec1db7f8ec8dd3aa4fbc1c42ce94ba278d46e673
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 24 19:12:33 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Nov 24 19:12:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec1db7f8

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

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

 sys-kernel/gentoo-kernel-bin/Manifest              |   5 +
 .../gentoo-kernel-bin-6.12.59.ebuild               | 237 +++++++++++++++++++++
 2 files changed, 242 insertions(+)

diff --git a/sys-kernel/gentoo-kernel-bin/Manifest 
b/sys-kernel/gentoo-kernel-bin/Manifest
index f3e8e3180e2c..ca8685793354 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -34,6 +34,10 @@ DIST gentoo-kernel-6.12.58-1.amd64.gpkg.tar 307886080 
BLAKE2B f73a6b681213d45c88
 DIST gentoo-kernel-6.12.58-1.arm64.gpkg.tar 280504320 BLAKE2B 
4316a365c8a7ae3f5c74705c95fd4bb5472eb067a8c737b3d387e7e56b247fb54eb1b7af662a7394383cf73306bd19ecad844d19e1d2543b1045e0256b0057c9
 SHA512 
d553771aec2d71467f81947cdb435f404ebf20071ae32483382162ff43f17f671a7d7a29362771f9c40b6e09454f67a3d214a425cb029c753507224b5a8a8531
 DIST gentoo-kernel-6.12.58-1.ppc64le.gpkg.tar 72519680 BLAKE2B 
8ccfefed04bc53ad1838c6e921c33cd1d1554383cd0a21757199040bac276ffcb7fba692639e233dbf841a39c6c93ca4fc12e9673118baf17f09afcad2b19f0b
 SHA512 
e453003e6af57a6c8e76edd9106b853e25fde0ec536020b7bc2526d91c8307d0d33d724714ccbe14f0d448cd488a82d17dd5e8a7b4cf637931e3535d7ac8ee5a
 DIST gentoo-kernel-6.12.58-1.x86.gpkg.tar 77711360 BLAKE2B 
432255fcdf6d5ce0190b4f570eb5d50193e81d4ed6f2686b3f485a0d70011f4d4943ac62515476d84d48521ea76459e76b2440fd897774e1c00fe208f8487880
 SHA512 
311274123cd6e1d97da9294d5ed0d8dc80c244316b4e9026da5a10f47ddaf3617303afc713888a5eb80bfd5eb832b8fe6ef593740b0280d9f4dc27e483248864
+DIST gentoo-kernel-6.12.59-1.amd64.gpkg.tar 310681600 BLAKE2B 
c0e7bbc4e20daf4e58fe6cef7204cc98ff9cf3fb57bcd58a06ebe1f26d1213ba0a2529103a137091ab5e17207a153f835a9173d62b9eebe7333803b84d5f2760
 SHA512 
5f2c69da901ca3bcbef943cb38a87b75c67193d926d724d1f0967627243ea692600dd987da9c2d0951e8567a343e323790873f2be50e83453a803e69caec8702
+DIST gentoo-kernel-6.12.59-1.arm64.gpkg.tar 280637440 BLAKE2B 
6c31d1fb452ce2bc0b36f582fb8609ff35b8bb2cddbaf801d038bf04e0d00dd9bbcfa7e6889255a973dd65d1bfbbc3acc4966cef86f3fd2a7e1b0feb748586ee
 SHA512 
d72e3ad716b4977f7ecb83ae899676d92bc99b995b758f7f2ace37663e361159d69fda53c94486b29d79df3b14e4b6c83899709da2b8506b6e888ac17540c74b
+DIST gentoo-kernel-6.12.59-1.ppc64le.gpkg.tar 72509440 BLAKE2B 
284411fec04463e12777ecbd8171befceadf362789982f53d2e78d4e42963c7ccb156e0964ad271a7c1ffa19b84ee694eb004aad1234756e98d8ab3ab31ce664
 SHA512 
6a1a34d141d30706d9086fa5ce2eac3fbcdbffed6f33322f1d08ef07bf0a7d56d74d5608d9d4d7de2397d4aa7b69896752f419c2093f059e1f23d91bfccaef56
+DIST gentoo-kernel-6.12.59-1.x86.gpkg.tar 77701120 BLAKE2B 
aa42cd098e66a926eec72cf057257b23a18bb3a5fc9fd30425c24a9547a5c22650f13a2c83cc0752a453c4547d0415a5d3c89c8e17ad397f721f228a5f5ec61e
 SHA512 
515c68cde933ae7a256a06f434e0dc6ae2590540f3d628dd1b14e74542629caf2b4e233f29e77c45bd01254282c1a22ef5929356f7b3dd7677df573f2f685792
 DIST gentoo-kernel-6.17.7-1.amd64.gpkg.tar 334080000 BLAKE2B 
e0be10df1ea77a23ace79715a0fcf1c134464b237fdb61576f0bd7f60e671844257ecf7ac635130e3a034173c552cd7339843cd7cdc659d0da1cad239dd22278
 SHA512 
4ce8b6aaf97252c43310dab946aaed504c9bdf781c4b6e3fc344e229b4fb31d514b975259e0dfaf463fde076abe675dc77608726e4edaa222abed291c30ac803
 DIST gentoo-kernel-6.17.7-1.arm64.gpkg.tar 297369600 BLAKE2B 
069e00864fdf5a53e01088f7fa4f23aee399b94f15747d06b154aace0473681987cea9a128a5c7e1bbe7bd75e698e7f765310abb82444d44aa6769f917f109cc
 SHA512 
64e082a0515aef4d66b7f9699316166ea127fd67c5071eaace80b1636f22c940bde25b8215be5ef1e7eeccf03ddd32603b76183db56206eaa236a94b8111f0ca
 DIST gentoo-kernel-6.17.7-1.ppc64le.gpkg.tar 75560960 BLAKE2B 
2f881e73a96df66be74af22448a7e499e763e8c67df70476adebae61206b335ac883309e94bb42361e9fb325aa020e8233e563e6af0e57d57007549048d750b1
 SHA512 
6f3dca66d87c6c3207be2d8e65b79d2e19678433f6557d45edc179bd52773e715f23c3d0db63021ec8cb9f8dd71c7a7f7fd340f699c1711fb6e5fd07dcff84b1
@@ -84,6 +88,7 @@ DIST patch-6.1.158.xz 6613684 BLAKE2B 
51ff33497e42b9803545b0d848abc125dfdc439ba1
 DIST patch-6.12.54.xz 3096864 BLAKE2B 
f5bff8166a5a45535092614ef9ed1d9e39064fd2762f0d71e852a87437326892c9d25a095ad51eb3b7fdfe266ba5f16d271303b98c4c1c6ed1716cfa09b669bb
 SHA512 
744143218b5258a67f4b00126c72d7630b6e563dd0cc0a9cf685bc38cb48dc217d717053117e72a52fba061b2171a99ef64d992288f75500f069c617d1663b5b
 DIST patch-6.12.57.xz 3166572 BLAKE2B 
d3de49aef49104485236672f0d932a790f81f43d10d3178c4d22dbdc42f2f0bf5e58f74455b1a2f96ff4edb28a68ade510400025eb5da0e3e9d0d0fedb1c0f3e
 SHA512 
32c056e4bdc5ccdaa6d74517f841b5e051197337a3c22a9e1324a7c5ab23ccfa1842403ad4887a31a6a68beee73a5800c92c7fb043a22d49ddc316d6ad909ea5
 DIST patch-6.12.58.xz 3286180 BLAKE2B 
6a96368f7c0db35442897ef811f2601c985e61d87928be77c84dd460dd935cfc0562239ab88341877535a25e84d571fd50641560b2f9b496905c1f22403af183
 SHA512 
dcbe11090c4c2020b05ad3930cad292191608b953676158255679f56075639baf666eed7421f775218d06798dbc99a9816ccf31cdaf6ab09cdc9b022527ed79c
+DIST patch-6.12.59.xz 3325064 BLAKE2B 
9bd2f598b2884592a47fc021966c3c4bf2310d3cf2ccd6c730d4f4186d51676ae7a4363a48f0a0f59bb163ae374de620a0c0a7bfe0fd016f7a5774f7c9d44e19
 SHA512 
a97bba0f85260aedba917b43be968a36e594f9d9b8fea6b6eb7d72f0349e1329f0d9b18ba46d6f183f28d0f644040e1f82f78c3f5fe22b8e15aa49f22046b01d
 DIST patch-6.17.7.xz 443556 BLAKE2B 
732800a96e7be442d190a70ff7476a3f21116741338895f24f2f24e5fd8cc7073ef7606cec8b878d9103395ed7a7b0692bdfcbe5f03b978f3c5508b0fa48e758
 SHA512 
8388e1271e03d99a6edd05169bb44037fa20cd585f632f50da1aa677a5a466feb716dffaa6482bce35d22699abdb3ba9901443869683b520cc84e5ea3f9bfd6f
 DIST patch-6.17.8.xz 697436 BLAKE2B 
663b9970d6039e00c8e33c8a01696e0d7d3613b4b235c20aa8443e328b262154a5babcd7be8a37eabe2584b40e4360cccec12416d12ea1f34525a684dc8bf190
 SHA512 
a457f9bb4ec031a3bc4a4286a85794e16e16e81935cf6b69d37f0c48d40a6d138a8ebeb449d5dc27cb4ae57c39a145bedc1a3281da21e4b33e11e81fdf5d3e9c
 DIST patch-6.17.9.xz 764968 BLAKE2B 
a0ce8311be7c251ad21b7cc11be4f30ec5125e3763f97a750afef855be385a3ceae24df3b65b5dd751729575aa0cd254a95cbae0f2e8cc8f95539dcfa2d9d3a1
 SHA512 
35593bc973cc7f626aa7a41cf8b7dea1b46fe8922bd57194db363d26e8854af514d103e39d02c642c26748bd933d5e402ff89d2a20d2da5f8d901e4713eafc46

diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.59.ebuild 
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.59.ebuild
new file mode 100644
index 000000000000..9c1fb3fb008d
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.59.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.12.52
+BINPKG=${P/-bin}-1
+SHA256SUM_DATE=20251124
+
+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-${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