summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-kernel/gentoo-kernel-bin/Manifest4
-rw-r--r--sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.11.6.ebuild182
2 files changed, 186 insertions, 0 deletions
diff --git a/sys-kernel/gentoo-kernel-bin/Manifest b/sys-kernel/gentoo-kernel-bin/Manifest
index 206f77982e5a..6c9b59ee2a87 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -72,6 +72,10 @@ DIST gentoo-kernel-6.11.5-r1-1.amd64.gpkg.tar 291328000 BLAKE2B 9c1ba7d9cf2b3457
DIST gentoo-kernel-6.11.5-r1-1.arm64.gpkg.tar 268390400 BLAKE2B 946224df401b5c18884f5bf10379862d2536c672fc7962f0f83eeb1966d897479383ee33a42ef692ef4ad4bef9a750740bebef36ccede5c4a3673635a4aafe0a SHA512 dc7d31cf8387ffacb370ce6db1bf830549c59e7cac744958b353062cc9a143370b80232070a9a32d324f9698f166f81da83fc1d93ac6e8dff103c61a318319f3
DIST gentoo-kernel-6.11.5-r1-1.ppc64le.gpkg.tar 72785920 BLAKE2B 9865a9fab8030c696d8f84dcc471a9bd8432e6cd603b23e6c5e0fd181ae06b8f76255603d02cbe2767fe2449677be80ec4f0488987f56675df4e3dee41ba4a7c SHA512 a3971900701d743619127eaf8b9072e0c6f0b188e744de4433f3edb59f80adec69316682e3e2d2d787c26f891664bd33373d837eb7e205a0219d5602588181ff
DIST gentoo-kernel-6.11.5-r1-1.x86.gpkg.tar 76482560 BLAKE2B 44f4af75a2daa8b1433152c8af8e414494b5d23dc9b11aca22529a10c6c28b43350cff31c6420dae0f6df5e8382d41f580f5bff5b05c9c14cd23516d44e8eba0 SHA512 4a6d8ce4e25d541de1096ec2ead561b3f9d7115db7a76e539fa395e058d19adbbf1b59c24380534064f3114b9797d398447c1a5dc2b806217f0bd2c765295837
+DIST gentoo-kernel-6.11.6-1.amd64.gpkg.tar 291389440 BLAKE2B 4c5e3cd6bb1d4c798ee77b73a04488ec946591e4a843c37f1d2349aa05bddd1bf22d3b7840fdb94c7eff0dfe946782820a3145bc4cd983a8d9776bc749020987 SHA512 9ea5c5fcf2fe0c8defaea2e97e97a2fb63d35fb5b2b6edd71d2c7d995aec43eac035fd9e8afdae88a004b53216c4f39d9119b2e1f02df885fae1a75fb5e94966
+DIST gentoo-kernel-6.11.6-1.arm64.gpkg.tar 268462080 BLAKE2B e9ccc0ab604dccbd7a86a07ded8e3c4ef495fdefbdc0146fdd917bff3514a2e83edd293654e347b8b878dc4014c5584fd845a5fb4f3d376a20fe32e18cac9126 SHA512 d02ec12629981d102aaeef96d8fb4dcb8039b680dc580b0174f0802e362361b20c2f02c19e5c9d7b4f8ff5cbee578d6a326398411872e3488ea980d424dd6c5a
+DIST gentoo-kernel-6.11.6-1.ppc64le.gpkg.tar 72816640 BLAKE2B 019c29aff28ac2b99886eb68f6b2809d34803dfa1bc82c68e914ede618f2195c9609ab7408bd1748526020f5bcbe5eb504ec232805ea182909fc7dd8d7869132 SHA512 edc9ad35a01b1c2201dd76f550f9773fe10c4e86d1b1bdb610140871ff917f1b813a026f3f46cb62ad467c43f9a87559a1406b17ccb04d5bfafdc80492ddd3b3
+DIST gentoo-kernel-6.11.6-1.x86.gpkg.tar 76472320 BLAKE2B 51b28592911cb54ff06079877e3ba3a198a3ef0e287a011ea89bc406a977a568c1a59927b464cadb1d6955134c72f5ccd1fa0006eb235e3f8e59916607389c43 SHA512 83107ebc4d9149a2e9281c854e42c7930941d0d2d3de227a984616cf73b8c0e495ef009bff3663f0167ac72df79ca3eca59e52b980e18702cbc127c650818621
DIST gentoo-kernel-6.6.57-1.amd64.gpkg.tar 264243200 BLAKE2B 6929ae1df44f7ca9ded205e42ded2f601f6252adec0cebdeedf2f4343a2f4d62c904ffb1b1c30b948dd5928d00ddea93db1382de1e06e8cac71749dc3120fb9b SHA512 a55c92d767adc3186e25d2ea652432f2ecc900e4c2d7da8c83264cddc4661aeb4ccf7c1bfdb801cc53bb166a900ed2045120646fc9018fa89de9d97678827dc3
DIST gentoo-kernel-6.6.57-1.arm64.gpkg.tar 241264640 BLAKE2B 4f3d7c7e1f4027361bb2705e12bade25342e4b38ff933e81bb4708f6eb77e7096da69912a86c12e2e5ed3cacc1c9fe00cfe31ad4e8d46f2fd406c4fa8277eb59 SHA512 68ba3e5736dc0c98fbc8c14b75246063710f504d36cd7aa4ff4c7a7161d0120a67ea0d6d3b5e7162ea734d959b77398396e7b00a833f6056f8ef94c98ee8cd6d
DIST gentoo-kernel-6.6.57-1.ppc64le.gpkg.tar 64296960 BLAKE2B d679aebf79ca62f5ff7c01bce794067d74b53fe7b60f42c18a644039fea55ba4de95c2f4a75060d38f276353c037575cea6c98668cfd1ff3adcc26f12dd84973 SHA512 73c659ace206fdbe9b4abf2115670afa2416e36c489f45e332cc8fa136f889590a329acf959df8381fd59191677799b6ff4469052a0368d8c11d5bfc12b9107a
diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.11.6.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.11.6.ebuild
new file mode 100644
index 000000000000..e264bcf1bcc9
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.11.6.ebuild
@@ -0,0 +1,182 @@
+# Copyright 2020-2024 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##*.} + 1 ))
+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/-2/-1}.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
+"
+
+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
+}