diff --git a/sys-kernel/gentoo-kernel-bin/Manifest b/sys-kernel/gentoo-kernel-bin/Manifest index 0518dc516d9cf..6414beeebdcd2 100644 --- a/sys-kernel/gentoo-kernel-bin/Manifest +++ b/sys-kernel/gentoo-kernel-bin/Manifest @@ -26,6 +26,10 @@ DIST gentoo-kernel-7.0.5-1.amd64.gpkg.tar 354252800 BLAKE2B 289631dcdc1d4c04694a DIST gentoo-kernel-7.0.5-1.arm64.gpkg.tar 326103040 BLAKE2B da717874d9755dfc0bb32384d5927eb49570089cc5caed578b286f6cf1602c769e877ebdf3c30c1c3db91320c7688822e1f8153eba2a1eaa0b0a613baaba67cf SHA512 747bca19cf5aad4b426cd23c814c6aee50f538a22566b8325452ca0de1eebc884781006f395cfc9c87ff9962af40e610c09dfa8e3e880eb561b1c0384bf83957 DIST gentoo-kernel-7.0.5-1.ppc64le.gpkg.tar 78622720 BLAKE2B 1c436d14d12b5f6ef7d6cfd04f875530142036015e4577def6869a2a6058445521d638375af8db36463d6afe0b878f00ad39cc960816f85e4dc20fdc4e5cf861 SHA512 94a1a038b9bd4dfe47d86f3304dbf38ae170f357ebcf1d7514637b53ac760fb443bab2d5a1735e7ba028e907fb1368552dca0bc64c99bf1bc5439a854d2e3685 DIST gentoo-kernel-7.0.5-1.x86.gpkg.tar 85360640 BLAKE2B 29dfa94b71d02c9528d67f4160b5cc5349b1c1c4271eca2f9fcf9ac0cb46d0dfa67cd6dfb691210e9b5eab934ea26e243f85ff0a0ae1d9701b89afa5cadda8f1 SHA512 081cced0aef477444292bc73438743d5b03d87793632b48b56967dc4da289826f234ac8503570d5d0f903aa3174f03840e05cce7425785acbc284c09de95f8c9 +DIST gentoo-kernel-7.0.6-1.amd64.gpkg.tar 354263040 BLAKE2B 88077e54265e379bfe5c064ee318cc745b258aa059a1aa8a06d51a1a6b261445aff28f1409c59b328d20e48d52d3b648804fb99efe464a86907a458fcdad34cb SHA512 2c9a820cb347a897845a80c54009c59c4884be7310c504048abbd352a69064dcbd93167e1e2b3533dd3915e40cc6d9f55160474d41d2215c5f94633e734388a7 +DIST gentoo-kernel-7.0.6-1.arm64.gpkg.tar 326082560 BLAKE2B 062a7f4b68429f9dee5d80e7dea692a9b0e02e96e7676447a24ffc170b757ac5d0eec50bba886b1f68068d680a8df4d7a72f4a23013b6daa6e39a65af3fd0beb SHA512 346f5128fd315f720e03d381c115d99f5a72b69122916ffc694520c54024941e8077959c4001285df48c545380d0049f87e97588a9ce23e5cff274f9ad0aa5f0 +DIST gentoo-kernel-7.0.6-1.ppc64le.gpkg.tar 78622720 BLAKE2B 9f0febf4450126e2be0d9d1ee7f8116fd65d68062df6017b1155ae671200098d3bba3954b71dccc8fb287c65099509fae376b8e4e1359adb300a92dbf0b83eeb SHA512 7fd99a4506eee65d63032077cb28115c4d129cf0e0d4081b8c8ab066cb859705c2ade4d74135441cdb5f2efe459a68f7ac1447feb50b8a321a29f49709f7278a +DIST gentoo-kernel-7.0.6-1.x86.gpkg.tar 85350400 BLAKE2B 02bdcb2c0bbedac354df9ff1be72f87b13114cfa14c6c22fa6c410412c57de62a9830e69fdb9a18c3f9197509ed29d319e7204114e06c49cbf106b57c96d8bcc SHA512 bdadbb3dd23334e46c224093cd9aabddd436e88286b5bddfa719dc7d5ee27d18a56a61528e7d189317cb36b758cf1fade6c08ac3397ad13b4ed681ce51604772 DIST linux-5.10.tar.xz 116606704 BLAKE2B b923d7b66309224f42f35f8a5fa219421b0a9362d2adacdadd8d96251f61f7230878ea297a269a7f3b3c56830f0b177e068691e1d7f88501a05653b0a13274d1 SHA512 95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a DIST linux-5.x-sha256sums-20260508.asc 377333 BLAKE2B 559ebeef5ea40e4c23309e6efbe3554b02db012856adcccbaac2c920ed6e3e76d0ed19a195da462fd631fc73f9cf2f9036a59e4e0285b4e608415de19254ca98 SHA512 2ba895511e09b02b5a269812dd35947c751d4295c04189b0209b1034fbaa709083751f0e5199edc3a55de6369e1f3fc715e094b3e399aab617f717c6280f3a79 @@ -36,6 +40,7 @@ DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f DIST linux-6.x-sha256sums-20260508.asc 221993 BLAKE2B aca425a56e6bbba54718db6eecb86898f0da945447b1cf7ddf7ab890709e89893d2fee78dd7a61bb6432d06f474f15ccb3c1050a292bb5b4099cbb86f038490c SHA512 0382b7555ce0070254cde3367696682034317dafc319bc0009262d499f93727c57a76d66fe8c74103272dcb9db6cc5a567a359693b0d0fcd2c9d38db895f3e9f DIST linux-7.0.tar.xz 157143652 BLAKE2B 3d9795083c8938f80f480de0d10bfd9c525640e59d5c7f22983de3f12ee42c84c31be902cafb05579ddb1c32bac5ed06b0d4953f9705450be185bd2d9ab08f89 SHA512 8c85b708342f8f09ca25b2234b22e93b62b144a9ef919fbb21827f52fa47498e778c79db1559524dd7fb360f95b2ce174171443c1859656c281be41d2b6c5a0b DIST linux-7.x-sha256sums-20260508.asc 2872 BLAKE2B f6bd251e543edaf6f8fc1c5f49cfbf4463893ec9ce3fc8763182bcf5c7705812f056010d6647e0b9068cd60f3c5b7f3df28ec89b971bc21f42d7c742c1a92870 SHA512 f22fc5633df2be72a5eae7c391b20786c0109e214f42709d47ff13311eddc22e31f953958211122ae786fee595d1f06915f16717aafaa7b2557ff88dd7a1e3fb +DIST linux-7.x-sha256sums-20260511.asc 3205 BLAKE2B 39ecf2b39946ee610e2973603fdf57d22c0011aa5fb3b7663b939fab3c71afe45fa3458cd9afe8c69816af21accf91981837112fc98fa3a489aa306649877144 SHA512 1e8006d6fb4aad9367ea81f84ac4dfb2e7fe7e244af2fb099e30cacb19df06d54586057ea94d601bd156a0f9d6ab525ff0ffd1a950c7853dd3afaa8ed2cc4c2c DIST linux-gentoo-patches-5.10.255.tar.xz 24772 BLAKE2B 0b3a0b77f0e415d30cb5679f787d1539087f55b5fb0d81cd571e4081b036ffae1d4184469515eafa72403fff791f650fd1398122f7bf106780c653c27000045d SHA512 e6d8bd9e944e84d19a8c402cf27c090e8bdc75269540bc6b5b4ee0b66e4898120ca9714e240cf3408bd46ca969066494a09b2c197175c16f4496ec6f2edd6af9 DIST linux-gentoo-patches-5.15.205.tar.xz 10888 BLAKE2B 268434fcf46e4fdd892c5f42a7cffe8ffe832eec8f396c71c0cf392c1d766abf57174999968fe08732ee473105449e57e8dbd8d7b0b359b4f7e532eceaab6f42 SHA512 a72ac83b7ecedd5bb683aad3383832095792a773c65f6b98f8e72a934b07e10b6a9aab6ae5f1b256de7f49aaf981430c582e64e7c6e5db1a37b1a1336ae54ace DIST linux-gentoo-patches-6.1.171.tar.xz 29564 BLAKE2B a843335a9ccda7384438822332a53748804fbc58df7198d9d1026436f4e261e640a185f78fc32f615e8527a61970d237ba0d6fb0726bb78aa4aa39ee808941aa SHA512 b8c83de0bf9e5515b46ab77c2b338c5d84ad284578efdce66f424a4a11f202d1846a095dd618de0ebe4faf7123234ed38fad814faba414bc1293e3bd25686c6c @@ -43,6 +48,7 @@ DIST linux-gentoo-patches-6.12.87.tar.xz 20828 BLAKE2B 3d900956f1ffd0cdced9f0850 DIST linux-gentoo-patches-6.18.28.tar.xz 11732 BLAKE2B 33e143b5e0d03f94e797b152af7bbeb2dbf8a438fae48612306849faaae3dc45c2abcdd9949477b2c5d59ed75e6bee2106a1236b29ce4eb6fab17bf1dbdb22f3 SHA512 73df64fda24def43a8a346edadb18a778a5fe7125af4292f661ea14d6c8ac7ec3ebf39158062de91c3f99a1d71eb68a803af2b19163b4d4aaeefd70553d1e481 DIST linux-gentoo-patches-6.6.138.tar.xz 43476 BLAKE2B fdc188c3ec6cc96a8fefbf94dd656e29ea4bc37c1cabd622b1eefd9f7d3f7da40f6370e20257a093c785d05e4feedd12c05c269ac3102f4213481b0a4937a78c SHA512 4e2eb5406d5d4ba27777028bf5fdaa9b68682e509a7edd24d14098beb229efe4a3e04a2aacc7fb94907183c9ef2281e6d2d41210c5794d50d5dc0dc3d71030ef DIST linux-gentoo-patches-7.0.5.tar.xz 10460 BLAKE2B 3cfbfc4b66555e7a50d5d8fda78549bd2d8a499bf1d7b481a0e93771ac9982f5750f832d4d3696c11ff9f9926f25b1eb02cf2037302d8ff8d27a27a4f34c7f99 SHA512 0f9de75ef244b15e4424551cd2fd3c9a72021a01d3ac9969a2889468a1a315451dd16822c6f333e1d958e2a1b1b1532d7a9be8e60cfd9e6d0298b738e818d024 +DIST linux-gentoo-patches-7.0.6.tar.xz 10384 BLAKE2B dc260ca39a14749c2b00336482d9b22e6569f305b6a706c0bbcbe0f36565490bc6272708260f69b9abf9bd63ae46c41496e9079077f74e008111e7e33167f322 SHA512 7bf03034ad58d1c1f06b2b6fa9a24ca2d543f45d4d0e3d6466a2f116fd4541534c1d582c1e449e4274d2d71dcbd72828b30acc98ee637d7889d684a93e931cc8 DIST patch-5.10.255.xz 7255244 BLAKE2B 98334dc40a3176537c704eae6639e9b9a697857ea4911814d87d8ce92cce9a668ba166f27d850b8cf7325d15fe392ae56dab21ac62c7ceca1df46d36456858d8 SHA512 858cf5512d2e9e1217c98eea14be877c87aedee10db3304672719a83efc11839c1ea104b04b5e4bfedc4669707e5a2064e78d6ff293a21c527455dc0b90c8b33 DIST patch-5.15.205.xz 7681604 BLAKE2B f725a94358f57c05205d7d9c129d1611289ee313283117b52509fed61f9de71193711a16e4e5753ed9385759a6c0af1ee253e600d3021739407202c3fe98f86e SHA512 54f3005e068a0586955a326b2de6833ae17150590ecee5a5d926ef4b29664e8274d447b6a8950653e7f6af4a567d6f7a5801c9c65895dd882f889da4b255dc81 DIST patch-6.1.171.xz 7323648 BLAKE2B 3fa194654ef07a94b8a1304025fc926e439684726d52b079ca4c9facec9f5dbf1b80e5406f585b02eaef12cefbadc320ace0f96c23c9823b27a4c52205ebcc50 SHA512 6703f221326ba65198614fc60f900d7fb30ff79c51351400d23d67f375a9a0f6b84b27ab696f5a50679300b12d2d2052c6e5b985b8a7e9d74180d189c9e2e80b @@ -50,3 +56,4 @@ DIST patch-6.12.87.xz 4429580 BLAKE2B 0ceac68ca76cd09e0ca7156cb5e75effdaf02a323e DIST patch-6.18.28.xz 1610468 BLAKE2B a791ded8cc7033f0ad127b8e81e02ddb9677041430c637613cc4926e686741ee63b444cc0d0f5a75bb3d0e343f31e322792027f7042ee017c04cb5dd1e029817 SHA512 9c827950cb26ff1bef00de1f88c7a05a018d35ceb34a14c6b51eca2d3fb7fc1ae3a0ecf1de225c992e362fe635945fbfd854acfcc85f2715da4014fce7335b07 DIST patch-6.6.138.xz 5910560 BLAKE2B dc27122eb68f8ebc460789a97159ceeec3cfb2d285f73f48595ff26e8a1a9ef4ca7fd27eae2e9a6dca898414bdacc7a684a7ec9ae9f8f2ff176d09039dd8128f SHA512 f42a15164ead291ba5f91002855fdc50e958a020ae144047f950891abc01a4dc0ffca68ddebc46125faa53e7e65aeae5d50873c0f35c75e34bf8b7fd1b08dab8 DIST patch-7.0.5.xz 152956 BLAKE2B 9f2938654db3b0a404890b91417715670b1dd5bed543ebef4073fe0d1e4fe5c5d54cbd44bb9e4843040c396d73dd65eb5d8725087865bd1793c8b6c84713d9aa SHA512 00bdf97eb85f8740c2b13a647230ec24b2371a5a3a344118e501fe3eb02a31905b53421cfea47fcf78e2b49819b3e741fcc703a92e85eebfa4e81435d8923f67 +DIST patch-7.0.6.xz 152952 BLAKE2B a1033fc1fc56d497815ee34006add9b63faee3756fd63a9c4b834e10f9e3382c68a278cc3ee90718346e6b94e6f3c8ccdf65189260d97311dced30e95b507ac8 SHA512 91b2a5b4fdbb9b4ab48dd5638ae28bb988215ccf36430133dcbd1aa5e4c1724d3d0d388531552cfb472ec30cf250962e97b7a520bb5bf38c1a05ceffea681fee diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.0.6.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.0.6.ebuild new file mode 100644 index 0000000000000..490e95418df4b --- /dev/null +++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.0.6.ebuild @@ -0,0 +1,234 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KERNEL_IUSE_GENERIC_UKI=1 + +inherit kernel-install toolchain-funcs unpacker verify-sig + +BASE_P=linux-${PV%.*} +PATCH_PV=${PV%_p*} +PATCHSET=linux-gentoo-patches-7.0.6 +BINPKG=${P/-bin}-1 +SHA256SUM_DATE=20260511 + +DESCRIPTION="Pre-built Linux kernel 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 + 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://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/amd64/$(ver_cut 1-2)/${BINPKG}.amd64.gpkg.tar + ) + arm64? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/arm64/$(ver_cut 1-2)/${BINPKG}.arm64.gpkg.tar + ) + ppc64? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/ppc64le/$(ver_cut 1-2)/${BINPKG}.ppc64le.gpkg.tar + ) + x86? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/x86/$(ver_cut 1-2)/${BINPKG}.x86.gpkg.tar + ) +" +S=${WORKDIR} + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="debug" + +RDEPEND=" + !sys-kernel/gentoo-kernel:${SLOT} +" +PDEPEND=" + >=virtual/dist-kernel-${PATCH_PV} +" +BDEPEND=" + app-alternatives/bc + app-alternatives/lex + app-alternatives/yacc + dev-util/pahole + sys-libs/binutils-libs + virtual/libelf + amd64? ( app-crypt/sbsigntools ) + arm64? ( app-crypt/sbsigntools ) + verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) +" + +KV_LOCALVERSION='-gentoo-dist' +KV_FULL=${PV/_p/-p}${KV_LOCALVERSION} + +QA_PREBUILT='*' + +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 + + unpacker +} + +src_prepare() { + local patch + cd "${BASE_P}" || die + eapply "${WORKDIR}/patch-${PATCH_PV}" + for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do + eapply "${patch}" + # non-experimental patches always finish with Gentoo Kconfig + # we built -bins without them + if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]] + then + break + fi + done + + default + + # add Gentoo patchset version + local extraversion=${PV#${PATCH_PV}} + sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || die +} + +src_configure() { + # force ld.bfd if we can find it easily + local HOSTLD="$(tc-getBUILD_LD)" + if type -P "${HOSTLD}.bfd" &>/dev/null; then + HOSTLD+=.bfd + fi + local LD="$(tc-getLD)" + if type -P "${LD}.bfd" &>/dev/null; then + LD+=.bfd + fi + tc-export_build_env + local makeargs=( + V=1 + WERROR=0 + + HOSTCC="$(tc-getBUILD_CC)" + HOSTCXX="$(tc-getBUILD_CXX)" + HOSTLD="${HOSTLD}" + HOSTAR="$(tc-getBUILD_AR)" + HOSTCFLAGS="${BUILD_CFLAGS}" + HOSTLDFLAGS="${BUILD_LDFLAGS}" + + CROSS_COMPILE=${CHOST}- + AS="$(tc-getAS)" + CC="$(tc-getCC)" + LD="${LD}" + AR="$(tc-getAR)" + NM="$(tc-getNM)" + STRIP="$(tc-getSTRIP)" + OBJCOPY="$(tc-getOBJCOPY)" + OBJDUMP="$(tc-getOBJDUMP)" + READELF="$(tc-getREADELF)" + + # we need to pass it to override colliding Gentoo envvar + ARCH="$(tc-arch-kernel)" + + O="${WORKDIR}"/modprep + ) + + local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}" + + # If this is set it will have an effect on the name of the output + # image. Set this variable to track this setting. + if grep -q "CONFIG_EFI_ZBOOT=y" "${kernel_dir}/.config"; then + KERNEL_EFI_ZBOOT=1 + elif use arm64 && use generic-uki; then + die "USE=generic-uki requires a CONFIG_EFI_ZBOOT enabled build" + fi + + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + + # Override user variable with the cert used during build + openssl x509 \ + -inform DER -in "${kernel_dir}/certs/signing_key.x509" \ + -outform PEM -out "${T}/cert.pem" || + die "Failed to convert pcrpkey to PEM format" + export SECUREBOOT_SIGN_CERT=${T}/cert.pem + + if [[ -s ${uki} ]]; then + # We need to extract the plain image for the test phase + # and USE=-generic-uki. + kernel-install_extract_from_uki linux "${uki}" "${image}" + fi + + mkdir modprep || die + cp "${kernel_dir}/.config" modprep/ || die + emake -C "${BASE_P}" "${makeargs[@]}" modules_prepare +} + +src_test() { + local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}" + kernel-install_test "${KV_FULL}" \ + "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \ + "${BINPKG}/image/lib/modules/${KV_FULL}" \ + "${WORKDIR}/${kernel_dir}/.config" +} + +src_install() { + local rel_kernel_dir=/usr/src/linux-${KV_FULL} + local kernel_dir="${BINPKG}/image${rel_kernel_dir}" + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + if [[ -s ${uki} ]]; then + # Keep the kernel image type we don't want out of install tree + # Replace back with placeholder + if use generic-uki; then + > "${image}" || die + else + > "${uki}" || die + fi + fi + + # Overwrite the identifier in the prebuilt package + echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die + + mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die + + # FIXME: requires proper mount-boot + if [[ -d ${BINPKG}/image/boot/dtbs ]]; then + mv "${BINPKG}"/image/boot "${ED}"/ || die + fi + + # strip out-of-source build stuffs from modprep + # and then copy built files + find modprep -type f '(' \ + -name Makefile -o \ + -name '*.[ao]' -o \ + '(' -name '.*' -a -not -name '.config' ')' \ + ')' -delete || die + rm modprep/source || die + cp -p -R modprep/. "${ED}${rel_kernel_dir}"/ || die + + # Update timestamps on all modules to ensure cleanup works correctly + # when switching USE=modules-compress. + find "${ED}/lib" -name '*.ko' -exec touch {} + || die + + # Modules were already stripped before signing + dostrip -x /lib/modules + kernel-install_compress_modules + + # Mirror the logic from kernel-build_src_install, for architectures + # where USE=debug is used. + if use ppc64; then + dostrip -x "${rel_kernel_dir}/$(dist-kernel_get_image_path)" + elif use debug && { use amd64 || use arm64; }; then + dostrip -x "${rel_kernel_dir}/vmlinux" + dostrip -x "${rel_kernel_dir}/vmlinux.ctfa" + fi +}