commit:     cff99175779d918f6bec718769ae434fda69b945
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 24 14:37:33 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 24 14:45:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cff99175

sys-kernel/gentoo-kernel-bin: Bump to 6.12.40

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-kernel/gentoo-kernel-bin/Manifest              |   6 +
 .../gentoo-kernel-bin-6.12.40.ebuild               | 224 +++++++++++++++++++++
 2 files changed, 230 insertions(+)

diff --git a/sys-kernel/gentoo-kernel-bin/Manifest 
b/sys-kernel/gentoo-kernel-bin/Manifest
index bd590e5ce2d9..c7985135bffe 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -32,6 +32,10 @@ DIST gentoo-kernel-6.12.39-1.amd64.gpkg.tar 305684480 
BLAKE2B 98e56038ce6747356c
 DIST gentoo-kernel-6.12.39-1.arm64.gpkg.tar 279408640 BLAKE2B 
20526546e4bea8c3aa0b483242b1ef2104f9bde59e11719f8d80f1463e18dfcfa8c9691e7ba5f8b72bc68179af083b95e96e3b9b152409f56f07c12c66a0ddc7
 SHA512 
cf5500ff4e19188598c1b2c0764d527b627423db0df28b25cc20a117d3afb6a69227217461a9f8aaaf866325d592f415c4d74cbd7e931d9d5470c6e551af55eb
 DIST gentoo-kernel-6.12.39-1.ppc64le.gpkg.tar 73318400 BLAKE2B 
b205959fdfca1700f0d474a19054fbb2e2e0adefcbf00780a7926b2e25a3ef2c284b82de54d3119891489619d41dba0063d7520c9fdccb293e791fcd14e07960
 SHA512 
78eb9230f55e3c0fa3c46e8439f56e09fafa58175e28ce469bfc40f2b7eed64f2f3497447ad778b57776f31bed69383ceba12b60ebc0aa328ab64d8117de08e7
 DIST gentoo-kernel-6.12.39-1.x86.gpkg.tar 77701120 BLAKE2B 
f62225b73501cb0438739dd347ded68a7f3f450e6e0c414a9b9b0a4a045ef85d4ad04548cc9cd25b899a5c5f5fe8b80eeae6ae09218ece34ac163fe994aa6250
 SHA512 
7836d8787ff592fadd1dec76ac7418ee63b249a8c092f2c0ef34a9e017fd542e9cc0626fece063212032316dd2788b89c6002f3151b7b5e8bc3661b6152e87b0
+DIST gentoo-kernel-6.12.40-1.amd64.gpkg.tar 305735680 BLAKE2B 
22f0e225f1dc9a75718c5875f229bfb8237afcf19187c35175922dbef6bd8a946656752a006c9cf74c51302abbaa23c7300aa633a80c3916ba3f7ecd0162bf78
 SHA512 
9947a0a892c73a78bbe820b4be1d84af1b2e79386074092be903764cb18d7bf578669e459443e33886a26a12e110fa2724b2c9206f294646263e2ca069a102e5
+DIST gentoo-kernel-6.12.40-1.arm64.gpkg.tar 279429120 BLAKE2B 
d94567104715e0e09d4b6a7e022969c78832f6bb2131a731a7e5bf5dec42a175d64db8d2dd4b506fc38c706706e86977f7b49e1a1561b486368f1f8c600831d0
 SHA512 
e29a13cb954913c2ccd807e47c3d8a8f51af1a9850ad22e2f6d8593520601e5e5f438dda8cef5253f5026407047e02c444ca72ea658bf46103698909dbae7ea6
+DIST gentoo-kernel-6.12.40-1.ppc64le.gpkg.tar 73297920 BLAKE2B 
ad8e72e9db9ae4948d61901cc9284072a85cf786bf851342ea7ac64d2c83e0014c9ed37077f60cdbe1c62c23ecf4869a7302f3533b00237013d886782afee4bc
 SHA512 
68bdc776803b2fa015667fe4df0733e14901733ccea44afcc24051f1c566d5f2a33c3d6cc1561041d106ca65a72089e831e8f76131985d1dcdedb60e14f90b2f
+DIST gentoo-kernel-6.12.40-1.x86.gpkg.tar 77649920 BLAKE2B 
e34a816803151c5b2b1c68c8616defe4d88764948acea56aaaaf9778bcd1041231855f3f6c8d75aaadc3f656908982e4e614b760d18a79facdfd02594332e6e8
 SHA512 
33fd174c99955ce39b6289fcd2fd81353f42bf37c90e883cfd57fcfc2d39dcf8d2db7ee1201038e4eed0d44f861101f4d1cef8f7a7e64eff458cada2ab77235e
 DIST gentoo-kernel-6.15.7-1.amd64.gpkg.tar 326338560 BLAKE2B 
32eb6182623b4866bfbadd05627e2e089ce9d544495b5d1902f8fd482e80767a4cdeee04b1657ea83440be1fa4ccd383d924d5051e9bce690116fc10a3892688
 SHA512 
9ca0569db82abb792295f9502a7a9b3e67c679b2ca980683a76f90d6e4fb475989d547c55448cae3a328839bd30b79744101786ae24d6c67c8984eacf66c237e
 DIST gentoo-kernel-6.15.7-1.arm64.gpkg.tar 289505280 BLAKE2B 
ea8f0419898736b76e22220015cdb9acfbf696912a18b01c4c1650fad6bcc89519eafd83c879d4232012b8dd43e901dda341c5e481bdb3bd0eb0ee709c0ecd22
 SHA512 
20ac64770aa2bf6ebe1937baab682fab8a635da23623c66fabd33ece85877a4efaa1839c8e66ed7c85c960fa8fd498563dc6721b5cf7503be8b2c8c45cc89821
 DIST gentoo-kernel-6.15.7-1.ppc64le.gpkg.tar 75243520 BLAKE2B 
7bd39eb361d8dd0873ad5fd00efcd0ce79c9ec91828023f6b26ae97bb18d22166baeb62d39f54ea4b5bbe8ef74aa75eb4edb1e80b35c56cea007db07c2d7107c
 SHA512 
e54368eb732091c664a0e3d5e7991ef7b6d610991b527a6f262b397fb32755758544df7e0cb06b85322ce4163d01a9b7580047a83f87c20825515587cbd7e5c1
@@ -63,6 +67,7 @@ DIST linux-gentoo-patches-5.15.187.tar.xz 8636 BLAKE2B 
64db6ded446586a589fc36753
 DIST linux-gentoo-patches-6.1.143.tar.xz 27676 BLAKE2B 
dc4a08be01c737a3131c0ac11b7697d025cd3cd90a411a2f883b615757931c0dba9c2b45a3ef9c33bf17e36c1ac9c14a9b8f3a8243a599edbab2ac72f3b36f1f
 SHA512 
c2e4e885f98c9d87a9f2725697ac757d50bf7c881db6c1a992f5108c10b0922f08739857372d78dba745240f9b74555fa2bea095e25a9827bd3a76c0eb3cbf87
 DIST linux-gentoo-patches-6.1.146.tar.xz 27676 BLAKE2B 
214c191392ac219a9d380f34727bb07bbeaaf87c0d67b3315ecacc30e5a6a177df3dcc077e68e5b1d32c17f2d2e1675fe289b637c3ad287a0012dde1211b5da8
 SHA512 
a0bac906c5d505363946410e36c61b63cbe48ae2f7f7613101c10d2db20545d922d6f19e6cebd5ff363e8b799cece47fc51a748942a06fe46099d5c8dcf2e2dc
 DIST linux-gentoo-patches-6.12.36.tar.xz 17848 BLAKE2B 
b1257367ba4d02ef5f1bce8846368badd80e27f3eef8bd0c6f906478e0316b29be4b0b8ecafc550cffa82fef78c656672faf74682edb8d6ef92e80ac5e0d8c20
 SHA512 
c84797f87077964699edb5b7e34682b99d6fa4278d177385a6d78f7de409ec46eeaf40917443003f7bf5453fbfe608e28cbb05553c27656a0267e6421988790c
+DIST linux-gentoo-patches-6.12.40.tar.xz 19240 BLAKE2B 
2e5bdafcbe44cab520c86d7ab37c48c5b032693cee5674d1625432e4ac6285137a3df2aec24abe4cf795247f76226ff236f09f7e748ba3bd7db81cc76af03526
 SHA512 
dfb551b87530b0509293e87cd70d2d91f1c669c62adc6c7f34395ffdd5fbfc19bbfe943f84c188653a71bd627bea95f5f9391f4edbf0e269a8da98e191477fe2
 DIST linux-gentoo-patches-6.15.5.tar.xz 83692 BLAKE2B 
0b0831734f25b00a3523592439625342d12b0361b56e4d8243f94c045a27eeedbc02086032f01240d26807721d55d8a4011513b5610d1bf4889e35b7ac171afb
 SHA512 
876750fbfb36f75ddb69026563a2d43310e116c567491a5428da30383a38d9384b97455c7ea61a1faa949b44dd22f402262c63a3701568ef3f8ab2d5f67f6c0f
 DIST linux-gentoo-patches-6.15.8.tar.xz 85336 BLAKE2B 
04e7f012c9375fac93fdbfd97a7450ed9022110c56eff2b9b76a856d83c2dab97da983c4c577c7df3f06ec889771f772f281d0ae837b3e07dee30fec79dad110
 SHA512 
cc51a68444a20c4f106fc16d6f6327d40372faf77fad8e76936a50f97102736166efffc107a405cfe8124b61dbf1370095b811d0172af9003d6e6eaca4effa64
 DIST linux-gentoo-patches-6.6.96.tar.xz 41508 BLAKE2B 
fd1a612b4376ffc7b916dba5c1f7b7d54a2f7724e96b44fbb1be929ff09868414b2462a37dd57f06960eba3c981088880ce350b1d5a1def225482bbb4f1e6971
 SHA512 
913ea1723e814930a7f78bf46cfc7d677a4f574f3e1a17b2a2af4075e86ce3d88de59cc1884dd2e8b49975dd293ea190545040b9b1f430bd74d37b88e58b9a21
@@ -73,6 +78,7 @@ DIST patch-6.1.145.xz 6289404 BLAKE2B 
c076fe18a597abd32ec98e2cbd64971ce1ee39395a
 DIST patch-6.1.146.xz 6304812 BLAKE2B 
9863e30d45849ad733e500c90958d63210adbd46690a8a0e1688a39bba6337ac38b777cba8f63870159a47c191bae188919163cf081bbd44f197f2f3a28f76d8
 SHA512 
0ab0a0f42ae4c83fd440ff26e822de1326980372a990d3eca2b3247462ee2b5810de00d9e3fe9cef5bd58d5a9d968971325e255df1569d5d6f66572c816e3e81
 DIST patch-6.12.38.xz 2489864 BLAKE2B 
d19f238739698d9696a5d1f6f7d506dfd60163532110dfbb5e32e6c42790dc7ffbd79f97e6ffa22b276854081f0d7c2ca3792dbe53bc75897852fc4ae3b473f8
 SHA512 
ba24b744a5ccf441234b59a274d6f7d62e082144aff05f4e7acd0cba7c36e969536073e9884398a25e113ccbbf6c938d1e6e068e8d029a8650d7b62788c0bf58
 DIST patch-6.12.39.xz 2528176 BLAKE2B 
14e84ae5521b713099716e433e62ec6efde278bbf3c17774217691a198e4b5b6f5376f443da8d856ee452004e2a883bbe1333aace95417c1e6d7ae563212b6a4
 SHA512 
fb9e76731865aa502d8baeadab660306d6ca89e0b128708cd7e187c03653f06dc3db8fd35663ea7c26920e1a050a4397d52d691977397e4252a8ee25d0ff009d
+DIST patch-6.12.40.xz 2557804 BLAKE2B 
d50f1197d02cf3ba65e6fea43323ce72dbc1ab963f7dca687aa50d4d3576f143dc664670889557aff647722541c2c84ea8c6390afcf3bc14c92abfda73441064
 SHA512 
fdedbe0e4f7f997e808b1e26dc715a3b5065839d38ef46aaeac298073448ae14591b92e95ee5c438e11b9b166a0d322c802aca1462e4632737000f4b697e6b9e
 DIST patch-6.15.7.xz 643180 BLAKE2B 
fdaa044b4c10a74e7433a0d042cd2499a52f2bbc15406bfef50ac84f118b3fbebd6dc4fec14842584ef163878afb0fcf7e22b20560eb903d6aab742bfb0ef743
 SHA512 
f2f5ec1337890d70fff47b8f6c85239240440f8fbaefaa6fe2222f63c94175616c231a28a5bca49795112997bf5474c857a477008bd33f3acf0b1c8a54363e9f
 DIST patch-6.15.8.xz 706220 BLAKE2B 
dea53067591c113c1cc1c5546c6ca1a561199c9b5d36e7b68c0dc712fd0851c879bc24f6bfcf38aa044c0e2dbe565bca4e5f655aa3c48755c5efda8e6fb5e4f2
 SHA512 
a6341a8c6ca08a0a02598ea2b60dfcf88f99aededda4e3c37bbb8a07fc2d8720d590d9054ef59a8c611f7e4fe1184e3781b6c1a6e0daabac9015597236354158
 DIST patch-6.6.98.xz 4604084 BLAKE2B 
80dfd1d02480b98e00fb49d45c5e1e86216f869608152aa507722b53acec38d9797e1dc8717936616427429410ffff765d69f65799a91ce54e76c7661d11e303
 SHA512 
08fe3ebd2c775cee5a9724448cff73c9358e7a630c45fd88d053e9baea15a5dcf88f6bbc4785b4c2919d1670878b53219d9d50acffe768c15e170aed46773708

diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.40.ebuild 
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.40.ebuild
new file mode 100644
index 000000000000..65eb8bd366e1
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.12.40.ebuild
@@ -0,0 +1,224 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_IUSE_GENERIC_UKI=1
+KERNEL_IUSE_MODULES_SIGN=1
+
+inherit kernel-install toolchain-funcs unpacker verify-sig
+
+MY_P=linux-${PV%.*}
+PATCHSET=linux-gentoo-patches-6.12.40
+BINPKG=${PF/-bin}-1
+SHA256SUM_DATE=20250724
+
+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/${MY_P}.tar.xz
+       https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/patch-${PV}.xz
+       https://dev.gentoo.org/~mgorny/dist/linux/${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://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 )
+       verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 )
+"
+
+KV_LOCALVERSION='-gentoo-dist'
+KPV=${PV}${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 "${MY_P}.tar.xz patch-${PV}.xz"
+               cd "${WORKDIR}" || die
+       fi
+
+       unpacker
+}
+
+src_prepare() {
+       local patch
+       cd "${MY_P}" || die
+       eapply "${WORKDIR}/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
+}
+
+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-${KPV}"
+
+       # 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"
+       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
+}

Reply via email to