commit 185589bcb6d2fd659fc1dff564ce686ce9c9cef1
Author: Jan Rękorajski <[email protected]>
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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to