commit: 1b67dc96dc6cfd8bae66f406075fdf33691b591f Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> AuthorDate: Sun Sep 24 13:37:25 2023 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> CommitDate: Sun Sep 24 13:40:46 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b67dc96
sys-kernel/dkms: new package, add 3.0.12 The usefulness of dkms for gentoo is arguably limited. But this is in several overlays now already. I personally need it for ::natinst so I have to maintain this anyway. Might as well maintain it here to avoid duplicate work in other overlays. With this release it now properly works with kernel-install and therefore should now work properly with our eclasses and manually configured kernels. Closes: https://bugs.gentoo.org/894300 Closes: https://bugs.gentoo.org/100754 Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org> sys-kernel/dkms/Manifest | 1 + sys-kernel/dkms/dkms-3.0.12.ebuild | 51 ++++++++++++++++++++++ .../dkms/files/dkms-3.0.12-add-gentoo-os-id.patch | 13 ++++++ sys-kernel/dkms/metadata.xml | 18 ++++++++ 4 files changed, 83 insertions(+) diff --git a/sys-kernel/dkms/Manifest b/sys-kernel/dkms/Manifest new file mode 100644 index 000000000000..f1d2fef88628 --- /dev/null +++ b/sys-kernel/dkms/Manifest @@ -0,0 +1 @@ +DIST dkms-3.0.12.tar.gz 88241 BLAKE2B 672105074b7899080a2468d347e1fdd60bb6be92852746bccff69565b4f49631568764d265495610d3aebf8df1e0c717daa123d6c3be8752d417ed1c633942e0 SHA512 81646f39c458039958159f519d4dcdfb5dcaa303f7c9898310d13e36c38f30ce57efcc2f2fc98a18ec3d232fd3c50e7a2d859ee42a023e62475e7dad070029d7 diff --git a/sys-kernel/dkms/dkms-3.0.12.ebuild b/sys-kernel/dkms/dkms-3.0.12.ebuild new file mode 100644 index 000000000000..376784e0a285 --- /dev/null +++ b/sys-kernel/dkms/dkms-3.0.12.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info + +DESCRIPTION="Dynamic Kernel Module Support" +HOMEPAGE="https://github.com/dell/dkms" +SRC_URI="https://github.com/dell/dkms/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +IUSE="systemd" + +CONFIG_CHECK="~MODULES" + +RDEPEND=" + sys-apps/kmod + virtual/linux-sources + systemd? ( sys-apps/systemd ) +" + +PATCHES=( + "${FILESDIR}/${P}-add-gentoo-os-id.patch" +) + +# Can not work in the emerge sandbox +RESTRICT="test" + +src_compile() { + # Nothing to do here + return +} + +src_test() { + chmod +x dkms || die + PATH="${PATH}:$(pwd)" ./run_test.sh || die "Tests failed" +} + +src_install() { + if use systemd; then + emake install-redhat DESTDIR="${ED}" KCONF="/usr/lib/kernel" + else + emake install DESTDIR="${ED}" KCONF="/usr/lib/kernel" + fi + einstalldocs + keepdir /var/lib/dkms +} diff --git a/sys-kernel/dkms/files/dkms-3.0.12-add-gentoo-os-id.patch b/sys-kernel/dkms/files/dkms-3.0.12-add-gentoo-os-id.patch new file mode 100644 index 000000000000..10bbacd4fdae --- /dev/null +++ b/sys-kernel/dkms/files/dkms-3.0.12-add-gentoo-os-id.patch @@ -0,0 +1,13 @@ +diff --git a/run_test.sh b/run_test.sh +index 4cda255..af089cb 100755 +--- a/run_test.sh ++++ b/run_test.sh +@@ -245,7 +245,7 @@ case "${os_id}" in + arch | debian | ubuntu) + expected_dest_loc=updates/dkms + ;; +- alpine) ++ alpine | gentoo) + expected_dest_loc=kernel/extra + mod_compression_ext=.gz + ;; diff --git a/sys-kernel/dkms/metadata.xml b/sys-kernel/dkms/metadata.xml new file mode 100644 index 000000000000..bfebb6f1a8ba --- /dev/null +++ b/sys-kernel/dkms/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Andrew Ammerlaan</name> + </maintainer> + <longdescription lang="en"> + Dynamic Kernel Module Support (DKMS) is a program/framework that enables generating Linux kernel modules whose sources generally reside outside the kernel source tree. The concept is to have DKMS modules automatically rebuilt when a new kernel is installed. + An essential feature of DKMS is that it automatically recompiles all DKMS modules if a new kernel version is installed. This allows drivers and devices outside of the mainline kernel to continue working after a Linux kernel upgrade. + Another benefit of DKMS is that it allows the installation of a new driver on an existing system, running an arbitrary kernel version, without any need for manual compilation or precompiled packages provided by the vendor. + DKMS was written by the Linux Engineering Team at Dell in 2003. It is included in many distributions, such as Ubuntu, Debian, Fedora, SUSE, and Arch. DKMS is free software released under the terms of the GNU General Public License (GPL) v2 or later. + DKMS supports both the rpm and deb package formats out-of-the-box. + </longdescription> + <upstream> + <remote-id type="github">dell/dkms</remote-id> + </upstream> +</pkgmetadata>
