diff --git a/sys-kernel/gentoo-kernel-modprep/Manifest b/sys-kernel/gentoo-kernel-modprep/Manifest index b3a8e7d046066..22e252ebb496c 100644 --- a/sys-kernel/gentoo-kernel-modprep/Manifest +++ b/sys-kernel/gentoo-kernel-modprep/Manifest @@ -1,5 +1,6 @@ DIST gentoo-kernel-modprep-6.1.177.tar.xz 7629496 BLAKE2B 9cfda56d89d4d0f5c4ce736a931528d505402c6e2fd29c1e3bef60c1ddd3bc27e5edbe117eff7c1247d9e19eae717070f18027a260c3da47ecca377e009e2b27 SHA512 41cf44a73e56250eece3c482081f5b737e2f867a7f6cc67efdda0ecf48a239c3bfd0704021807ac5f4b6fb97342e25c0a2bdbb7df00eec7894bf189168c4f180 DIST gentoo-kernel-modprep-6.1.179.tar.xz 7438592 BLAKE2B 56e96cef5bf5be59c563c7d6116abb9cbd585a2bddf56fa80bc063a9ad634acadbef024f5bdba559c49dacd20487953d633f677954695d46f6a854a5cbbd0c94 SHA512 751476a516445bb935ed9069a8845eaa50b9bfa9224082e9ababa33eb05c0155329a986d3f5f804f5e7de2e6e06dc18bf25d3fb4bb8a8879939e45fa8b8bf59e +DIST gentoo-kernel-modprep-6.1.180.tar.xz 7426668 BLAKE2B 9533e3dc2646e157b543bb0a4f5476de9fa5b63cc3aeab964535558fa6539032309c498361519201dced74b28efb62f62d832fff05b56b18bf4ccb4563c8801d SHA512 b4dc273b05b66dc80dc7e357ddc8066d8979e2d5402ae3b2a069e11f603f348349d1d95d3eb59eb3f87086c320013db4cb7d5eb8324c02720b53b85a8bf6c530 DIST gentoo-kernel-modprep-6.12.100.tar.xz 8915760 BLAKE2B ad20659b03a2af87db240714a13ff2dc2c24a91191caee0ca49567506b0d132e121f02565e47600ffeffde33897e08dcc12392903083d1ffd6ecc151db885d16 SHA512 e11d2d9b16d5aacf3d23946980bccad595b01e367c626db837ddeb411fe8ef1855bf822976bc505baa5d2a890293f2a0a8eb51035d2cdce61eb00d02c3b5d2b5 DIST gentoo-kernel-modprep-6.12.94_p2.tar.xz 8881680 BLAKE2B 53ca847f718eace8a954be748fe663a30dccdfc93fc4fb8fd407d3a372d69da9238c7ef154a8fb0cd20e7215843287d64d63dedcf20a9a1dcfe77d02caf655d7 SHA512 f2b1effbbdc0113f6c3d31e9ccf63fde8f4cb176c57f0f5f83b77f2b67f6eedfca7d227d127965b791e644900a82b867e2ed688b872a3c30fc5a7baa6edfb54e DIST gentoo-kernel-modprep-6.12.96.tar.xz 8908716 BLAKE2B 3d0b1d5f5d11d5441e8eaa3e3559ee32bc532245f25e6ab2cde94045c76963ffcb676b1c994dda1de10ac92a2d29bdd0aac3236bbe910e44e8cc4c399d698540 SHA512 16dec73ecc1a2ced37eab762e4c68eea1e2460aa9c1ad2362f25933fd762173039918dfae5816f84939e615b6534d5615cb43a69bd2b8491028d44500e301323 @@ -38,6 +39,7 @@ DIST linux-gentoo-patches-7.1.3.tar.xz 12076 BLAKE2B 3cc00cd7b7afaab4d9e35d2ae7b DIST linux-gentoo-patches-7.1.5.tar.xz 10484 BLAKE2B 9b65135d72792375660312e27170cf92858c1a5063c38faed02b378dae399d8f119ca3ff1400175c7354d3e14d1b179a96b4087141d6da649b7ce90b3be1af02 SHA512 c496dd761ee462fbad26186c21f5809e6f7c915de17c4dfc9d1b7ff612f9edc45891b7e7b0381d4faaa50091c4699989a89e1162f897bd6f352170157718f94a DIST patch-6.1.177.xz 7632012 BLAKE2B d1c93ff47abb193b430fefe75414af9128c621b2da4538e769eff8728c0035f948e2f5fe245a3633f4f6ec31857f0046aed5e493510c17dd340b434dc66428c7 SHA512 0f5bfce80c44916fe52a9adcda37f568fbc0a2e108f16a11d0b46f1c2d66bf197e1cbfa08bdabd85ac2bbeb4bc751dba7e76fb4d2f70658df7e24bef62cb91c0 DIST patch-6.1.179.xz 7844400 BLAKE2B 9466335d5eeb08e5ba076151129ef1ed5ca6b0d2132f69dddafbac44295e767066a8e9db605c167a9a75b01647da8ab15fac63c221a4863deb362152bf05302c SHA512 1a12f69f0b8b59d90a27e26e447e9c8f2979e70c9927384a87cad7edd3c56e981123cf1b2de73c2bc4524a211792f9094cde9693296b9c8297d41f8dd2bc1a07 +DIST patch-6.1.180.xz 7846572 BLAKE2B 8cf59bea6c376c6e544b8afe42fcdb19bd00da7b5b984d0d0ffbcf6f44c2d6d320eac5a9ffb3cbdedc5ab6ba840c7e779b1f8676ed292737eb6543793b049b10 SHA512 04ac7f1330e4d9dcf3f8f2bb3b8678ee345dfbfa47e66ac4ba842ff80cb834b6bb49dc513a88726855f4f35eb9150d0c899a0b2e7df5503183efa7718a2b2acd DIST patch-6.12.100.xz 5245604 BLAKE2B c0fb332fb1bb5ed18cd6dfebe40569b975073ed2b2c7101c04bb8c6281a1a0dea999bc6985adc50860233e4c2ca57c394090625bb83a288122a0c3fdc8142ba0 SHA512 09a74ff66e3bdaa9684ef98c0a4e30979bebe319f119b14b87a62bae2f52d995abba4194ce11ea5e02928d140707fdd7e8e2336a376a0507a5aea1c91a55dba4 DIST patch-6.12.94.xz 4823260 BLAKE2B e3db641e9965737f5143714a52277c454fd70664b0a51f627f92a61d438c738e85451611afb60e8476e6d2aacec4f0e9dc009f3b720ac3bd59c54bad438cd8a4 SHA512 5afc7235971df37eb1209798d074469737614fd505f56b7ba0045053de69d35101abb375bf50d0dbe1fd2f211877bbd3353eb922427f7f2958911d1a7203bb08 DIST patch-6.12.96.xz 4953340 BLAKE2B 455d0eb19086f1feb82905ea233d9347595e1e92b1e943913e8f3d534bd2f7242e7ac1fb7781f239090eb606fbf5e308d8a4a0ce8686b430a58a3e33263afc4c SHA512 c112d977ca29d5967fbc6d678491f159ac15b7e3a5b03b7237fc5c4eecb1ef1a9a0e3c20bdeed55a680376990b1c52aadc9e0ad2f7a4f3406a0c1bf66b5771b4 diff --git a/sys-kernel/gentoo-kernel-modprep/gentoo-kernel-modprep-6.1.180.ebuild b/sys-kernel/gentoo-kernel-modprep/gentoo-kernel-modprep-6.1.180.ebuild new file mode 100644 index 0000000000000..f93072e0295be --- /dev/null +++ b/sys-kernel/gentoo-kernel-modprep/gentoo-kernel-modprep-6.1.180.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.1.178 +SHA256SUM_DATE=20260730 + +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}" +}