commit: deaa5d7cdfe42b04f81f000e670e4f97731bd311 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> AuthorDate: Wed Jul 9 19:02:22 2025 +0000 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> CommitDate: Wed Jul 9 19:06:28 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deaa5d7c
sys-apps/kmod: add 34.2 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> sys-apps/kmod/Manifest | 1 + sys-apps/kmod/kmod-34.2.ebuild | 94 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) diff --git a/sys-apps/kmod/Manifest b/sys-apps/kmod/Manifest index e6c3dab07105..ce72d59756b9 100644 --- a/sys-apps/kmod/Manifest +++ b/sys-apps/kmod/Manifest @@ -1 +1,2 @@ DIST kmod-33.tar.xz 514428 BLAKE2B 5fb4ea9d96217f8c94cba752b07a1b53228c6ae79dbaa605030cd84e3c6ca8d9c1a703a0253cea1d6c78a78f1507e2a1d9c6215d28dcb01b9e7f8b98a9fde425 SHA512 32d79d0bb7e89012f18458d4e88325f8e19a7dba6e1d5cff01aec3e618d1757b0f7c119735bf38d02e0d056a14273fd7522fca7c61a4d12a3ea5854bb662fff8 +DIST kmod-34.2.tar.xz 443748 BLAKE2B 73e7664ef882f5d17985230797d619716b52adfbd39761579a375cdda1f516a0e120b8e3a753983d44b4cff08d3109737aca0b19283549c53a6cc2772f7ae812 SHA512 0e095c45ad61a6c61ce1ad61b9aa10cf5040e688b749f9a933b0e7d12de493c58027a5068b459cbbce05576fc564a22b83a3dbef1e6511b2a3e27034c88afd33 diff --git a/sys-apps/kmod/kmod-34.2.ebuild b/sys-apps/kmod/kmod-34.2.ebuild new file mode 100644 index 000000000000..8d5a77452243 --- /dev/null +++ b/sys-apps/kmod/kmod-34.2.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson shell-completion + +DESCRIPTION="Library and tools for managing linux kernel modules" +HOMEPAGE="https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git" + +if [[ ${PV} == 9999* ]]; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/kernel/${PN}/${PN}.git" + inherit git-r3 +else + SRC_URI="https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kmod/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="LGPL-2" +SLOT="0" +IUSE="debug doc +lzma pkcs7 +tools +zlib +zstd" + +# Needs work to deal with building dummy kernel modules. +# Also need to diagnose failures. +RESTRICT="test" + +# - >=zlib-1.2.6 required because of bug #427130 +# - Block systemd below 217 for -static-nodes-indicate-that-creation-of-static-nodes-.patch +# - >=zstd-1.5.2-r1 required for bug #771078 +RDEPEND=" + lzma? ( >=app-arch/xz-utils-5.0.4-r1 ) + pkcs7? ( >=dev-libs/openssl-1.1.0:= ) + zlib? ( >=sys-libs/zlib-1.2.6 ) + zstd? ( >=app-arch/zstd-1.5.2-r1:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-text/scdoc + doc? ( dev-util/gtk-doc ) + lzma? ( virtual/pkgconfig ) + zlib? ( virtual/pkgconfig ) +" +src_configure() { + # TODO: >=33 enables decompressing without libraries being built in + # as kmod defers to the kernel. How should the ebuild be adapted? + local emesonargs=( + --bindir "${EPREFIX}/bin" + --sbindir "${EPREFIX}/sbin" + -Dbashcompletiondir="$(get_bashcompdir)" + -Dfishcompletiondir="$(get_fishcompdir)" + -Dzshcompletiondir="$(get_zshcompdir)" + $(meson_use debug debug-messages) + $(meson_use doc docs) + $(meson_use tools) + $(meson_feature lzma xz) + $(meson_feature pkcs7 openssl) + $(meson_feature zlib) + $(meson_feature zstd) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + newinitd "${FILESDIR}"/kmod-static-nodes-r1 kmod-static-nodes +} + +pkg_postinst() { + if [[ -L ${EROOT}/etc/runlevels/boot/static-nodes ]]; then + ewarn "Removing old conflicting static-nodes init script from the boot runlevel" + rm -f "${EROOT}"/etc/runlevels/boot/static-nodes + fi + + # Add kmod to the runlevel automatically if this is the first install of this package. + if [[ -z ${REPLACING_VERSIONS} ]]; then + if [[ ! -d ${EROOT}/etc/runlevels/sysinit ]]; then + mkdir -p "${EROOT}"/etc/runlevels/sysinit + fi + if [[ -x ${EROOT}/etc/init.d/kmod-static-nodes ]]; then + ln -s /etc/init.d/kmod-static-nodes "${EROOT}"/etc/runlevels/sysinit/kmod-static-nodes + fi + fi + + if [[ -e ${EROOT}/etc/runlevels/sysinit ]]; then + if ! has_version sys-apps/systemd && [[ ! -e ${EROOT}/etc/runlevels/sysinit/kmod-static-nodes ]]; then + ewarn + ewarn "You need to add kmod-static-nodes to the sysinit runlevel for" + ewarn "kernel modules to have required static nodes!" + ewarn "Run this command:" + ewarn "\trc-update add kmod-static-nodes sysinit" + fi + fi +}
