diff --git a/sys-kernel/gentoo-kernel-modprep/Manifest b/sys-kernel/gentoo-kernel-modprep/Manifest index 9a330f2436461..be1837070356e 100644 --- a/sys-kernel/gentoo-kernel-modprep/Manifest +++ b/sys-kernel/gentoo-kernel-modprep/Manifest @@ -9,6 +9,7 @@ DIST gentoo-kernel-modprep-6.18.48.tar.xz 9565136 BLAKE2B c1ef2d8c14cf7ef7202bf1 DIST gentoo-kernel-modprep-6.18.49.tar.xz 9559412 BLAKE2B a59b5a2d63125b31c4e4f2bbdbb1f0881112e42292d15248dc848db0591971498e77ac5873daf0a19b47dbb9eb8dcce1073eb82bf91dbc548fdb39eea15a5bf8 SHA512 41eac9696e333f8fadbf55872de7c2197b26326b99456609951efd4f3d05bf11bc59310c47d73ae505b96040ad6fc6a60fa5458ca5ead71a24a3aa3903731b98 DIST gentoo-kernel-modprep-6.18.50.tar.xz 9562696 BLAKE2B f070af33b770f4997ec5950cc5c42c9b8c6d2ad67fff6835654810107d89aac6edf176ea873eb3a8073527cd0eca027c531334749f82ae2405fe94d4f7cb0e8d SHA512 4913b3526b000fb99d639cfdad9ccfad9e118bffe747d20c00aec38381fcc988a348de1bd6349ff46f811a29e8f235e28b4946bbe8a8475192a050caffa77e50 DIST gentoo-kernel-modprep-6.18.51.tar.xz 9561948 BLAKE2B 2acf6c234ea36df4f23c31995957ece21701c34a88a21ba32c2a80e5d1c29c13e8786d5e3afec366511ed16b634f909f55e9844f1ef5af9d0ddc603d0e9cda89 SHA512 a3af985501655ce376500596aace186709037beae5b3bf01c52e035e2a09fafd8dba8b3e8348ee26fe30aaaa728a4bc8c323ddf4767d58d7909a0b035c37396d +DIST gentoo-kernel-modprep-6.18.52.tar.xz 9557100 BLAKE2B 9221abbf0276010fc4c435683cea6e05506f67aab205386b1a869828d45e1c14f8efdd1c4acdb69645199a1428e7687c65d946018aa11bd114e71cbe4d3361c2 SHA512 ca707c8cc5f91d557c3c35f136f7407d671f933e98c40c1f221acf2a040b8dd7a382096e5f37d4d1dfec926a75a5b5e7882c04c452740ac61816dbea81f711a0 DIST gentoo-kernel-modprep-6.6.155.tar.xz 8266584 BLAKE2B c43161f8d71304fc120bbac6d977250a8fb3e357dc5b8fa3b000cc8b26861c04be38c5e4b993d594985872623048dfb488f31aa21d39eed77cf5184c754ab91f SHA512 a1863dd79c9b4f780c4aed454d9d91731a8b6821b7a3ca89f8e4ebc95ddf13af726f36fff7bf1784099eb56add600e19c87afc9fd9404ed17c8520e211307083 DIST gentoo-kernel-modprep-6.6.156.tar.xz 8268364 BLAKE2B eae7d8caa7115c66d58d4dbba44f2a27903678e3fdabfa3fb9efafdacd48e4e6d7f49a2d59083912b8ae4aa1d41fcb483772bc18a8cac316b92be35757bdd195 SHA512 d81f8ed300b7b2a3eea0eacd4c19492d24d4091ac3b0db6ed0642e3b1c98feceeb5525d2287ed560e3d1bdda29b2c76a00f0c417dcc5278454e276f2c56230cf DIST gentoo-kernel-modprep-6.6.157.tar.xz 8256156 BLAKE2B 1367734e3acbe6f8a877bdef5b4add258e196f30d5ca7f922cb9533b23e49ddb3ca77d4d962fad2df9c44a84ec85adac3dec65bd18b853e60743b04678c50db0 SHA512 d47bd8210cad1ff66428b2aab3ae5ad90570d6d7278ba47f59b6f39592526953b5896c0e035eb4b8b248a1ea035582e93caf7229044e359511d346ac330d250e @@ -49,6 +50,7 @@ DIST patch-6.18.48.xz 3258276 BLAKE2B 2065b089db773cd504b7e09e4fb111e68463ad2846 DIST patch-6.18.49.xz 3282948 BLAKE2B e1a030bfe327190d14a9d3eefa77c8823a276d7f84c112a01e1f99572f35e283296415fde0a8f3f92564682a7c86b046045bd4d57f66e940bb42bfc65beab4dc SHA512 6cf1fbc3cedb1a2ef11c6ec7d045aa0f8214cb06ecfdc30cca7724207a40fc896deb6dde269d8bd87750ffe07634e7429e076e80167755526d634698bc3980a8 DIST patch-6.18.50.xz 3404240 BLAKE2B 3b7794114d37bf1f5f0c95b5b6f44aa33c00096a162dcb6fc48006e22871d2f731626f8759f54bc30cddb8561d75896e0546124e5b11b9e6332ea121d55eb164 SHA512 2ebefa6d5c0102130ecc8445e58e674e581568b728e4b40e1dfdfa3039a10c9d1af533b2b95d3b56ae30a056838af7bfe58f78c1642c56e3db14a3c1228ffe75 DIST patch-6.18.51.xz 3545252 BLAKE2B 1636bb5b2dfab15f9bafeb215f925acdb5c7df0fc544d7787ffbe76cd1efcaff7cb99d925e39997e7cff37266192dd07ad3d7de3a8a845a907de9d5cf72b2dcc SHA512 c5022b7b718093b791237599a00565bf37f7e6d256e136c88ddc9508163cea5993bb22cfbbf928c3604e12ecb76d7e2ce814a3634d5a65e7c84825eb4e773f9d +DIST patch-6.18.52.xz 3996672 BLAKE2B 97ef23b4b70a2e02c1d6c2fa2b4b1c895743802007f2ac6ceb8df086c9b9fac1cff9b80c210761775de5d17012ea8c9ff9c7c3bc1561f087b92f623ec3302c8a SHA512 f1c32303a8eb7f20c7f5c8d592a23140ff880075d0e4151bf96d5b0365ff64b35324753894d8ba822ad797e673b2a878f18d6a2f557dd6d3aca1fcc8d4e5764d DIST patch-6.6.155.xz 6891280 BLAKE2B 1df8fbf4aab980280a52f6199f44f3030f917872fc5bf719dcd6bfeb236cd340aaea6cfe1da06948bbfbbdf4f89232a577e11dd0e422fb544ed2824b12f1c9cb SHA512 09f9f30b4bb33a324e3237e7eef78fe0dca9dc5d28e4c432a6e6bffc2a02dd4828f19bd1f0572e4f98cba94df55f427e11248689f0ae16437d0ef4cdda1a977a DIST patch-6.6.156.xz 6914532 BLAKE2B 95bda8ed3689d35c3bb5410f3c33b80097f78b038d343c33df3699dfb9d216215560411b939f2c6e8cba8990aa1169e914617d2432e14674484bbcac0b47d175 SHA512 de670a00152147ff05f19a5d519917bf522dfe40b3b88619e76dc768ffbf8d4609ba761c600c9441521de6254f87a6a2cf6162218ae90b1e75d7f5825c5dda10 DIST patch-6.6.157.xz 7211724 BLAKE2B 0b1c80d86bc3fac163ef830979d2c3492e6b72ee56f17c18ce561b399a8b36d7292aabd56012bc978a7bd0b319551f7fb86d688a5e974be01a069446058f72b0 SHA512 6aca3405b62daa0e1fac66d5500705d6d780900b2960e2f50449b0db84cb4a1a814e7eadc9d97a3c959262e3cffb8ec63492ee6c3c0af163c1c8f8a10c184e1c diff --git a/sys-kernel/gentoo-kernel-modprep/gentoo-kernel-modprep-6.18.52.ebuild b/sys-kernel/gentoo-kernel-modprep/gentoo-kernel-modprep-6.18.52.ebuild new file mode 100644 index 0000000000000..fb5ef5e39e31a --- /dev/null +++ b/sys-kernel/gentoo-kernel-modprep/gentoo-kernel-modprep-6.18.52.ebuild @@ -0,0 +1,177 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dist-kernel-utils toolchain-funcs verify-sig + +BASE_P=linux-${PV%.*} +PATCH_PV=${PV%_p*} +PATCHSET=linux-gentoo-patches-6.18.42 +SHA256SUM_DATE=20260914 + +DESCRIPTION="Minimal subset of gentoo-kernel-bin for building modules, for containers" +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 + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/modprep/$(ver_cut 1-2)/${P}.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 + ) +" +S=${WORKDIR} + +LICENSE="GPL-2" +SLOT=${PV} +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +RDEPEND=" + virtual/libelf + !sys-kernel/gentoo-kernel-bin:${SLOT} +" +PDEPEND=" + >=virtual/dist-kernel-${PV} +" +BDEPEND=" + app-alternatives/bc + app-alternatives/lex + app-alternatives/yacc + dev-util/pahole + virtual/libelf + verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) +" + +KV_LOCALVERSION='-gentoo-dist-bin' +KV_FULL=${PV/_p/-p}${KV_LOCALVERSION} + +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 + + unpack "${BASE_P}.tar.xz" "patch-${PATCH_PV}.xz" "${PATCHSET}.tar.xz" + local pkg_arch=${ARCH} + [[ ${ARCH} == ppc64 ]] && pkg_arch=ppc64le + tar -x -f "${DISTDIR}/${P}.tar.xz" "${P}/${pkg_arch}" || die +} + +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=( "${P}"/*/usr/src/"linux-${KV_FULL}" ) + + mkdir modprep || die + cp "${kernel_dir}/.config" modprep/ || die + emake -C "${BASE_P}" "${makeargs[@]}" modules_prepare +} + +src_install() { + local rel_kernel_dir=/usr/src/linux-${KV_FULL} + local pkg_dir=( "${P}"/* ) + local kernel_dir="${pkg_dir}/usr/src/linux-${KV_FULL}" + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + + mv "${pkg_dir}"/lib "${ED}"/ || die + cd "${kernel_dir}" || die + insinto "${rel_kernel_dir}" + doins System.map Module.symvers + doins -r certs include scripts + + local kern_arch=$(tc-arch-kernel) + insinto "${rel_kernel_dir}/arch/${kern_arch}" + doins -r "arch/${kern_arch}/include" + + # Add the identifier + echo "${CATEGORY}/${PF}:${SLOT}" > "${ED}${rel_kernel_dir}/dist-kernel" || die + + cd "${WORKDIR}/${BASE_P}" || die + insinto "${rel_kernel_dir}" + doins -r include + + # remove everything but Makefile* and Kconfig* + find -type f '!' '(' -name 'Makefile*' -o -name 'Kconfig*' ')' \ + -delete || die + find -type l -delete || die + cp -p -R * "${ED}${rel_kernel_dir}/" || die + + # strip out-of-source build stuffs from modprep + # and then copy built files + cd "${WORKDIR}" || die + 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 +} + +pkg_preinst() { + dist-kernel_update_lib_symlinks +} + +pkg_postinst() { + dist-kernel_update_src_symlink "${EROOT}/usr/src/linux" "${KV_FULL}" +}