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
+}

Reply via email to