commit: 4f4591b1b161f1af8b8830b1d383ea58810bf8d0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 14 13:16:15 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 14 13:27:36 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f4591b1
sys-kernel/gentoo-kernel-bin: Bump to 6.12.58
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-kernel/gentoo-kernel-bin/Manifest | 5 +
.../gentoo-kernel-bin-6.12.58.ebuild | 237 +++++++++++++++++++++
2 files changed, 242 insertions(+)
diff --git a/sys-kernel/gentoo-kernel-bin/Manifest
b/sys-kernel/gentoo-kernel-bin/Manifest
index aa4782ba3d11..1f9179861841 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -30,6 +30,10 @@ DIST gentoo-kernel-6.12.57-1.amd64.gpkg.tar 307927040
BLAKE2B 2481928667645fbfbe
DIST gentoo-kernel-6.12.57-1.arm64.gpkg.tar 280463360 BLAKE2B
a04bf9acb5130e832fb492c494b4e2038b78199cedfcb1dcda630b912964a607d34eb84a541ce922d3dc06413061fa23607c57de46bd76b4425904c6302bb4b9
SHA512
4962d345fa430a9137ba782fdd9fb68d518c0019697ccfdd3537acc4026106392b89bb4f25e3d903a80b82687c15350beb8a771d290d5dc503190a93c3a18a1e
DIST gentoo-kernel-6.12.57-1.ppc64le.gpkg.tar 72529920 BLAKE2B
02f31015c2a06f34d0d1965c56b385e60771f92371696817ce243bb0dc7c331bff5c75655399d6831919508fcabff4735c150e54b9791172dcc76bcbba5c16e1
SHA512
c4fe1144f8cf89a001faea1e1a748679e7b58d5fc3a70534573875e318d779a0cb61a78317c8c0812ce8bdf711c172e5e9ce25fbaaccb2661d89d62597a2c068
DIST gentoo-kernel-6.12.57-1.x86.gpkg.tar 77721600 BLAKE2B
240e0817874a631ba171e89cdc864f37776940b8d573036e1ba43f117b038581ea42a929222110f1d4d681aed9baecab265400cd1857477ab444e076dd3230fa
SHA512
647335ccad473bda05d4db0dbd2be74e0803b34a66554112a1238121bcc9d25fa4dea998a4d8a364bd377ee618c513bf5b5a2981394a09d296b15a61a612f500
+DIST gentoo-kernel-6.12.58-1.amd64.gpkg.tar 307886080 BLAKE2B
f73a6b681213d45c888e0f1c6ba890cd88ff645b5c8f28dec5f2dfb81f574d9b6474f3d9269e10ce7621977b64000d14248789a46799251aa965f8aae0433f03
SHA512
f4bde5479540801a4aec3d0ad24bc2f1f96cfaeaa05222aeb52634d506a8615add9cc2d645935b8cca60d8616c2887a428e9d436a046f884790b98326e6004a3
+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.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
@@ -74,6 +78,7 @@ DIST patch-6.1.157.xz 6579568 BLAKE2B
57556c1ebd47576a12155d3b00a5c238d3667a18f9
DIST patch-6.1.158.xz 6613684 BLAKE2B
51ff33497e42b9803545b0d848abc125dfdc439ba152c2c573419a564501890345fa0f958bc8a8433557e605a82707fa8d71410d9390856e13f08677ee9d2329
SHA512
7a43f6d1a601a890e5df90f9ad791292dd3bfb7e8e0baab90b9a0fa84be7c20075cac4738e3fb3ecaecb575952432c04c83a9eecafa2c1f02fab830777c8b24a
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.17.7.xz 443556 BLAKE2B
732800a96e7be442d190a70ff7476a3f21116741338895f24f2f24e5fd8cc7073ef7606cec8b878d9103395ed7a7b0692bdfcbe5f03b978f3c5508b0fa48e758
SHA512
8388e1271e03d99a6edd05169bb44037fa20cd585f632f50da1aa677a5a466feb716dffaa6482bce35d22699abdb3ba9901443869683b520cc84e5ea3f9bfd6f
DIST patch-6.17.8.xz 697436 BLAKE2B
663b9970d6039e00c8e33c8a01696e0d7d3613b4b235c20aa8443e328b262154a5babcd7be8a37eabe2584b40e4360cccec12416d12ea1f34525a684dc8bf190
SHA512
a457f9bb4ec031a3bc4a4286a85794e16e16e81935cf6b69d37f0c48d40a6d138a8ebeb449d5dc27cb4ae57c39a145bedc1a3281da21e4b33e11e81fdf5d3e9c
DIST patch-6.6.113.xz 5000480 BLAKE2B
6f9b360db1f92e80a5faae98ab399aba43f307df6fbc37d106b768aff02b0abea69dd4d20cb3db82ecb7b778ecf769bd49998c0b3a0e00f7e81af4fff49a39c5
SHA512
37622c883ae85ada9ec01852b1b8b40ab8e6533ee1f59b6dc080599cf03eddc77901043ef25dcd3872698fa59029297727c31f83e1891332896c2b597fa2fcb9
diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.58.ebuild
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.58.ebuild
new file mode 100644
index 000000000000..b88a0a3cb661
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.58.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=20251114
+
+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
+}