diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest index 0337dba36feab..aa81cd75b9987 100644 --- a/sys-kernel/gentoo-kernel/Manifest +++ b/sys-kernel/gentoo-kernel/Manifest @@ -10,6 +10,8 @@ DIST genpatches-6.1-101.base.tar.xz 5248940 BLAKE2B af64a685e905a51004350b263e6d DIST genpatches-6.1-101.extras.tar.xz 4048 BLAKE2B 8664a60521d881f8e80103f2509831e35763c891cd589c907979d49d7af96d699fec7f9e8c3b8bb90bcb442ed2016890769f53d4ff205d76d25521094b24091f SHA512 79276866b12b61d11109c27ea31eca847374a3938c20e4a07ca2a6f63bc62ae0c89a9a96e65227ab123fdc85c171cfa100261444fb9058a30d70b6ce4c175dba DIST genpatches-6.1-102.base.tar.xz 5362424 BLAKE2B 74e978125492fec046201698208fa1e7b28af5fbdd89f2a1225de522313d92b7ae196771f922164e832b73e8c6f0fca498de10147f705a2a484a3a324ad8a198 SHA512 0e5725a4f5bf7aaf5dd24b185ce3037566032f6726cf3b288b490475bc95ff67c9d5d45b5f3ec4fbeebe6d827ff569eeb9ac5f819c8646fa838cb842f5b36091 DIST genpatches-6.1-102.extras.tar.xz 4052 BLAKE2B 9820e9c0f2e7bf2c64f3195c3491596430ba901951aa3e9174e799100310d038a20f8f82f0ece1fa397daa45fb3adaafc84c31d22367065e05fa7b2c0ce26f87 SHA512 2fadc41f696940abc7f7c02851542c42feff71e81910d779bc795ab2969a0885536054396766de2d071d289a372c79608c75286ea2009a774976da826b885901 +DIST genpatches-6.1-103.base.tar.xz 5388276 BLAKE2B 65937527b152c928f416a22f8dd17db2da99a90a0c0e9629f91123eb74b20b9f3679d9a937677e212bcda44ec96a500c1385a91e2de407183e1cb95be7b2e72d SHA512 1fd3c15b85d4da0bbae51038787210345c72364a216f5b7c1aa9e162535c529866fbcb2487ea9eb84de26204de1ea48613107fe83483c47e6b27f36b6bda020c +DIST genpatches-6.1-103.extras.tar.xz 4044 BLAKE2B 72b5b73ab28b4b138cbc00cd04a2ea28763b1e95b8fda754c15fb8de5c23f091d536152f71811f165117bb670962b94ee22ef236282cb3f8a47157ee316366c5 SHA512 6cac58d98e3e6590b708b1a506e9e6a7b3bce9a83dd0915f95468e657e066f68d778c8953a574a3e8e9b175f6605b7f982e0235af99437059d282fb26d79a1f9 DIST genpatches-6.6-39.base.tar.xz 2117476 BLAKE2B ffc2263d43bf5e87e3a57c0370f1cd1ecfac87ddaaee1ed3213f36bedbe4441ecfb062abebd1312572971e9cc9e5a0e8d3e16c7af98862b087906d61fb4e1e10 SHA512 6db496702e671459f3b054ce7068bfa48fc3b2be6bd3cbc3b158f7d4e0a2fa2310b875e46d233adea870775358e6e9b4f19fe8940d146575df9a41bfafeb1ded DIST genpatches-6.6-39.extras.tar.xz 4048 BLAKE2B ee5b09ec6303feb32fcd38a500900d6c96922a7a4032bea83202d25f914f2bb55d8e2e8e8d3b34911d0cc6755dde1e4382365f7351ccffe9901a0f6f671554c1 SHA512 d73671c60a9b57de492432eac1eac98178e1e3cd6fc2b68f4aaa24e6dc0fa4345a91633bd400f78a982e288033c69e0d28abbffc90ac2bdddb3430d2ab3bae91 DIST genpatches-6.6-40.base.tar.xz 2364536 BLAKE2B 53bf04c020921c8d0c2e7ff8466db4cf5078ac8985e95b5b94c5fe9e824747d66344acd5d8675c42364704dc34268cd636fe10bcb02b657cac889ea8d0b4ae48 SHA512 c5852fc2db474fcf697818cec947cfcce0dcff834c57c042c42321889839d94c26d1994dfc275e64e0acba3055c90f0f0cc4e2a07c80a71a71f3ba99f6093401 diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.94.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.94.ebuild new file mode 100644 index 0000000000000..05e46adc1bdab --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.94.ebuild @@ -0,0 +1,146 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit kernel-build toolchain-funcs + +MY_P=linux-${PV%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 9 )) +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=6.1.7-gentoo +GENTOO_CONFIG_VER=g13 + +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://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz + https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz + https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz + -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz + 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}/${MY_P} + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="debug hardened" +REQUIRED_USE=" + arm? ( savedconfig ) + hppa? ( savedconfig ) + riscv? ( savedconfig ) + sparc? ( savedconfig ) +" + +RDEPEND=" + !sys-kernel/gentoo-kernel-bin:${SLOT} +" +BDEPEND=" + debug? ( dev-util/pahole ) +" +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 +" + +src_prepare() { + local PATCHES=( + # meh, genpatches have no directory + "${WORKDIR}"/*.patch + ) + default + + local biendian=false + + # prepare the default config + case ${ARCH} in + amd64) + cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die + ;; + arm) + return + ;; + arm64) + cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die + biendian=true + ;; + hppa) + return + ;; + 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) + return + ;; + sparc) + return + ;; + 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 + + kernel-build_merge_configs "${merge_configs[@]}" +}