diff --git a/sys-kernel/gentoo-kernel-bin/Manifest b/sys-kernel/gentoo-kernel-bin/Manifest index 1cb33eb1b4752..67f3a43f57532 100644 --- a/sys-kernel/gentoo-kernel-bin/Manifest +++ b/sys-kernel/gentoo-kernel-bin/Manifest @@ -10,6 +10,8 @@ DIST genpatches-6.13-6.base.tar.xz 417180 BLAKE2B 69cafb7cb776dba4705d15c409930e DIST genpatches-6.13-6.extras.tar.xz 4056 BLAKE2B c87a50404218d0c961f2aa31f39dc5b98a3f6d3488e05e2f43e687dc01deb20395d4a5e9e98eecf8a7f29ecf0b654fe1166b6076d6b685f07c2bdfb33a9f192a SHA512 f11b487705feea7c9113ef6b624bafb3341ceafc9d825726a692b929b068dc1587d23b14e024c36ba04cbfd1e5bb4fdb2e1234611d3469759f018f009cd6f02b DIST genpatches-6.6-88.base.tar.xz 4497952 BLAKE2B 65f393c767bd4edda1954fc15c90e07f5d5a67a445fe24063a94f7eeea23196bc0da417514a4048bd91b5cd330a309e69df4653846be0e0207abc649efa7f072 SHA512 16e5cc40edfe8edd95dad7e28f89b9593ee24fd380444ff67376bc95f71c71cb13b9a0ace7562ae7275c2acd405419534b8ffd66ee78a81897970b4c43f203ee DIST genpatches-6.6-88.extras.tar.xz 4056 BLAKE2B 9dce8d9362ca0e3548e31392659afb0b475eb0ee03bb71c51cac40411f35ba8ffe519c3e8438a05dfd140a8032321b8936df4f48cc8eb87f8fd6ce0635249da6 SHA512 02e4cd170b09901dc9bf2655065a8eb44e2330375fbbb2c3aa81d3f8c2bf6854403b4d7b412fa3d6bb377ec3e39f5091355a0b649f6a69282123e3d710464845 +DIST genpatches-6.6-89.base.tar.xz 4537568 BLAKE2B 9778c7c5767689142745d1d3d18dba49cbbdee9ed4baf64553c76acc962c8edd2a5b1e23c39c39c5e6b3988dd410b480359f7630aadc2983c9128fd28960d419 SHA512 c33a6996dd54955bbe3a63fa1bf8536dfc8e96a8ef0c00a4bb12feb3d2d0a251744ce15efcbf7c756af564528c66406df02e30008259398bdea959d06e79c9fd +DIST genpatches-6.6-89.extras.tar.xz 4056 BLAKE2B 4b99db4ff4597f9e5298dd9399d266284d685b09c6ca40461f547781f2e90c339332ce681b10827dc06eb7eb437ee929782f8894ba5148c8bbd1cc1bd59e86ac SHA512 261266e9f0287a0e92b047a6f829cde05d7226c1e4b4a1952bf46c565385f34879ded18d43bdd83a4233d08bcfabd9f8c9fdb86b4dd8c43e2de88719bb1734fb DIST gentoo-kernel-5.10.234-1.amd64.gpkg.tar 63662080 BLAKE2B 08da5926b5b7ed9a6963584c2e157725f3de773435cfc5beb50b54b477ce6b45a05d8c95fae62ea8a057516ea74bd86332566287f1e94abe09676cb1de3da76c SHA512 8e32408115186ced223719eac7304f3d180ddf44a87bc95118d876353fe2a24b0ab2497a12396ecfcde1608891f6dc4c52d9056aa87e9b3ad0325ea451a84bd2 DIST gentoo-kernel-5.10.234-1.arm64.gpkg.tar 56842240 BLAKE2B 5fd1f3f0959afb2edc6c3a6038b10b1930726ac177dadbe50c8034ba6dc2ee830307985e4634fc4881a8f03a6c268d20ae0730ae9e3edaa902d8997b93c66323 SHA512 a0930aaa5f4107b0e87e62a4f569c74ebe2a96e6c8f7947d7cbfceae9ace9b9ab287bf984ec07a0e99c13db65f703279cfbde61b94036b28cfa473c6f318649f DIST gentoo-kernel-5.10.234-1.ppc64le.gpkg.tar 52838400 BLAKE2B 294837fab511941bb5cc3a5e23dbd3d57b40338c6eb706cc5080123559d30b5b1f6bbb5ed6983bccc7ed8904fb1e03ff38d111153e9612ca06e772896eb11ef9 SHA512 65ac1f9f14b51adb1f32935c3d92fe32724d7b87b61d209f9966f25c312f93005fa12ae1cc6fba064a0692471476a67803c41da8e19cf8c713616bce64f4bfe6 @@ -34,6 +36,10 @@ DIST gentoo-kernel-6.6.79-1.amd64.gpkg.tar 273090560 BLAKE2B dfdc2f634661feb6e7d DIST gentoo-kernel-6.6.79-1.arm64.gpkg.tar 246046720 BLAKE2B 3e76317748f6fd0647de23a6863140d0bc9ff496945b84eb32de5156fe2982cea24a9b1464aa7f401d35b460a18c0c28e77b8ab1914cbd12096912b39303e035 SHA512 ee8a7f7d65c299b6f084e237045f0b1bfb5f64499897c1b97164fb86e232ad3479854bd318caf2c90c58405accdf01a4493d01def588d68ad0b46e6a854e07e2 DIST gentoo-kernel-6.6.79-1.ppc64le.gpkg.tar 64419840 BLAKE2B 2f22db03fb329e9072188095918822dd50d2804aa0b849a15e0a7cc63c6c079dedf8158cd7a63375533fe8ca4df5f58bcb4fc20b68cab06306554480203a1f90 SHA512 58c1601c9d8d3068efa9831631a9c3268abd35216b557fd37de624330ead3ce2a5cd312c8ea73739ec4d792f267e399f9a4f1eb0de9dae56b1945decc519127e DIST gentoo-kernel-6.6.79-1.x86.gpkg.tar 68577280 BLAKE2B 298977a8f03936b6fb107c17542def9338f3cb4a6d0da61f09ad60053f5f8ddc8f18dfc33bd89635adcb8c902753ca3fd840009d22d1e15d9d2e4894d16f9346 SHA512 ab269ebd923b36e2c7e3ce9ec7c76d102227a2c4e27d60e7b6627f064831c3f755e55b70f3d3bb3b4035a21c91cc9d76aeb19f32a727f7ba172df0cd80618bb8 +DIST gentoo-kernel-6.6.80-1.amd64.gpkg.tar 273233920 BLAKE2B cfc7a199811dfcd468f00a47a1900625d1bbec934ef80d7a39d39cd833ae77310fcda8c6b87f42fe2fdf62d8b7124879710bd2d50e34a617647c250add4005c2 SHA512 84e1aab1dfc84cc5d4aad5f0cd9f4c78962e7481c54017941ed19b5fa8404ad2a13f83b00f04f2dc5529db24970d2048582134b7ae1d9efb5c7afc383728a6d8 +DIST gentoo-kernel-6.6.80-1.arm64.gpkg.tar 246200320 BLAKE2B 9c0210b3d774d2a05dacafc7bace47871676dba808a9883fa12b437dab6bad3e140ea9b9f2350275cacfa8ffa98d964ae81d35804583fc071e5f83728ea3e5fb SHA512 6a413b435dc8d0195ac0a37159ee4d191a3c9620f51e36da43009881a62473c049ca9b04329e07e9aaeaf2c1f95bd2757afb4b01bef9056ee8538b715f9b122c +DIST gentoo-kernel-6.6.80-1.ppc64le.gpkg.tar 64430080 BLAKE2B 484c6aa25ffb0e7c8753c87cb0aecdf23e9671485002982b9ad88349cf538e62de093c1c33065d48f500a973d89f8de5409b3115083519dfaca8162c83ec87ee SHA512 1d50806ec986dd6d1b2871244660ce1e0c792408cf93fc3d9745c899de7c60128b0fd00df00ba713f7b123f99dca4847f1fbf1592369c7c38d4c4efdbd2357fe +DIST gentoo-kernel-6.6.80-1.x86.gpkg.tar 68587520 BLAKE2B 95d4ca43f75193d7b733b6c116003ee03a8cf96b41403ac341f6d13366dc2d7d735b188d29cb48b4641ff79b6e66b5fafe53481a26705c8dff16602d8d526721 SHA512 e4fcbe5d3e2617398ea2ed724abb1ebb2399bd683eb57cace236f3abb3a327ebcdffa97f8215d20e6bcad224543065fb0ce2246cb65b53bdd6d1363e79e23069 DIST linux-5.10.tar.xz 116606704 BLAKE2B b923d7b66309224f42f35f8a5fa219421b0a9362d2adacdadd8d96251f61f7230878ea297a269a7f3b3c56830f0b177e068691e1d7f88501a05653b0a13274d1 SHA512 95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a DIST linux-6.1.tar.xz 134728520 BLAKE2B ae60257860b2bd1bd708d183f0443afc60ebbd2b3d535c45e44c2e541bd0928530a3b62de6385dd4e4726ebbedcc0a871d4f3ffb4105b9f1f6d8ed7467f5688e SHA512 6ed2a73c2699d0810e54753715635736fc370288ad5ce95c594f2379959b0e418665cd71bc512a0273fe226fe90074d8b10d14c209080a6466498417a4fdda68 diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.80.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.80.ebuild new file mode 100644 index 0000000000000..7ffb1f6159f90 --- /dev/null +++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.6.80.ebuild @@ -0,0 +1,183 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KERNEL_EFI_ZBOOT=1 +KERNEL_IUSE_GENERIC_UKI=1 +KERNEL_IUSE_SECUREBOOT=1 + +inherit kernel-install toolchain-funcs unpacker + +MY_P=linux-${PV%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 9 )) +BINPKG=${PF/-bin}-1 + +DESCRIPTION="Pre-built Linux kernel 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 + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar + -> ${BINPKG}.amd64.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~mgorny/binpkg/arm64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar + -> ${BINPKG}.arm64.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~mgorny/binpkg/ppc64le/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar + -> ${BINPKG}.ppc64le.gpkg.tar + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar + -> ${BINPKG}.x86.gpkg.tar + ) +" +S=${WORKDIR} + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="debug" + +RDEPEND=" + !sys-kernel/gentoo-kernel:${SLOT} +" +PDEPEND=" + >=virtual/dist-kernel-${PV} +" +BDEPEND=" + app-alternatives/bc + app-alternatives/lex + dev-util/pahole + virtual/libelf + app-alternatives/yacc + amd64? ( app-crypt/sbsigntools ) + arm64? ( app-crypt/sbsigntools ) +" + +QA_PREBUILT='*' + +KV_LOCALVERSION='-gentoo-dist' +KPV=${PV}${KV_LOCALVERSION} + +src_prepare() { + local PATCHES=( + # meh, genpatches have no directory + "${WORKDIR}"/*.patch + ) + cd "${MY_P}" || die + default +} + +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 + + 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-${KPV}" + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + 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 "${MY_P}" "${makeargs[@]}" modules_prepare +} + +src_test() { + local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}" + kernel-install_test "${KPV}" \ + "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \ + "${BINPKG}/image/lib/modules/${KPV}" +} + +src_install() { + local kernel_dir="${BINPKG}/image/usr/src/linux-${KPV}" + 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}/usr/src/linux-${KPV}"/ || 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 +}