This patch changes 'modprobe' & co. so they honor the 'LINUX_MODULE_DIRECTORY' environment variable, rather than looking for modules exclusively in /lib/modules. Original patch by David Guibert, from Nixpkgs; adjusted to use 'LINUX_MODULE_DIRECTORY' rather than 'MODULE_DIR' as the variable name. diff --git a/depmod.c b/depmod.c index a1d2f8c..ff579c7 100644 --- a/depmod.c +++ b/depmod.c @@ -48,9 +48,6 @@ #include "testing.h" -#ifndef MODULE_DIR -#define MODULE_DIR "/lib/modules/" -#endif #ifndef MODULE_BUILTIN_KEY #define MODULE_BUILTIN_KEY "built-in" @@ -1516,6 +1513,7 @@ static int parse_config_file(const char *filename, char *line; unsigned int linenum = 0; FILE *cfile; + char *module_dir; cfile = fopen(filename, "r"); if (!cfile) { @@ -1525,6 +1523,10 @@ static int parse_config_file(const char *filename, return 0; } + if((module_dir = getenv("LINUX_MODULE_DIRECTORY")) == NULL) { +
aboutsummaryrefslogtreecommitdiff
path: root/gnu-system.am
diff options
context:
space:
mode:
Diffstat (limited to 'gnu-system.am')
-rw-r--r--gnu-system.am1
1 files changed, 1 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.amf MODULE_DIR -#define MODULE_DIR "/lib/modules" -#endif - /** * print_usage - output the prefered program usage * @@ -2136,6 +2132,7 @@ int main(int argc, char *argv[]) struct modprobe_conf conf = {}; recursion_depth = 0; + char *module_dir = NULL; /* Prepend options from environment. */ argv = merge_args(getenv("MODPROBE_OPTIONS"), argv, &argc); @@ -2233,7 +2230,11 @@ int main(int argc, char *argv[]) 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("LINUX_MODULE_DIRECTORY")) == 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) {