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
+}