Compare commits

...

4 Commits

Author SHA1 Message Date
Shea Levy
55612f9841 kmod's modprobe actually checks that the config directory is a directory
svn path=/nixpkgs/branches/kmod-no-lib-modules/; revision=33597
2012-04-04 21:42:37 +00:00
Shea Levy
31d0df7c79 kmod's depmod also hard-codes /lib/modules
svn path=/nixpkgs/branches/kmod-no-lib-modules/; revision=33588
2012-04-04 20:47:56 +00:00
Shea Levy
2b0953c34b kmod should be a drop-in replacement for module-init-tools
svn path=/nixpkgs/branches/kmod-no-lib-modules/; revision=33582
2012-04-04 19:41:43 +00:00
Shea Levy
de4750b226 Some things expect module tools to be in sbin
svn path=/nixpkgs/branches/kmod-no-lib-modules/; revision=33581
2012-04-04 19:38:55 +00:00
4 changed files with 35 additions and 3 deletions

View File

@@ -14,7 +14,7 @@ export MODULE_DIR=$(readlink -f $kernel/lib/modules/)
closure=
for module in $rootModules; do
echo "root module: $module"
deps=$(modprobe --config /dev/null --set-version "$version" --show-depends "$module" \
deps=$(modprobe --config /var/empty --set-version "$version" --show-depends "$module" \
| sed 's/^insmod //') \
|| if test -z "$allowMissing"; then exit 1; fi
#for i in $deps; do echo $i; done

View File

@@ -19,6 +19,8 @@ stdenv.mkDerivation {
do
ln -sv kmod $out/bin/$prog
done
ln -sv bin $out/sbin
'';
meta = {

View File

@@ -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)

View File

@@ -5887,7 +5887,7 @@ let
mingetty = callPackage ../os-specific/linux/mingetty { };
module_init_tools = callPackage ../os-specific/linux/module-init-tools { };
module_init_tools = kmod;
mountall = callPackage ../os-specific/linux/mountall {
automake = automake111x;