diff --git a/sys-kernel/gentoo-kernel-bin/Manifest b/sys-kernel/gentoo-kernel-bin/Manifest index 67f3a43f57532..a1787e8f8b3c7 100644 --- a/sys-kernel/gentoo-kernel-bin/Manifest +++ b/sys-kernel/gentoo-kernel-bin/Manifest @@ -6,6 +6,8 @@ DIST genpatches-6.1-139.base.tar.xz 6935336 BLAKE2B 30d7dd358ce4588cb948cff480a3 DIST genpatches-6.1-139.extras.tar.xz 4056 BLAKE2B aa22b3363e11a53ee35d0d4ec3e95b3bac0326a6931bf0a260219da44b50f7ea8da69c4525d0c96e24fed013a8fb9f8fbf0471ef446afb55ffff13b4c7f7cb26 SHA512 473d93d7065dfe9223493df37a04b1d1a6be9707e05501868341e6058604b96fa697198978214ce8e8f70e5ad4f54dda4e9241639c48001540901120ffb3d7ac DIST genpatches-6.12-20.base.tar.xz 1202448 BLAKE2B 29d739ca47c15374e039c5ca76017dca7ff4da352bd161127c0fa1d2d9faae002a99d284b3dcc94cc6357e3df9f43d4637fe172948709a2a6829df836edae0d3 SHA512 47e5e47d11ce176d3cb22e51641b2987d8b3aff62fc12546f3336c939108da5fbd66f1d2dee0b0d932b896666e504b8449bc988c34bca8620e3b185322db0106 DIST genpatches-6.12-20.extras.tar.xz 4056 BLAKE2B d4c33c87e387de3b7bda99a9b58c8b8284129e945ceebe7b3972038bfcf9ccd0b67c0136f82ca1178ea60e12861e3bec4b26bf7b3c91c36fe9ecb0520930f1c9 SHA512 af5c01cb6e4154c20cc5d3cc84c90aab8e43b616e04da2c08b0e4e86b62c9a840a02dea467bc7eba39f699457c37a8038c5e81991bc3234dbfa5cba37bdab4e2 +DIST genpatches-6.12-21.base.tar.xz 1264008 BLAKE2B afb287c5e9e923f8e9dd87199579d3471a23a8dddbb537936ae652fc6a0023d3472cd964465e0771904a51d79b39b1e5b24c4534d7922279bb6da5b284e16c53 SHA512 c7c79180619f5a00d824717b273cddfa15b55adb7a645619f6e61f193f0fe8f8040bec2782c9a05e3d4896451148701108fe1d3a7730edb26d46f7802f5101f8 +DIST genpatches-6.12-21.extras.tar.xz 4056 BLAKE2B 3e9f15c4f81d5435193b58cc9ca334d88aba9e2f53fd4e92a4d03af361efeb0169c7bcbc6e5f63e84f76b7ea7025c6bf21ce265d5e382967191839a0d54f73c3 SHA512 aa3ce68cc56dbf92c2e149a9cb3c6e55e8b232d4984eeb30346d31070d3650724e2749d46eadaa103c8f40c9eb1a23c4fd66c641d31eefa84a60b988057d409c DIST genpatches-6.13-6.base.tar.xz 417180 BLAKE2B 69cafb7cb776dba4705d15c409930e7006775ecf92f7ce2be78fd2d43dcd04ee8b02fbcf4286545963fe24785bbaeada9bf20c47c45777e7cb2ad097170d82bc SHA512 eb3d03ab002ce5079beabd9fd5ad4423406fe00f1f2013989a8686ecdeb30ebcaba3df9878167ac930da85eca801762370b0538f14720d2efb8c65787dac5bbc 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 @@ -28,6 +30,10 @@ DIST gentoo-kernel-6.12.16-1.amd64.gpkg.tar 304384000 BLAKE2B 5205126714ad78a4b2 DIST gentoo-kernel-6.12.16-1.arm64.gpkg.tar 277760000 BLAKE2B 65177a98b10daef43e83417961f64162359447baba3e903356840d48aba228856a53561203395de9625402f6d0a214c2333108c00e1c650a9a316083449d9887 SHA512 9d3d3fea88a4a69858f12d4296bdb159e4b3ddf1efab17d8a5633146d132a33c8f294b60e36dd9560dc29c9995784a1d5faf34b4d13c431ec558feb70ab4d3fa DIST gentoo-kernel-6.12.16-1.ppc64le.gpkg.tar 73113600 BLAKE2B 143339a5b0b2d0e59bcf16b961c1852f2d3816e7c97e99f59b44f67f9fcacccfe9b1ac989a4755c66281d5a687348d0b8a240d2138ffdd97898ea06db233f680 SHA512 4fad8d4c859156d6a76bc59cbfd27ff511517f950d8dd5663f9e8939be36300f92a1a773dd7e9b5ea04e8e26048b4385fb633214221939cd3bb0cc7f9fde9af2 DIST gentoo-kernel-6.12.16-1.x86.gpkg.tar 77322240 BLAKE2B 07f4eca6f372f6744a60888f16f18cbc7d26c7698244ab6ff27ddaba21ba8ca92e9a06d048b6c41b1ce586936d816a1866a0ba230858ba48101f4d07ce1cb796 SHA512 4d149f6f2e981ea139615534bab9019530cd45da06654db5e913a350f2c6b8f8112c51f9348a8093a12670b3e9ade2a045f641ad0be948c575cfd1b096ee75c4 +DIST gentoo-kernel-6.12.17-1.amd64.gpkg.tar 304424960 BLAKE2B 9383ee67bfd899d5f78ef9ee76b68d4efbcd553912eddf1a7694f5e4ec6b5dbe81849a8543c904dd95f399299d1b9db7c7200c3c45df99d5a773d626d38c3b60 SHA512 1b1862add68fee5b1aaf636ed3c37f36ae4fbbcff269dfaa4d40b1433f630f32550c5cac3b04625e0f924c4a6661ccdb262a7b62e9d94b246caa602e4e74f980 +DIST gentoo-kernel-6.12.17-1.arm64.gpkg.tar 277903360 BLAKE2B f9d615dd346fdf05ad5766772c662b124657be82169b0ccc519a7e8a9d9496625d7be7be20e3b6be9880ea63d556dd02be90a0cd9ff77f5c50d02baa1ea828ce SHA512 c8f1fe15a5e8a723d43dd3549e9be42b5b44d480e0f1ecb6f3d2b78737989cc3293885b429024b1f296aefd48d5c77102eaf8812579aa89f3052048fdb0a70d9 +DIST gentoo-kernel-6.12.17-1.ppc64le.gpkg.tar 73144320 BLAKE2B 77bb9e5ae5c3c60c82ca9b8ca051e276ce2149b4e9089499068a871afb2177da4dcf11ccad7208d1c4fcc1a1c45670b4901eb3f0fce93347a5988bfa9678d263 SHA512 a363890cb88b9406724d4ac5e378ed4f829b4d978b4673b8c00acb5c1a8e196a062229275e54d14ab47c3573a53ecb3f229264e719e257f1dbf0158ff744d6d7 +DIST gentoo-kernel-6.12.17-1.x86.gpkg.tar 77332480 BLAKE2B 74129e0753e022bde0e158471a82a4c305df297eddbac66f7ab135a88cbb59bd38ab555122c215065dff499fcb4bfaed95058998deb307308d7f371da8caf013 SHA512 de1c68472cf4b414b5b3a1a529881188b0d1889b08e9636bd0a3674afe1191fb260d845238b370fcbf525e9dd1b0dfd7d2cf3d564a0a4c78a4ba43cd414436a3 DIST gentoo-kernel-6.13.4-1.amd64.gpkg.tar 305807360 BLAKE2B bfa6617fb9fa1cc5cd4c94f0d00eaa9e5e5ca4906ff2fa59fc01cab8c5767fabc3491b4a964c611f031ef9d6f070a2454c18252b5c87d58a403aaf7aeb1ab148 SHA512 212ba9f66a569c6f99978397ba5469858447a5525b3128d2d884e99dbd795e7f3532203979575912c4977a333dc3fd84d93a1d7eb4ef1ab961877e79bf4ab269 DIST gentoo-kernel-6.13.4-1.arm64.gpkg.tar 279511040 BLAKE2B 2845f71188b6feb068caef78e9b58d9818738ed23af2583e4ba164edd4d5ae108ff396d4be15dda6f5375c4d606450ff80009fc3078637fc52673ea1c07644ef SHA512 575bc231f15a1e84c615ff03e0b3ed6497ddc7382428cb193446406485e81fd487e55e03aec71a7abeaec472f25d45ad8e9449c7711e4ac1ee5e26eea276ac93 DIST gentoo-kernel-6.13.4-1.ppc64le.gpkg.tar 73236480 BLAKE2B 36a298b8dbb2c581218d5534e1ae389e0494f46712cbe288e44845ab84bd167d667e3c2ce93ed9e3feba764de854bb97d7f77c2c8897164dd19f7f4a5686eeba SHA512 9fda52f55185eccc0ad85d05c4d47db242cea84f6c6bd7910cf2a7a388a6d23d2129584f1936a7d01d502e027fcfeb0dd0ddb41e46ecccc38d563a43be6e63b6 diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.17.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.17.ebuild new file mode 100644 index 0000000000000..08897ff35647b --- /dev/null +++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.17.ebuild @@ -0,0 +1,184 @@ +# 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##*.} + 4 )) +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 rel_kernel_dir=/usr/src/linux-${KPV} + 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 +}