[packages/kmod] - implemented TODO: /etc/modprobe.d/`uname -r` support - second TODO item removed as it was purely c
baggins
baggins at pld-linux.org
Wed Dec 12 19:57:03 CET 2012
commit 185589bcb6d2fd659fc1dff564ce686ce9c9cef1
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Wed Dec 12 19:56:08 2012 +0100
- implemented TODO: /etc/modprobe.d/`uname -r` support
- second TODO item removed as it was purely cosmetic
- rel 2
kmod-modprobe.d-kver.patch | 32 ++++++++++++++++++++++++++++++++
kmod.spec | 8 +++-----
2 files changed, 35 insertions(+), 5 deletions(-)
---
diff --git a/kmod.spec b/kmod.spec
index 13f89b3..1d532c3 100644
--- a/kmod.spec
+++ b/kmod.spec
@@ -1,7 +1,3 @@
-# TODO:
-# - implement /etc/modprobe.d/kver/ support (just as in our module-init-tools)
-# - modprobe keeps "-" in module names: sprunge.us/dYCZ (probably irrelevant)
-#
# Conditional build:
%bcond_without tests # perform "make check" (init_module seems to require root for mkdir)
#
@@ -9,13 +5,14 @@ Summary: Linux kernel module handling
Summary(pl.UTF-8): Obsługa modułów jądra Linuksa
Name: kmod
Version: 12
-Release: 1
+Release: 2
License: GPL v2+
Group: Applications/System
Source0: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/%{name}-%{version}.tar.xz
# Source0-md5: 3d63b146c8ee5a04dfbef4be97f8226b
Source1: %{name}-blacklist
Source2: %{name}-usb
+Patch0: %{name}-modprobe.d-kver.patch
URL: http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary
BuildRequires: autoconf >= 2.60
BuildRequires: automake >= 1:1.11
@@ -100,6 +97,7 @@ Pliki nagłówkowe biblioteki %{name}.
%prep
%setup -q
+%patch0 -p1
# requires root to work
sed -i -e 's# testsuite/test-modprobe # #g' Makefile.am
diff --git a/kmod-modprobe.d-kver.patch b/kmod-modprobe.d-kver.patch
new file mode 100644
index 0000000..16e303b
--- /dev/null
+++ b/kmod-modprobe.d-kver.patch
@@ -0,0 +1,32 @@
+diff -ur kmod-12/libkmod/libkmod.c kmod-12-modprobe.d-kver/libkmod/libkmod.c
+--- kmod-12/libkmod/libkmod.c 2012-11-08 04:59:03.663747793 +0100
++++ kmod-12-modprobe.d-kver/libkmod/libkmod.c 2012-12-12 19:43:19.385242679 +0100
+@@ -58,7 +58,9 @@
+ [KMOD_INDEX_MODULES_BUILTIN] = { .fn = "modules.builtin", .prefix = ""},
+ };
+
++static char kver_config_path[PATH_MAX] = SYSCONFDIR "/modprobe.d/X.Y.Z";
+ static const char *default_config_paths[] = {
++ kver_config_path,
+ SYSCONFDIR "/modprobe.d",
+ "/run/modprobe.d",
+ "/lib/modprobe.d",
+@@ -258,8 +260,16 @@
+ if (env != NULL)
+ kmod_set_log_priority(ctx, log_priority(env));
+
+- if (config_paths == NULL)
+- config_paths = default_config_paths;
++ if (config_paths == NULL) {
++ struct utsname u;
++
++ if (uname(&u) < 0) {
++ config_paths = &default_config_paths[1];
++ } else {
++ snprintf(kver_config_path, PATH_MAX, SYSCONFDIR "/modprobe.d/%s", u.release);
++ config_paths = default_config_paths;
++ }
++ }
+ err = kmod_config_new(ctx, &ctx->config, config_paths);
+ if (err < 0) {
+ ERR(ctx, "could not create config\n");
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kmod.git/commitdiff/185589bcb6d2fd659fc1dff564ce686ce9c9cef1
More information about the pld-cvs-commit
mailing list