From dbbbb81de566b625aeffb145ff872efb62e37e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sun, 6 Jul 2025 16:04:02 +0200 Subject: [PATCH] sys-kernel/gentoo-kernel: Bump to 6.12.36 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- sys-kernel/gentoo-kernel/Manifest | 3 + .../gentoo-kernel-6.12.36.ebuild | 177 ++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 sys-kernel/gentoo-kernel/gentoo-kernel-6.12.36.ebuild diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest index aa441cf1931be..ea152e9965648 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 0000000000000..9dcb74a2aa4c2 --- /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[@]}" +}