diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest index f6c5365e77709..504053759ec4d 100644 --- a/sys-kernel/gentoo-kernel/Manifest +++ b/sys-kernel/gentoo-kernel/Manifest @@ -62,6 +62,7 @@ DIST patch-5.15.202.xz 7583644 BLAKE2B 9adbe447a5549d2bc70491d8745a9218dc0fd9b7b DIST patch-6.1.163.xz 7059880 BLAKE2B 99f4dc3da7a9a4d088f51cbb577b63dc2a78c9e26f0e3ea5240fb964c97740682a25e401bbb25f135398d75f715fa69a898eba0e595cf550fab3a8496944c892 SHA512 c0385678d1a1bc8c13113cca5cc23f4051c4d7f86f2b00d6b15fde0bf6dcf5bfb6461091bbdac3b3b3732e21e06062647b29125fc03b3fd718c971d91a67c381 DIST patch-6.1.166.xz 7152668 BLAKE2B bfe6cfc463b61dda1c30efce6b51666aa7f0896d4cb3febb3321c033f3a1de145571c98913bc3341c0481b25276dcdb46b27e0b43d6ae6ccff4c7fa7b5a3ae7f SHA512 ce02cf9070cc424ed21f110787373d60b947e49ac457b63be9ac342c11bb9d275cbcf342068118dfb6693dfd243797a74d4dc65bfb4ea8dd22b47faf45cf9446 DIST patch-6.1.167.xz 7256524 BLAKE2B ae94c01444c122bf2ba4ca1b0f3ecce1d4edb2f95f4d8d92bf72500f81bdbe4af81d9e27df06ae9ee0bd36ae9f28af9606d85999adf727dec5225e7f8a817378 SHA512 dc4efac12fe7d0765ef3d21203f39200e3aa4cbb8560624df9d2d43c2b52ded3853158ee797d4775a18e75937d38d04ae199ce27db355248c4499afaf4fe3cd9 +DIST patch-6.1.168.xz 7303464 BLAKE2B d7b290e3c4fb30cdbcacea7dbafcaf922195312b199893671c9caa08e685235208fce2f7c7129fbae8cd78ea57c66195afa15f344f82366f866076e3102a4ca0 SHA512 0a21c78fb7b84624ab3300c411d6c8d711206e7c92bd35ba1b5a2e2bca576349811c783d528191e21d0e43ee21e3ea8c804f6493dc696f1ecef806ea41673c05 DIST patch-6.12.77.xz 4122856 BLAKE2B 3f4be903ad737df00882bb90a0640aacccfa9588d7c407b964897f0c10aeb6d85be5285afe56433d018bb4908cae12b2f1890469db19c3417a9e758bbfea758e SHA512 cd1b18ee8af12f0d18c17f7695cbbd74d78f9ff39cc642319b5c7c22f66ab73c83aaa1cca289004fc88d769af8df37d3664e4447854d0eaa15212d916f79d691 DIST patch-6.12.79.xz 4224224 BLAKE2B fedea64f08e7aa61d47e34d7930c639a1edae0f4973d64c840ae0e85e37cdf7cd338970671dffd139c89b858079383e53ac2e5ac16f298685f1fe332e65f6905 SHA512 27f249af0c31e1fc11a1233ea87ce99ec4d5126ca31850222f00766326554a89c88e5e3ae95e5c6bda985d129ba5d9a8f72bb8fa046e07235e10c59e8a68a189 DIST patch-6.12.80.xz 4282436 BLAKE2B 09415fecf058a7ee198b2f64505491c45631e2b9c07de2414f7435e815a1bbf434d77c8386d943dd4945ca50844dcbcc55821f92fa218ccbfd42485c40ca207f SHA512 d171279c4abe891e85da50207d25d5feaf0df13a4b77d47020e0c64b4923ad9f183597869f39896fe91acfcf93b3eb985f4440d0aeb91cb06d04635f9aa6095b diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.168.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.168.ebuild new file mode 100644 index 0000000000000..4efca96a7e85d --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.168.ebuild @@ -0,0 +1,172 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit kernel-build toolchain-funcs verify-sig + +BASE_P=linux-${PV%.*} +PATCH_PV=${PV%_p*} +PATCHSET=linux-gentoo-patches-6.1.164 +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=6.1.102-gentoo +GENTOO_CONFIG_VER=g17 +SHA256SUM_DATE=20260411 + +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/${BASE_P}.tar.xz + https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/patch-${PATCH_PV}.xz + https://distfiles.gentoo.org/pub/proj/dist-kernel/patchsets/$(ver_cut 1-2)/${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} + ) + 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}/${BASE_P} + +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="debug experimental hardened" +REQUIRED_USE=" + arm? ( savedconfig ) + hppa? ( savedconfig ) + riscv? ( 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 "${BASE_P}.tar.xz patch-${PATCH_PV}.xz" + cd "${WORKDIR}" || die + fi + + default +} + +src_prepare() { + local patch + eapply "${WORKDIR}/patch-${PATCH_PV}" + 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 + + default + + # add Gentoo patchset version + local extraversion=${PV#${PATCH_PV}} + sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || die + + local biendian=false + + # prepare the default config + case ${ARCH} in + arm | hppa | loong | riscv | 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}/${BASE_P}/arch/powerpc/configs/pmac32_defconfig" .config || die + ;; + ppc64) + cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die + biendian=true + ;; + 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 + ) + 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[@]}" +}