diff options
Diffstat (limited to 'sys-kernel/gentoo-kernel')
-rw-r--r-- | sys-kernel/gentoo-kernel/Manifest | 10 | ||||
-rw-r--r-- | sys-kernel/gentoo-kernel/files/5.10.47-ppc64-kvm.patch | 56 | ||||
-rw-r--r-- | sys-kernel/gentoo-kernel/gentoo-kernel-5.10.53.ebuild | 105 | ||||
-rw-r--r-- | sys-kernel/gentoo-kernel/gentoo-kernel-5.13.5.ebuild | 105 | ||||
-rw-r--r-- | sys-kernel/gentoo-kernel/gentoo-kernel-5.4.135.ebuild | 97 |
5 files changed, 316 insertions, 57 deletions
diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest index 680ae716a0bd..3f94065a6b8c 100644 --- a/sys-kernel/gentoo-kernel/Manifest +++ b/sys-kernel/gentoo-kernel/Manifest @@ -1,12 +1,17 @@ -AUX 5.10.47-ppc64-kvm.patch 2365 BLAKE2B 4932dc893c372de7059f14ce0e1c0c3b33e21dbfa9f743411e6a5186e430ff75d62610ab0de2c0061dbe0e103609fba2e5c76bf7e7f34b5346db3f12439dd835 SHA512 a8d95435437aade216fe9fcde894fc5e632a0f5089eb73a083e6d3638dda20f746509c0df808f58d4de3ab909a3d5cb349a45ba182e6e62bcbcdc858c60a517a DIST genpatches-5.10-58.base.tar.xz 1910208 BLAKE2B 3f385e4cae808101f092a1ebf72dc9cf1bcc94ed8bdca8a4772afd0c32cb1424f96fee2e59ab7605b588e64d162e46aae2918b7916bded019f97f637292853ee SHA512 be328dd7212c5a0e009ba95d45c716912d96743f3ae5e2e5e1daabc252f1e151043abe21f61ef90fc4f23d4e164b6ebe2d289abfc1470daf1a33a1564dbe7b06 DIST genpatches-5.10-58.extras.tar.xz 3420 BLAKE2B 81c42396369ce4e26d2a1574067d251b9013bd012f052e3e35ecaa1953e3d81cb9e398eb9521d191a4197ad2a81780d49059fd7abb9774e886d6d10b6b6831d3 SHA512 79afef40259c8ab2cfa957bdb56666e9ff691ff68362ad95482129e7037fc0659185923ec87ac97d217f5d2956e2be7189077ddf38844fa6c7ced4f0f6f58870 +DIST genpatches-5.10-59.base.tar.xz 1936172 BLAKE2B 86a6133afb3ebd00dd706cee9b99b6b1547ed3eabf92e43348917c06cabc9d2960b5293d5f414bc4a44e55f03eb40f83b344d65e8824f6f842450bd35a3317d1 SHA512 5c0b7f7ab5c7beb1a868235ae4fcb57726b46e7877018b09f1b025f153605d20a6017f36617bb182e41618e889e4f40e190a514bcdac37ad8811fc6884c4459f +DIST genpatches-5.10-59.extras.tar.xz 3420 BLAKE2B cf603ca226a8edd2254b4c874e6b5a211b2f6071267428a434e5e5f18c884898de396c16b826d9f0eb0ef35fd0dda383126d99e37227b936a13b0900587ff617 SHA512 0398f8468fd61e495fdb7c350e5a35eb1756bd2da9a0967c816f434e639345ceaeb50786a24241f5f1616a401289764174693bdd2c785cc9cdc00e76e598841c DIST genpatches-5.12-22.base.tar.xz 1085632 BLAKE2B 328a25218394a93755d29335f0a827faaad2fc823bb25bf8ef36385eaf8b30427c4075bc0074969fe0923a975d88d7573fda0b8e1288e787f03afc6cc77d25ac SHA512 08a71f09955c92bd92f4c67a018349a9b1d7ac5e1dad7efa3f1cdd2968a4c82042308613069e5bb65a0c38f19d05db5a0ff25d17726809cf12ba018fff5bf564 DIST genpatches-5.12-22.extras.tar.xz 3420 BLAKE2B 61d7d8bf8c88a1f0ee16efd07dca0fcb82a48574dcf545421e5e8302128acd5e28fbcadc4d1a82f0b2049491988691e3f8b85c99d50ec1c81a4a4549c96b9651 SHA512 20a505a8247ba33f8c0c201b809b22073ec589f4d83b1089c6787afbe42760443a964fd12fbe2dc6ec778c6d3067db04d93ec098551ff9ed6e5030d5830fce9e DIST genpatches-5.13-6.base.tar.xz 447968 BLAKE2B afcec75958e44f3ef7da0b2ab3e2a3d9574fbacac23d028335ce241838e36355d813fb89944ab4ed45153f5317997f18e153514f877bee6a490969b75242c043 SHA512 05afae24abbd06771ecc88b8bd93e765e7c41e9ea6826510d291cb8b10387be747ac7738e3df8cbef1d7488c96fd3fcba1138a7cbe9dc7348a76b5df51c95a74 DIST genpatches-5.13-6.extras.tar.xz 3420 BLAKE2B 9ad0d2bf1b2621b328d142cd464b6de2676c8a4f0caef8ee4c5d7fa60db56d73b9056917e07ca421b02e6de1564b3d5f900299721b6b412cb145efa9bea8d60c SHA512 a7906d25d02082217bec37c435b316880e1af9922018b88569cdb4cf8c2cf5fd789bdac946100f2b1a9e0e2125a69222fc853ab1496abdd30ca00497afcb8fd8 +DIST genpatches-5.13-7.base.tar.xz 481660 BLAKE2B 810b5438e39c8928ec2aca11658cba78666e3384deda7f7ae3c21ed9987fc94b8b1d0c1b802ea454978a226fb6ddc13295097a284d84c95afc060fdbad09b9b8 SHA512 237189cd9f09bf1e83f83f27ea47306881f560fca9a96ce58185bd0dde707a0c46103889bbf798742d9eff9e2c0708c08b27698e659ad1b679d07f0ebcecb061 +DIST genpatches-5.13-7.extras.tar.xz 3420 BLAKE2B 431ffe1f40ef695161540131b2abefb5d3bb993d48dbab6224f6e3afcdeb8e618b3b8258dc3ec170a2f53830591f7363bcf8a21b0743f04cee4ba5af294d8cca SHA512 dd7f5488203f98395b0de62772e353907f11bdb23ef92d049ba785e5ab5be23d066bac4dc5763226057f0ce5fa957417c0435220e4702f5bc4d66c412124a04d DIST genpatches-5.4-138.base.tar.xz 3760008 BLAKE2B 085dc9525a78dfea4efa6541332c8cc16bc6c5dfbbdcbf1efe307acfe129ebca80d53bb9063d4c9f052a3909c47a094f31f2e9fb487ffb0e014eb7cd6fa8bcfa SHA512 96ccc0c5a7d223c444f7d5c7990a4a5c14de2eb1e8d44c3edfa8526a3c872ca38d0b3cf87aa65f3cd14cdfbc52573831993f0ad0c9531659108aea36c31f7089 DIST genpatches-5.4-138.extras.tar.xz 1772 BLAKE2B f152fe554bc3a855234d9fccbd7e60003a8933a4ac5d13764d84a2c5a03e93cae7f231e1c7b50a891d9978f3aa151bb8d7c2f4166e3a1ca9feb76614514632c5 SHA512 a2f4bb291f0a4dd061251bcba3ea2fb3f48f84c53c05ab851ac8ec588dcc931a6f0f72447e1ca91950a7881247e396d825176020de0273b35ebf7770b0a07471 +DIST genpatches-5.4-139.base.tar.xz 3773732 BLAKE2B f2eaec4646c9391c5683421d702fd11c4feeac38d37f05d4dfc2b21702c9d768d9df769a8330cddbba609e92baefe62b008a2289cb31e48cac9ca4662a6b761a SHA512 65e3d44fd4ed2d3c97ddde80feee75c19b63f103fd0fd80124a1c2ca95c2655061ef76d2b576e6357cb26a05c452f8f2ffd3303d9cdbdacac89337e736793492 +DIST genpatches-5.4-139.extras.tar.xz 1772 BLAKE2B 9425c6acb177b034c23e119269646ee24c07c5ba89bf641afa3434c50c555b25b936e08f7b6d6513330a7b1cec2a8496243ea79e0f02d6dc47ddd6dbf3e53ddd SHA512 577b9bd1603877024ec30cbd1dbf3283a8292cb3adb4b4cc008dcc373e258a99ed7ce3e5548a8a2e6c4d2412d1b86b578613578102c08ef91af2fb3a1727cac8 DIST gentoo-kernel-config-5.10.42.tar.gz 3992 BLAKE2B b04f585ccc823c25baafea011a5df9e4ed79f5537fb0c47726bb54d3f6197627b078a6f8510707a68edd9308f7ede84ca3f9bff78e64e06c9ea3d53db496c10f SHA512 5d42e1ac694441acb8ea13fa3e80615bd18f0932a37f50c3d34c8c2f95ef4dfa6541407ddcad802b4fb13468e0e85d8cd09ac37d3612260f9a81d081cb4b6713 DIST gentoo-kernel-config-5.13.4.tar.gz 4024 BLAKE2B 9b4e3205c356c791768b9de09057b55499519af5551165040c5ad50bd85b2886e34a9f8dfeea08c6a2113b903341c2bed897bc2615913cdfe3d13434d7be6f48 SHA512 55d9f2c72d164f81aede7ce5b2c703f8a426ad0a1a3323c0a304c9f07ed86aa06949ba2f42da115b977b810886a47a0126eda96ade853970a951c301eee5e12c DIST gentoo-kernel-config-5.4.114.tar.gz 1298 BLAKE2B e494041cd63ba53f055cfd555e359934d5054238bd096addd7965754e6708bada63398c4b315318f73130ed81c1391524388396775632248870721f1ce23f203 SHA512 225600db53532ee131dd83d10cecc97a83f4615975ff32f3f6190a15eace64707cb59490bb42940e4429f9054221b9d9a589ada443922062bb5ee18ecc42c26c @@ -31,7 +36,10 @@ DIST linux-5.12.tar.xz 118112412 BLAKE2B 842d921b9a73d2aaade763dbd2ec67bdfe0275b DIST linux-5.13.tar.xz 119297284 BLAKE2B 9c4c12e2394dec064adff51f7ccdf389192eb27ba7906db5eda543afe3d04afca6b9ea0848a057571bf2534eeb98e1e3a67734deff82c0d3731be205ad995668 SHA512 a8edf97e9d38a49f1be2bde1e29ad96274bb2c6f7e8a2bebaa1161dd4df9cabcbaec4ff644c45bee94f86ae47725087d6deed0cd954209cec717621d137db85e DIST linux-5.4.tar.xz 109441440 BLAKE2B 193bc4a3147e147d5529956164ec4912fad5d5c6fb07f909ff1056e57235834173194afc686993ccd785c1ff15804de0961b625f3008cca0e27493efc8f27b13 SHA512 9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f EBUILD gentoo-kernel-5.10.52.ebuild 3109 BLAKE2B e15cfaa865253cf75ee6f462e61e15efdd223f3d2d637129120fbf0be1336e036047544a6451ee953c934a0cf51a796ca0483b1ebe67953491848ee19b5f92aa SHA512 7db37241c9919432c31cfe8fa644f48a8aeb16e5e2a04b38c163c7628c8dd85db3e4c2b5afdc8de0ed1a94d77ae31f22ba3a08c1a8fc5e84e74232d26d47e00b +EBUILD gentoo-kernel-5.10.53.ebuild 3115 BLAKE2B 5c1a0b136cbcfa49036153ad7dacbe9d365ed5fcd1d3b481ae48bf0afaa40f9016e5f0fbfd7425aa4a4de0ab4a03cce825669ef878bdaaebb0f6669f445b0ad6 SHA512 6937e12ea7750e73b6e4b8627cc9a06a64dfd02a35bf84ca99c5a0d69acf0c27e322cc4c52345c1b64bf4b6f0390253800936ae012e5b25416a0056658cbe4b2 EBUILD gentoo-kernel-5.12.19.ebuild 3112 BLAKE2B ba1162989a26898748ff8c46f5bd36b6d21de3db498c2017835fc20b874a1ff94171e7917a1f4fa27e20569b05217478a45371224b5e5fb2c0ea88061d1e9533 SHA512 5e2fe2a48dc9c4615e0eddb044bd09b94e29a68afdf36272ab547251649480bf011e9a52a6df4f607c99a4b8eb3af068ef1301a3da26d0bd7cd28e9b45eedcb7 EBUILD gentoo-kernel-5.13.4.ebuild 3111 BLAKE2B 3859cb3c0ec0f218941b11f20e5239715555dd5cba9faff8c8f53608a27c2f727a11df7ef70e0289dbd6dd0cf8ede9b2b3b1f60f81292704b0375c456da7cfee SHA512 81fa1c65dc0a31e03499242e71c74970aa181f86e7ec3701a95841e25b6e4a7f4262b445b39888cb8383e1b2083dddc855e6d29754f80066ac7c983c75f94d7c +EBUILD gentoo-kernel-5.13.5.ebuild 3113 BLAKE2B 08f3fb03832666b3a2f78870d8ea06be028b7c1dc16ae748d2fd8d139a46adcfc94341910704ae6bc2a7c6e281756c12469081023c613c6be1e620aeab017ada SHA512 96b1d119094e62370e57c7b82d9d8c68f239779683fa6837fa68600b7fd981fa83366372416734f91ffdab4d30f93e9fafc1fa5b110725df983420b7c8871e63 EBUILD gentoo-kernel-5.4.134.ebuild 2816 BLAKE2B d309bcad3bdb461a42844e76b61e76b6a2cc935af6e2c2623126b2e121532e84bd28ebc067beac0fc5259f67a9be36869e7e7c1bdbcbff15674f6760d98c153c SHA512 a75e9374a0cb22935c56aa2050a8b8e3f8e30377807e25bf99bf6cd2c28f703caa25dd1b7a132151745f0c910d412b2e6959bead16ccf1051578e4995e1875d9 +EBUILD gentoo-kernel-5.4.135.ebuild 2822 BLAKE2B 76974c004fc0c42ef221117340bd1c0557a695343ad16e396007bc204f84d870ed2d213ea773070c792319f65fdc736341aeaf64166cbda0bc4207060ea52987 SHA512 a15f2991722cf4be0d321bfdce67d84c92d244b509cfd48c6e02cc0bd8722fba3af6a8ad7ca696a856f1e5ec70543b786f0db4a99f3f74db3666509bf1c5324b MISC metadata.xml 464 BLAKE2B 8f1b0ec7ef58c31bba668cd26cb39bdd0e676c22fc9def7802ea02c6fdaa32ca2d129519c51dcf7a6711ff2f5e22b3e8fa10ed5667b129f9be698bf828644c98 SHA512 2b01cf5cd40c16da8bfe767614ec47c8b95ed915a9cf3208276dbd75c9e7c065cc43c036d0e141433b6d19c2cee88fc8ae344ed596d8c1caa31c05e722373a06 diff --git a/sys-kernel/gentoo-kernel/files/5.10.47-ppc64-kvm.patch b/sys-kernel/gentoo-kernel/files/5.10.47-ppc64-kvm.patch deleted file mode 100644 index 59a7c7e75814..000000000000 --- a/sys-kernel/gentoo-kernel/files/5.10.47-ppc64-kvm.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 25edcc50d76c834479d11fcc7de46f3da4d95121 Mon Sep 17 00:00:00 2001 -From: Fabiano Rosas <farosas@linux.ibm.com> -Date: Thu, 4 Feb 2021 17:05:17 -0300 -Subject: [PATCH] KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path - -The Facility Status and Control Register is a privileged SPR that -defines the availability of some features in problem state. Since it -can be written by the guest, we must restore it to the previous host -value after guest exit. - -This restoration is currently done by taking the value from -current->thread.fscr, which in the P9 path is not enough anymore -because the guest could context switch the QEMU thread, causing the -guest-current value to be saved into the thread struct. - -The above situation manifested when running a QEMU linked against a -libc with System Call Vectored support, which causes scv -instructions to be run by QEMU early during the guest boot (during -SLOF), at which point the FSCR is 0 due to guest entry. After a few -scv calls (1 to a couple hundred), the context switching happens and -the QEMU thread runs with the guest value, resulting in a Facility -Unavailable interrupt. - -This patch saves and restores the host value of FSCR in the inner -guest entry loop in a way independent of current->thread.fscr. The old -way of doing it is still kept in place because it works for the old -entry path. - -Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> -Signed-off-by: Paul Mackerras <paulus@ozlabs.org> ---- - arch/powerpc/kvm/book3s_hv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c -index 89c686c17f0606..f6d470157fcb62 100644 ---- a/arch/powerpc/kvm/book3s_hv.c -+++ b/arch/powerpc/kvm/book3s_hv.c -@@ -3611,6 +3611,7 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit, - unsigned long host_tidr = mfspr(SPRN_TIDR); - unsigned long host_iamr = mfspr(SPRN_IAMR); - unsigned long host_amr = mfspr(SPRN_AMR); -+ unsigned long host_fscr = mfspr(SPRN_FSCR); - s64 dec; - u64 tb; - int trap, save_pmu; -@@ -3751,6 +3752,9 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit, - if (host_amr != vcpu->arch.amr) - mtspr(SPRN_AMR, host_amr); - -+ if (host_fscr != vcpu->arch.fscr) -+ mtspr(SPRN_FSCR, host_fscr); -+ - msr_check_and_set(MSR_FP | MSR_VEC | MSR_VSX); - store_fp_state(&vcpu->arch.fp); - #ifdef CONFIG_ALTIVEC diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.53.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.53.ebuild new file mode 100644 index 000000000000..660215fc8655 --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.53.ebuild @@ -0,0 +1,105 @@ +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit kernel-build + +MY_P=linux-${PV%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 6 )) +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +CONFIG_VER=5.10.12 +CONFIG_HASH=836165dd2dff34e4f2c47ca8f9c803002c1e6530 +GENTOO_CONFIG_VER=5.10.42 + +DESCRIPTION="Linux kernel built with Gentoo patches" +HOMEPAGE="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/mgorny/gentoo-kernel-config/archive/v${GENTOO_CONFIG_VER}.tar.gz + -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz + amd64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-x86_64-fedora.config + -> kernel-x86_64-fedora.config.${CONFIG_VER} + ) + arm64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-aarch64-fedora.config + -> kernel-aarch64-fedora.config.${CONFIG_VER} + ) + ppc64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-ppc64le-fedora.config + -> kernel-ppc64le-fedora.config.${CONFIG_VER} + ) + x86? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-i686-fedora.config + -> kernel-i686-fedora.config.${CONFIG_VER} + )" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="debug hardened" +REQUIRED_USE="arm? ( 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" + +src_prepare() { + local PATCHES=( + # meh, genpatches have no directory + "${WORKDIR}"/*.patch + ) + default + + # 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 + ;; + ppc64) + cp "${DISTDIR}/kernel-ppc64le-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 + ) + 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 + kernel-build_merge_configs "${merge_configs[@]}" +} diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-5.13.5.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-5.13.5.ebuild new file mode 100644 index 000000000000..973b0f5eb16b --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-5.13.5.ebuild @@ -0,0 +1,105 @@ +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit kernel-build + +MY_P=linux-${PV%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 2 )) +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +CONFIG_VER=5.13.4 +CONFIG_HASH=a219e71ba368d65c1ede4fa6a79a17e70815440c +GENTOO_CONFIG_VER=5.13.4 + +DESCRIPTION="Linux kernel built with Gentoo patches" +HOMEPAGE="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/mgorny/gentoo-kernel-config/archive/v${GENTOO_CONFIG_VER}.tar.gz + -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz + amd64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-x86_64-fedora.config + -> kernel-x86_64-fedora.config.${CONFIG_VER} + ) + arm64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-aarch64-fedora.config + -> kernel-aarch64-fedora.config.${CONFIG_VER} + ) + ppc64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-ppc64le-fedora.config + -> kernel-ppc64le-fedora.config.${CONFIG_VER} + ) + x86? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-i686-fedora.config + -> kernel-i686-fedora.config.${CONFIG_VER} + )" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="debug hardened" +REQUIRED_USE="arm? ( 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" + +src_prepare() { + local PATCHES=( + # meh, genpatches have no directory + "${WORKDIR}"/*.patch + ) + default + + # 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 + ;; + ppc64) + cp "${DISTDIR}/kernel-ppc64le-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 + ) + 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 + kernel-build_merge_configs "${merge_configs[@]}" +} diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-5.4.135.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-5.4.135.ebuild new file mode 100644 index 000000000000..1bf22439675a --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-5.4.135.ebuild @@ -0,0 +1,97 @@ +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit kernel-build + +MY_P=linux-${PV%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 4 )) +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +CONFIG_VER=5.4.21 +CONFIG_HASH=2809b7faa6a8cb232cd825096c146b7bdc1e08ea +GENTOO_CONFIG_VER=5.4.114 + +DESCRIPTION="Linux kernel built with Gentoo patches" +HOMEPAGE="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/mgorny/gentoo-kernel-config/archive/v${GENTOO_CONFIG_VER}.tar.gz + -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz + amd64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-x86_64.config + -> kernel-x86_64.config.${CONFIG_VER} + ) + arm64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-aarch64.config + -> kernel-aarch64.config.${CONFIG_VER} + ) + ppc64? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-ppc64le.config + -> kernel-ppc64le.config.${CONFIG_VER} + ) + x86? ( + https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-i686.config + -> kernel-i686.config.${CONFIG_VER} + )" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="debug" + +RDEPEND=" + !sys-kernel/gentoo-kernel-bin:${SLOT}" +BDEPEND=" + debug? ( dev-util/pahole )" +PDEPEND=" + >=virtual/dist-kernel-${PV}" + +pkg_pretend() { + ewarn "Starting with 5.4.52, Distribution Kernels are switching from Arch" + ewarn "Linux configs to Fedora. Please keep a backup kernel just in case." + + kernel-install_pkg_pretend +} + +src_prepare() { + local PATCHES=( + # meh, genpatches have no directory + "${WORKDIR}"/*.patch + ) + default + + # prepare the default config + case ${ARCH} in + amd64) + cp "${DISTDIR}/kernel-x86_64.config.${CONFIG_VER}" .config || die + ;; + arm64) + cp "${DISTDIR}/kernel-aarch64.config.${CONFIG_VER}" .config || die + ;; + ppc64) + cp "${DISTDIR}/kernel-ppc64le.config.${CONFIG_VER}" .config || die + ;; + x86) + cp "${DISTDIR}/kernel-i686.config.${CONFIG_VER}" .config || die + ;; + *) + die "Unsupported arch ${ARCH}" + ;; + esac + + echo 'CONFIG_LOCALVERSION="-gentoo-dist"' > "${T}"/version.config || die + local merge_configs=( + "${T}"/version.config + "${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"/base.config + ) + use debug || merge_configs+=( + "${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"/no-debug.config + ) + [[ ${ARCH} == x86 ]] && merge_configs+=( + "${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"/32-bit.config + ) + + kernel-build_merge_configs "${merge_configs[@]}" +} |