diff --git a/sys-kernel/gentoo-kernel-bin/Manifest b/sys-kernel/gentoo-kernel-bin/Manifest index deb93322c2269..c7ed6fc1a6471 100644 --- a/sys-kernel/gentoo-kernel-bin/Manifest +++ b/sys-kernel/gentoo-kernel-bin/Manifest @@ -18,6 +18,10 @@ DIST gentoo-kernel-7.1.7-1.amd64.gpkg.tar 358819840 BLAKE2B 8a6688691a8124864795 DIST gentoo-kernel-7.1.7-1.arm64.gpkg.tar 331335680 BLAKE2B a81ebed3bdf227175d0a228e878824d48fd2083b480fa0e658021d7b2cf890c88c4b8de06337ee53b03fdc5d9e2c9437a35dae4484568b9e32da5a33443e7f38 SHA512 2aa692a4023b13ed5466a1364db8107adc9c18f49dc4e43adadad82543d5230de8103da0a2b064159b19f20d050480cf246e1f55d670a98520ee69cc8264c23b DIST gentoo-kernel-7.1.7-1.ppc64le.gpkg.tar 79073280 BLAKE2B a3f9a50d5c31ee8c5694ada724ea74a797ec00317283d5f17f5d7f117c4378be0bb27cb29473c9fa6de92c6aff9364fa73386d908d8db31565387460c36bd81a SHA512 0d637ec5dd2b69c878d824a85e2c8fc40f445dd3a4af095429d1204830d549b2dfd808a343e511b5ce00b732916f083e7992fe7693570109a3a3be26bbe0c429 DIST gentoo-kernel-7.1.7-1.x86.gpkg.tar 86016000 BLAKE2B ffb39367e4820e1ca9d92a258c8444bc06afa3b82e7bfcf03e07d54aa93628ec9a31e3dac1725288d61af8ae087d812b13b3f31b03299c461d742fd6b036ce9f SHA512 5074f74699d2f532768d64f2b957dbca7808c652b09dacf4be7d444a21ece40d0772890c821f38aebc8ab304bf67754068a6f3cf0554d88f4d1163ebda351fff +DIST gentoo-kernel-7.1.8-1.amd64.gpkg.tar 358860800 BLAKE2B 7a575f1ccb250af8bf0707f99bd873c08897126edec5d00feb8a6348ac86b80b96b42bb7206f8231b5f15029191a282bddca2c815d6583e0da4c9229ee562cac SHA512 2cd80b8150b04e7dabba37dfefdbaa9342b11096f81a0ae50bd84882e12b1f9252abcc1699ce2313c229519a8d643ac8aef40280194b9afdf09e913c24bad9cc +DIST gentoo-kernel-7.1.8-1.arm64.gpkg.tar 331397120 BLAKE2B d033c2acdc8bdbd76e6fc7c1440a608b3471cda46ea46eccf34015ccffa0e4d67894594e3055eb8a97782f80a2758e9e26e6af4d3bf3d630ef470ccbe7f4a7da SHA512 6339998861e8fd753217817e1fe6da1da222dace50434bbbb51a648353ee4d31e0d66f1be5d72aed2f40b8abdfcc36fb75ea17de77f8b7c3a90f23c678bbd302 +DIST gentoo-kernel-7.1.8-1.ppc64le.gpkg.tar 79063040 BLAKE2B edc14c04bcc29e729ab7496c98c94ee290aefdc58ba9cfda1cc8e33dae9d5197ed5f1670bd30cb8444aed753a48aa0341c6bccd809f505fd09a6dce93d8d2312 SHA512 e74f10fc52b3a452358c747124bf2145bc6e4c52be86a77de0ee801fea607e80cd55a848c7fcaad2343e522366fe7a63ba9da20a4827341fa3c681fdc5ddbf4d +DIST gentoo-kernel-7.1.8-1.x86.gpkg.tar 86056960 BLAKE2B b9370b6c07bb9fc37f9ec2c11467d4a76a2d8a5a4ea7e6d14ef476866d94751dbfb8fc81172810f5c19c13eda29d6624f41c1e9d269c1793a4a4b3278aa70f01 SHA512 afc7c729999debb4417680e55b2977e0a9c3efa763dd99f69a840a355818acb3075651367855451487bcb3db7623f193a8b5f6a9fbeeda3f75e38e23a0ebabd6 DIST linux-6.1.tar.xz 134728520 BLAKE2B ae60257860b2bd1bd708d183f0443afc60ebbd2b3d535c45e44c2e541bd0928530a3b62de6385dd4e4726ebbedcc0a871d4f3ffb4105b9f1f6d8ed7467f5688e SHA512 6ed2a73c2699d0810e54753715635736fc370288ad5ce95c594f2379959b0e418665cd71bc512a0273fe226fe90074d8b10d14c209080a6466498417a4fdda68 DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548 DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0 @@ -26,6 +30,7 @@ DIST linux-6.x-sha256sums-20260806.asc 239051 BLAKE2B c056b363f25be7a16124cca67d DIST linux-6.x-sha256sums-20260807.asc 240078 BLAKE2B 7ad54b3c488390c62023603cd087ed8e0053ca923fab8afb4e541c548866b20faa604eae475519be51b7aea4e51f75245cfb058a5745ef0e97f47550e299773b SHA512 271420643959298222fa3307279c58211c99460668daf6f22178eecd610c2c83772965c23fed306bbd367970c8eec09dbef0990248827693d42472e9ccdbc8ec DIST linux-7.1.tar.xz 158304768 BLAKE2B 5199b2057fd1b89f0275bdaff9d81035cf5e1e8e64318a4a67467399245628a0f8c5e82f9d80dfc54b094349a8cfcdc892b7a4ad4bdf5dd1daa268ff30c1cf38 SHA512 d4d9c45261813559341c67ea53d4a47f5a04d1ad15e3c2b8222a09b5483380d2bfd31b8c675e144db2eb91f560d6cb28f66187a5ea4f24f6dfb82a4ad48064cc DIST linux-7.x-sha256sums-20260806.asc 8545 BLAKE2B 3fd3061b6406611711b3dbb3baaa66b13b8a1306627813d1a45727cc17799b18d0694639716db2ef305f2da35f92faf5591df2626bf7f806179fb508bf3218f0 SHA512 94649d024a81a32ecaebeab9f8870f13de8cfb5897fdb59bc3d47cd3bb9d664454095ea6b0037a633bfb86c0be520c2daac253569392a02e16798034d69c1b58 +DIST linux-7.x-sha256sums-20260809.asc 8878 BLAKE2B 113c895be8751bc8f778393d619475be01182675b13f6fc0711a37bbfe78ac0ee819d15d88e84f2e5385a0266e5ccbbf207b9ef00e05be38ce9f5e10a50cde08 SHA512 62995faa6038e13ceec9cb575d0fd9c0b78070dc4e92d1438b5d00bb18f0f93a7a03067d77e607a41042661a0330d431ded41a6bd62bcc04f3ce9db9454032b1 DIST linux-gentoo-patches-6.1.178.tar.xz 14432 BLAKE2B fc278094f85f58b7aba5c3334503114d28aead086a1e62499111283f0410c02bc9db7f5187975fcf2a793a5ef32e323b9907bbd9e0fb4c0834dc1a823f36af52 SHA512 ae0606ab52f8d66f49cac198aada1cbcced465d8ae43e09ef02cee149125570e09eadfacc07f9ec0ad3b20b365df7b9718a478252771f7c6e09fecda6f701096 DIST linux-gentoo-patches-6.12.97.tar.xz 17192 BLAKE2B e0f09dd8ef2e6ebce9adcc2c050cb7e2c7ae08188e99635d3b541c6deca5bea792f4ec2c8d0c0dbc648b0c1f227b54a95d8d807a43859b3bf1b5f57767af2113 SHA512 af6b182d1e7661c35c215f4da63c8ab53b1ffffa7818a266b4c5639ed8d03428d050f1045d02e885c1b9bdc9fb2464c3f384dcd55d7536eddf2b90ffe1f8c530 DIST linux-gentoo-patches-6.18.42.tar.xz 10856 BLAKE2B 8d9de53163c26980f2097eac090f8add2f0f22707824c25493d24d53cc82ef5bc24dcbc7e1e324010315bd3cd05cf2abdd36c536f1457b311cc5208a1a49575d SHA512 01f3020aa34f0ee29c37473344f6dfe0180a12d20834f9c935575b98092b1c6ddd6c563aaef9e4ce6f14116e5d7386d2203f120d1c680ff617f581c867d4544c @@ -36,3 +41,4 @@ DIST patch-6.12.102.xz 5442364 BLAKE2B f28187ded04d35aa19bcc8ca08805cb709e6b5e57 DIST patch-6.18.43.xz 2996272 BLAKE2B 0f6f62177e1d45877c4d5169dad95668c742534c2c516a4aac66b7cfa0e2888d845453840fa1aad81d58d48fdc8b22736d77a9453e0faa4c4e513af39a2ed25d SHA512 d9850924efd1df2854d40b68433e986fef6462942ca2273cbaae46d85854c9888078ab633bc83005f90b896f994f7cb261ca54cf49269c1e696385de048e109b DIST patch-6.6.150.xz 6683732 BLAKE2B a8058aff8d1108ef95dcbd5810aca2783b01c63b21d419bc02f611cf46f243e8a9fa5ec7b49c57d7a75199b662578a8a85945ca64b3ab2be081e248aa89fa4d1 SHA512 4ecfe8a28de9cb6834ee63e32c80a9abff8e4f2e5693b59750e3f9ed5069788ad5ab464e98c54ce6a66b4cab0197fb9753e09b7da3d1f826f5444faf6d99b107 DIST patch-7.1.7.xz 1104868 BLAKE2B 6f538ea0e56c203170d7f0e64630716ae83e668c6419ec04350c0ca8f0a4f97c63bce2e81fcb2867cd7599160338864f0006ac44c074a5021a7d392f3aae6fe3 SHA512 ec8107785cc22510ff8fca179ef837fb7dd2db2a7c11b31f3e859dbd77170419d5f5f72837bcba8e3a3c617c19707a04c841aa373c60aceeab86329860c7a5cd +DIST patch-7.1.8.xz 1241320 BLAKE2B 8a364fe7cba72c1ae5d9c0784304aed681359d52840b7482cce46874cf478bb2d19d31b21e42ac977c048042b78601482e287513820bcb07fa328fc5b23d233d SHA512 15477b52f1c36e42d38486037b721bca075d8312d09b108c2628e14137fed6aeb9ed641035adae0f40d3fed9a231f8a315c7d163bb599d319714464963d8626d diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.1.8.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.1.8.ebuild new file mode 100644 index 0000000000000..0f42331555d02 --- /dev/null +++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.1.8.ebuild @@ -0,0 +1,223 @@ +# 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.1.6 +BINPKG=${P/-bin}-1 +SHA256SUM_DATE=20260809 + +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" + +PDEPEND=" + >=virtual/dist-kernel-${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-bin' +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}" + eapply "${WORKDIR}/${PATCHSET}" + + 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 +}