modutils: fix config options dependency (2)
- The modprobe-small implementation of rmmod no longer chdir's to
"/lib/modules/`uname -r`" as it was not necessary for rmmod's
operation. (And it no longer need to die if such modules directory
doesn't exist.)
- Configs DEFAULT_MODULES_DIR and DEFAULT_DEPMOD_FILE no longer depend
on MODPROBE_SMALL as the latter may not enable depmod or modprobe
that requires these configs.
- Clarify DEFAULT_DEPMOD_FILE's description regarding the ".bb" name
suffix.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/modutils/Config.src b/modutils/Config.src
index a15cce5..d0bae2e 100644
--- a/modutils/Config.src
+++ b/modutils/Config.src
@@ -159,7 +159,7 @@
config DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
+ depends on DEPMOD || MODPROBE || MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
@@ -167,9 +167,13 @@
config DEFAULT_DEPMOD_FILE
string "Default name of modules.dep"
default "modules.dep"
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
+ depends on DEPMOD || MODPROBE || MODINFO
help
Filename that contains kernel modules dependencies.
- Defaults to "modules.dep"
+ Defaults to "modules.dep".
+ If you configured the "simplified modutils" (MODPROBE_SMALL), a
+ ".bb" suffix will be added after this name. Do not specify ".bb"
+ here unless you intend your depmod or modprobe to work on
+ "modules.dep.bb.bb" or such.
endmenu
diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c
index 0424263..726a310 100644
--- a/modutils/modprobe-small.c
+++ b/modutils/modprobe-small.c
@@ -934,11 +934,11 @@
/* Prevent ugly corner cases with no modules at all */
modinfo = xzalloc(sizeof(modinfo[0]));
- if (!is_insmod) {
+ if (is_depmod || is_modprobe) {
/* Goto modules directory */
xchdir(CONFIG_DEFAULT_MODULES_DIR);
+ uname(&uts); /* never fails */
}
- uname(&uts); /* never fails */
/* depmod? */
if (is_depmod) {
@@ -980,7 +980,7 @@
getopt32(argv, "qrfsvwb");
argv += optind;
- if (!is_insmod) {
+ if (is_modprobe) {
/* Goto $VERSION directory */
xchdir(uts.release);
}