diff options
author | Shea Levy <shea@shealevy.com> | 2012-04-04 20:47:56 +0000 |
---|---|---|
committer | Shea Levy <shea@shealevy.com> | 2012-04-04 20:47:56 +0000 |
commit | 31d0df7c79b55b5afd47f73aaeb32cc3052f9f1f (patch) | |
tree | fdea6713bf23b57e8552e63cff0002ff43577732 | |
parent | 2b0953c34b9871f8fbe253ec0806016d7d06cb3b (diff) |
kmod's depmod also hard-codes /lib/modules
svn path=/nixpkgs/branches/kmod-no-lib-modules/; revision=33588
-rw-r--r-- | pkgs/os-specific/linux/kmod/module-dir.patch | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/kmod/module-dir.patch b/pkgs/os-specific/linux/kmod/module-dir.patch index 95d08da458048..64262400860b8 100644 --- a/pkgs/os-specific/linux/kmod/module-dir.patch +++ b/pkgs/os-specific/linux/kmod/module-dir.patch @@ -1,6 +1,6 @@ diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c --- kmod-7-orig/libkmod/libkmod.c 2012-03-15 08:19:16.750010226 -0400 -+++ kmod-7/libkmod/libkmod.c 2012-04-04 15:21:29.532074313 -0400 ++++ kmod-7/libkmod/libkmod.c 2012-04-04 16:28:37.442130553 -0400 @@ -200,7 +200,7 @@ static char *get_kernel_release(const char *dirname) { @@ -22,3 +22,33 @@ diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c return NULL; return p; +diff -Naur kmod-7-orig/tools/kmod-depmod.c kmod-7/tools/kmod-depmod.c +--- kmod-7-orig/tools/kmod-depmod.c 2012-03-09 09:31:04.086042138 -0500 ++++ kmod-7/tools/kmod-depmod.c 2012-04-04 16:34:53.525968272 -0400 +@@ -2523,7 +2523,7 @@ + { + FILE *out = NULL; + int err = 0, all = 0, maybe_all = 0, n_config_paths = 0; +- char *root = NULL; ++ char *root = NULL, *dirname; + const char **config_paths = NULL; + const char *system_map = NULL; + const char *module_symvers = NULL; +@@ -2632,8 +2632,16 @@ + cfg.kversion = un.release; + } + ++ if ((dirname = getenv("MODULE_DIR")) == NULL) { ++ dirname = "%s" ROOTPREFIX "/lib/modules/%s"; ++ } else { ++ char *full_dirname = malloc(strlen(dirname) + sizeof "%%s%%s"); ++ sprintf(full_dirname, "%%s%s%%s", dirname); ++ dirname = full_dirname; ++ } ++ + cfg.dirnamelen = snprintf(cfg.dirname, PATH_MAX, +- "%s" ROOTPREFIX "/lib/modules/%s", ++ dirname, + root == NULL ? "" : root, cfg.kversion); + + if (optind == argc) |