commit:     dbbbb81de566b625aeffb145ff872efb62e37e06
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  6 14:04:02 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul  6 17:49:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbbbb81d

sys-kernel/gentoo-kernel: Bump to 6.12.36

Use upstream patch + own dist-kernel patchset instead of genpatches.
This reduces effective patch size, makes applying faster, enables
verify-sig (using sha256sums) and makes it possible to bump dist-kernels
independently of sys-kernel/gentoo-sources.

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

 sys-kernel/gentoo-kernel/Manifest                  |   3 +
 .../gentoo-kernel/gentoo-kernel-6.12.36.ebuild     | 177 +++++++++++++++++++++
 2 files changed, 180 insertions(+)

diff --git a/sys-kernel/gentoo-kernel/Manifest 
b/sys-kernel/gentoo-kernel/Manifest
index aa441cf1931b..ea152e996564 100644
--- a/sys-kernel/gentoo-kernel/Manifest
+++ b/sys-kernel/gentoo-kernel/Manifest
@@ -41,6 +41,7 @@ DIST kernel-ppc64le-fedora.config.6.1.102-gentoo 218278 
BLAKE2B f4dda4430e9801c4
 DIST kernel-ppc64le-fedora.config.6.12.8-gentoo 241851 BLAKE2B 
e7b8833572348037d7af2ba1f9671e8010276d853e0d85b8a175c0dcc5c212c57c7660be54a7ba2621c427cc8120acbeb1063a1c1a1c293894ebe1d63921b684
 SHA512 
7a81fe1c4b1d4fb9f2d68846882a8869c0888c8fa764ec41f41d27e61b7a69825ea8ceba2209b40deb7c0e8f4bb2c5d81226a4f28e7ca8aff4788bc7a3292194
 DIST kernel-ppc64le-fedora.config.6.15.3-gentoo 245534 BLAKE2B 
83c0865e7c813b67df376de3965686787c4ccfaa9be0888cf8bed67bee6efb2003b6cd0111f6debde9ef510d29c5550e6211c1eb9f1dc8f5d85d822ea0af2e15
 SHA512 
f98cf1b9eda96e5238a27cd7ff284c1d8515955faa4e53e38cfe8eb09e091a7e43fac132b8439398d6bee8b2a1b1fc2e80058aad63ae0248842d2f9223239d3f
 DIST kernel-ppc64le-fedora.config.6.6.12-gentoo 232147 BLAKE2B 
d67c2ab2d089ecdde3879129d2b1f85a592adae811ed053d00d4ff120e6bb44546bb41d74817be558adb1d669d06f3dd50e6ea542c8a9c2f13672f77f4e4eed5
 SHA512 
b130b4c57959c0f7be983334b08354640d5e2946bfdd956d6c5b895f816f6177d5fa4bb1c4382cca5c4dd4723aac42e9e89a002b71d86f4eb30f755008f8f9af
+DIST kernel-riscv64-fedora.config.6.12.8-gentoo 245234 BLAKE2B 
802218a7610177426b813a715ae9b94e7ca2f2d8d9f08124208a8cd122f1a7e3ed5b1cd8a7e227a21a5cb7341554640fac321cb690fecbe9de78e7d8929b5847
 SHA512 
cc06482e7c08704fbe92d0f1c0e2f7c7469953119ddf43c0bf6a4f2fde55d0ad8b6b326bfa3ba8f01c528fc94ee14d889f93427db02a97ac8a26e8b9a0ebcf91
 DIST kernel-riscv64-fedora.config.6.15.3-gentoo 249691 BLAKE2B 
f0923c6bc802d2a8abbcd43593e95a52007263862fb2a08ec31b567f48d3b539fa2f6eba42dce0873f1b06bacb9db9b750c2586715503716d33fc6e3f0218bc8
 SHA512 
16b9cd14f84b0b4b0b18f458c4bd7a440b84d52702e1f0df1ee9fbe43527978026615b9eadae908cae8bd4cbf914621906389eff9daa9d023ae0b649d67851ae
 DIST kernel-x86_64-fedora.config.5.10.12 206357 BLAKE2B 
0eda9d4f3f973336cabd67c1ac78f100aabde926354743e8dcb7ff84496f0de49210d45f99bc850a2096078b0b4687aa7fd965d999248559506004f2b29dac0c
 SHA512 
b12f43d3c1a52a4915cd73db98874ce9ae6c425672c0f1c19ed1b1101341c868ebf1c9620bef5449752ec0d7342c1ce38fb77779d0f89b9267096a605ebf7a26
 DIST kernel-x86_64-fedora.config.6.1.102-gentoo 228685 BLAKE2B 
e68236ccc1d51b2aff850eda9f3197b7ea95b8a88716bc7b07dad30348a86fdbb99a948060300dddae73ca82267d851d357f1c9547a9dcefae1364deebdbd124
 SHA512 
42bec2ddb9cf7eb6e84bbdeb23eb98dc11c9cea41f6134b776010c6b36833b520a290f0ef0145379de15c7f7834398fa5e3aaabd7258d7d4e89567faa09eeb4c
@@ -54,5 +55,7 @@ DIST linux-6.12.tar.xz 147906904 BLAKE2B 
b2ec2fc69218cacabbbe49f78384a5d259ca581
 DIST linux-6.15.tar.xz 151168812 BLAKE2B 
465596c6dc053ff3a3966302a906d3edb4f7ee1ef82f8c20b96360196d3414f5b1deeafa67b8340fcdecd3617280ba9b756d7073ad15c707865e256397b4af53
 SHA512 
d03788ffa8d8ae1b84ef1286bb44a08fc01432e509dfec6cccae5c5a5a47201d378aec2bcd21e6f0bbd1e625b26f47780c06ee9c1cef3775358f98b160923f30
 DIST linux-6.6.tar.xz 140064536 BLAKE2B 
5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2
 SHA512 
458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35
 DIST linux-6.x-sha256sums-20250706.asc 154698 BLAKE2B 
8c9f6fce58842bff04a7e67bfa4c526aa4f96e330eb1f340eb4a27255c7c3755143c3bde4b4d4e1a62a73c750bd940ef69902c0da37c8a0a308843bc978dc06d
 SHA512 
4798b646ed4982fb2024f06f346cf0eed66c94dd1ca1972171101b6848a476b85b9deb5937421b643fc760171a246e348b5fb0809317be82f849be4db81fa8eb
+DIST linux-gentoo-patches-6.12.36.tar.xz 17848 BLAKE2B 
b1257367ba4d02ef5f1bce8846368badd80e27f3eef8bd0c6f906478e0316b29be4b0b8ecafc550cffa82fef78c656672faf74682edb8d6ef92e80ac5e0d8c20
 SHA512 
c84797f87077964699edb5b7e34682b99d6fa4278d177385a6d78f7de409ec46eeaf40917443003f7bf5453fbfe608e28cbb05553c27656a0267e6421988790c
 DIST linux-gentoo-patches-6.15.5.tar.xz 83692 BLAKE2B 
0b0831734f25b00a3523592439625342d12b0361b56e4d8243f94c045a27eeedbc02086032f01240d26807721d55d8a4011513b5610d1bf4889e35b7ac171afb
 SHA512 
876750fbfb36f75ddb69026563a2d43310e116c567491a5428da30383a38d9384b97455c7ea61a1faa949b44dd22f402262c63a3701568ef3f8ab2d5f67f6c0f
+DIST patch-6.12.36.xz 2388056 BLAKE2B 
9912220c0126fda1c35446d57376ccca45f12dc894a277feccd181e7bf59cdcdf88e6c5c9276c0e4e7f54cadd17b155a3b1aa77f084a58e1043da9d57b768498
 SHA512 
4e469962c9516d7614816d9905895b1d249942a77d800506dba2ef0bb5dd56123e72e5e08a2b8396ece9d672b3a16a52b9d8e3af370c631197f0ed85d5d8675f
 DIST patch-6.15.5.xz 538604 BLAKE2B 
3771e14cb95010a9e553191af6888fa26dd5f1084c16a1df3aad97ed2a03de97cf1af8562a1b7c0d1977dfba1f3973e03079278b72943ac104c4208e1eeed315
 SHA512 
ff35f126fc24cd9fc2ba7dafb10e2c4dc4643a2165893d6dd07ce0ab49bf33d4b67ab33b32875b74371749b5e6f93a061114c9837bdb48203d50b5ec55db5a65

diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.12.36.ebuild 
b/sys-kernel/gentoo-kernel/gentoo-kernel-6.12.36.ebuild
new file mode 100644
index 000000000000..9dcb74a2aa4c
--- /dev/null
+++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.12.36.ebuild
@@ -0,0 +1,177 @@
+# 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-build toolchain-funcs verify-sig
+
+MY_P=linux-${PV%.*}
+PATCHSET=linux-gentoo-patches-${PV}
+# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
+# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo
+CONFIG_VER=6.12.8-gentoo
+GENTOO_CONFIG_VER=g16
+SHA256SUM_DATE=20250706
+
+DESCRIPTION="Linux kernel built 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/${MY_P}.tar.xz
+       https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/patch-${PV}.xz
+       https://dev.gentoo.org/~mgorny/dist/linux/${PATCHSET}.tar.xz
+       
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
+               -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
+       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://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
+                       -> kernel-x86_64-fedora.config.${CONFIG_VER}
+       )
+       arm64? (
+               
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config
+                       -> kernel-aarch64-fedora.config.${CONFIG_VER}
+       )
+       ppc64? (
+               
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config
+                       -> kernel-ppc64le-fedora.config.${CONFIG_VER}
+       )
+       riscv? (
+               
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-riscv64-fedora.config
+                       -> kernel-riscv64-fedora.config.${CONFIG_VER}
+       )
+       x86? (
+               
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config
+                       -> kernel-i686-fedora.config.${CONFIG_VER}
+       )
+"
+S=${WORKDIR}/${MY_P}
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="debug experimental hardened"
+REQUIRED_USE="
+       arm? ( savedconfig )
+       hppa? ( savedconfig )
+       sparc? ( savedconfig )
+"
+
+RDEPEND="
+       !sys-kernel/gentoo-kernel-bin:${SLOT}
+"
+BDEPEND="
+       debug? ( dev-util/pahole )
+       verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 )
+"
+PDEPEND="
+       >=virtual/dist-kernel-${PV}
+"
+
+QA_FLAGS_IGNORED="
+       usr/src/linux-.*/scripts/gcc-plugins/.*.so
+       usr/src/linux-.*/vmlinux
+       usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg
+"
+
+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 "${MY_P}.tar.xz patch-${PV}.xz"
+               cd "${WORKDIR}" || die
+       fi
+
+       default
+}
+
+src_prepare() {
+       default
+       eapply "${WORKDIR}/patch-${PV}"
+
+       local patch
+       for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do
+               eapply "${patch}"
+               # non-experimental patches always finish with Gentoo Kconfig
+               # when ! use experimental, stop applying after it
+               if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]] 
&&
+                       ! use experimental
+               then
+                       break
+               fi
+       done
+
+       local biendian=false
+
+       # prepare the default config
+       case ${ARCH} in
+               arm | hppa | loong | sparc)
+                       > .config || die
+               ;;
+               amd64)
+                       cp 
"${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
+                       ;;
+               arm64)
+                       cp 
"${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
+                       biendian=true
+                       ;;
+               ppc)
+                       # assume powermac/powerbook defconfig
+                       # we still package.use.force savedconfig
+                       cp 
"${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
+                       ;;
+               ppc64)
+                       cp 
"${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
+                       biendian=true
+                       ;;
+               riscv)
+                       cp 
"${DISTDIR}/kernel-riscv64-fedora.config.${CONFIG_VER}" .config || die
+                       ;;
+               x86)
+                       cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" 
.config || die
+                       ;;
+               *)
+                       die "Unsupported arch ${ARCH}"
+                       ;;
+       esac
+
+       local myversion="-gentoo-dist"
+       use hardened && myversion+="-hardened"
+       echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || 
die
+       local 
dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
+
+       local merge_configs=(
+               "${T}"/version.config
+               "${dist_conf_path}"/base.config
+               "${dist_conf_path}"/6.12+.config
+       )
+       use debug || merge_configs+=(
+               "${dist_conf_path}"/no-debug.config
+       )
+       if use hardened; then
+               merge_configs+=( "${dist_conf_path}"/hardened-base.config )
+
+               tc-is-gcc && merge_configs+=( 
"${dist_conf_path}"/hardened-gcc-plugins.config )
+
+               if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
+                       merge_configs+=( 
"${dist_conf_path}/hardened-${ARCH}.config" )
+               fi
+       fi
+
+       # this covers ppc64 and aarch64_be only for now
+       if [[ ${biendian} == true && $(tc-endian) == big ]]; then
+               merge_configs+=( "${dist_conf_path}/big-endian.config" )
+       fi
+
+       use secureboot && merge_configs+=( 
"${dist_conf_path}/secureboot.config" )
+
+       kernel-build_merge_configs "${merge_configs[@]}"
+}

Reply via email to