tools: kmod: Add handling of compat modprobe
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Thu, 22 Dec 2011 05:54:46 +0000 (03:54 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Fri, 23 Dec 2011 05:09:05 +0000 (03:09 -0200)
Makefile.am
tools/kmod-modprobe.c
tools/kmod.c
tools/kmod.h

index 1752abe..9523d71 100644 (file)
@@ -92,7 +92,7 @@ tools_kmod_modinfo_LDADD = libkmod/libkmod.la
 
 tools_kmod_SOURCES = tools/kmod.c tools/kmod.h tools/kmod-lsmod.c \
                     tools/kmod-rmmod.c tools/kmod-insmod.c \
-                    tools/kmod-modinfo.c
+                    tools/kmod-modinfo.c tools/kmod-modprobe.c
 tools_kmod_CPPFLAGS = $(AM_CPPFLAGS) -DKMOD_BUNDLE_TOOL=1
 tools_kmod_LDADD = libkmod/libkmod.la
 endif
index 2e4efcb..53efa08 100644 (file)
@@ -1088,7 +1088,7 @@ static void log_syslog(void *data, int priority, const char *file, int line,
        (void)data;
 }
 
-int main(int argc, char **orig_argv)
+static int do_modprobe(int argc, char **orig_argv)
 {
        struct kmod_ctx *ctx;
        char **args = NULL, **argv;
@@ -1307,3 +1307,20 @@ cmdline_failed:
        free(config_paths);
        return EXIT_FAILURE;
 }
+
+#ifndef KMOD_BUNDLE_TOOL
+int main(int argc, char *argv[])
+{
+       return do_modprobe(argc, argv);
+}
+
+#else
+#include "kmod.h"
+
+const struct kmod_cmd kmod_cmd_compat_modprobe = {
+       .name = "modprobe",
+       .cmd = do_modprobe,
+       .help = "compat modprobe command",
+};
+
+#endif
index 0e6c063..1d48b3f 100644 (file)
@@ -43,6 +43,7 @@ static const struct kmod_cmd *kmod_compat_cmds[] = {
        &kmod_cmd_compat_rmmod,
        &kmod_cmd_compat_insmod,
        &kmod_cmd_compat_modinfo,
+       &kmod_cmd_compat_modprobe,
 };
 
 static int kmod_help(int argc, char *argv[])
index 62be697..5bab760 100644 (file)
@@ -31,5 +31,6 @@ extern const struct kmod_cmd kmod_cmd_compat_lsmod;
 extern const struct kmod_cmd kmod_cmd_compat_rmmod;
 extern const struct kmod_cmd kmod_cmd_compat_insmod;
 extern const struct kmod_cmd kmod_cmd_compat_modinfo;
+extern const struct kmod_cmd kmod_cmd_compat_modprobe;
 
 #endif