nixpkgs/pkgs/os-specific/linux/module-init-tools/module-dir.patch
Shea Levy 4b795e225b module-init-tools: 3.16
svn path=/nixpkgs/trunk/; revision=29556
2011-10-02 04:03:02 +00:00

153 lines
4.2 KiB
Diff

diff -Naur module-init-tools-3.16-orig/depmod.c module-init-tools-3.16/depmod.c
--- module-init-tools-3.16-orig/depmod.c 2011-06-02 13:55:01.000000000 -0400
+++ module-init-tools-3.16/depmod.c 2011-10-01 23:30:14.947293695 -0400
@@ -48,10 +48,6 @@
#include "testing.h"
-#ifndef MODULE_DIR
-#define MODULE_DIR "/lib/modules/"
-#endif
-
#ifndef MODULE_BUILTIN_KEY
#define MODULE_BUILTIN_KEY "built-in"
#endif
@@ -1514,6 +1510,7 @@
struct module_overrides **overrides)
{
char *line;
+ char *module_dir;
unsigned int linenum = 0;
FILE *cfile;
@@ -1536,6 +1533,9 @@
continue;
}
+ if((module_dir = getenv("MODULE_DIR")) == NULL)
+ module_dir = "/lib/modules/";
+
if (streq(cmd, "search")) {
char *search_path;
@@ -1550,7 +1550,7 @@
continue;
}
nofail_asprintf(&dirname, "%s%s%s/%s", basedir,
- MODULE_DIR, kernelversion, search_path);
+ module_dir, kernelversion, search_path);
len = strlen(dirname);
*search = add_search(dirname, len, *search);
free(dirname);
@@ -1565,7 +1565,7 @@
continue;
nofail_asprintf(&pathname, "%s%s%s/%s/%s.ko", basedir,
- MODULE_DIR, kernelversion, subdir, modname);
+ module_dir, kernelversion, subdir, modname);
*overrides = add_override(pathname, *overrides);
free(pathname);
@@ -1737,6 +1737,7 @@
char *basedir = "", *dirname, *version;
char *system_map = NULL, *module_symvers = NULL;
int i;
+ char *module_dir;
const char *config = NULL;
if (native_endianness() == 0)
@@ -1832,7 +1833,10 @@
if (optind == argc)
all = 1;
- nofail_asprintf(&dirname, "%s%s%s", basedir, MODULE_DIR, version);
+ if((module_dir = getenv("MODULE_DIR")) == NULL)
+ module_dir = "/lib/modules/";
+
+ nofail_asprintf(&dirname, "%s%s%s", basedir, module_dir, version);
if (maybe_all) {
if (!doing_stdout && !depfile_out_of_date(dirname))
@@ -1850,7 +1854,7 @@
size_t len;
nofail_asprintf(&dirname, "%s%s%s/updates", basedir,
- MODULE_DIR, version);
+ module_dir, version);
len = strlen(dirname);
search = add_search(dirname, len, search);
}
diff -Naur module-init-tools-3.16-orig/modinfo.c module-init-tools-3.16/modinfo.c
--- module-init-tools-3.16-orig/modinfo.c 2011-06-02 13:55:01.000000000 -0400
+++ module-init-tools-3.16/modinfo.c 2011-10-01 23:32:15.335093548 -0400
@@ -19,10 +19,6 @@
#include "zlibsupport.h"
#include "testing.h"
-#ifndef MODULE_DIR
-#define MODULE_DIR "/lib/modules"
-#endif
-
struct param
{
struct param *next;
@@ -192,6 +188,7 @@
unsigned long size;
struct utsname buf;
char *depname, *p, *moddir;
+ char *module_dir;
struct elf_file *module;
if (strchr(name, '.') || strchr(name, '/')) {
@@ -206,10 +203,14 @@
uname(&buf);
kernel = buf.release;
}
+
+ if((module_dir = getenv("MODULE_DIR")) == NULL)
+ module_dir = "/lib/modules/";
+
if (strlen(basedir))
- nofail_asprintf(&moddir, "%s/%s/%s", basedir, MODULE_DIR, kernel);
+ nofail_asprintf(&moddir, "%s/%s/%s", basedir, module_dir, kernel);
else
- nofail_asprintf(&moddir, "%s/%s", MODULE_DIR, kernel);
+ nofail_asprintf(&moddir, "%s/%s", module_dir, kernel);
/* Search for it in modules.dep. */
nofail_asprintf(&depname, "%s/%s", moddir, "modules.dep");
diff -Naur module-init-tools-3.16-orig/modprobe.c module-init-tools-3.16/modprobe.c
--- module-init-tools-3.16-orig/modprobe.c 2011-06-02 13:55:01.000000000 -0400
+++ module-init-tools-3.16/modprobe.c 2011-10-01 23:34:04.111913368 -0400
@@ -86,10 +86,6 @@
} modprobe_flags_t;
-#ifndef MODULE_DIR
-#define MODULE_DIR "/lib/modules"
-#endif
-
/**
* print_usage - output the prefered program usage
*
@@ -2131,6 +2127,7 @@
char *cmdline_opts = NULL;
char *dirname;
errfn_t error = fatal;
+ char *module_dir;
int failed = 0;
modprobe_flags_t flags = 0;
struct modprobe_conf conf = {};
@@ -2233,7 +2230,10 @@
if (argc < optind + 1 && !dump_config && !list_only)
print_usage(argv[0]);
- nofail_asprintf(&dirname, "%s%s/%s", basedir, MODULE_DIR, buf.release);
+ if((module_dir = getenv("MODULE_DIR")) == NULL)
+ module_dir = "/lib/modules/";
+
+ nofail_asprintf(&dirname, "%s%s/%s", basedir, module_dir, buf.release);
/* Old-style -t xxx wildcard? Only with -l. */
if (list_only) {