Messages in this thread Patch in this message |  | | From | Keith Owens <> | Subject | Re: Tainting kernels for non-GPL or forced modules | Date | Sun, 23 Sep 2001 11:56:29 +1000 |
| |
On Sat, 22 Sep 2001 17:05:52 +0100 (BST), Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: >I still have many to do. What would help me no end would be a version of >depmod or similar which warned about modules with > >o No description >o No author >o No license tag
/sbin/modinfo $(find /lib/modules/`uname -r` -name '*.o') lists filename, description, author, license and parms, in that order. Extracting entries marked <none> is left as an exercise for the reader. License is printed by modutils >= 2.4.9 (not released yet) or the patch below against 2.4.8.
Index: 9.1/insmod/modinfo.c --- 9.1/insmod/modinfo.c Wed, 28 Mar 2001 20:49:06 +1000 kaos (modutils-2.4/b/9_modinfo.c 1.6 644) +++ 9.8(w)/insmod/modinfo.c Sat, 22 Sep 2001 23:17:01 +1000 kaos (modutils-2.4/b/9_modinfo.c 1.6 644) @@ -31,6 +31,8 @@ * Keith Owens <kaos@ocs.com.au> December 1999. * Print " persistent" for persistent parameters. * Keith Owens <kaos@ocs.com.au> November 2000. + * License support. + * Keith Owens <kaos@ocs.com.au> September 2001. */ #ident "$Id$" @@ -249,6 +251,11 @@ static char *format_query_string(struct &out_str, last_char - out_str, 0); break; + case 'l': + (void) append_modinfo_tag(f, "license", "<none>", + &out_str, last_char - out_str, 1); + break; + case '{':{ char tag[128], *end = strchr(in_str, '}'); int multi_line; @@ -267,7 +274,8 @@ static char *format_query_string(struct strncpy(tag, in_str, end - in_str); tag[end - in_str] = '\0'; multi_line = strcmp(tag, "author") == 0 || - strcmp(tag, "description") == 0; + strcmp(tag, "description") == 0 || + strcmp(tag, "license") == 0; /* Append the tag's value if it exists. */ append_modinfo_tag(f, tag, "<none>", &out_str, last_char - out_str, multi_line); @@ -479,6 +487,7 @@ void modinfo_usage(void) printf("usage: modinfo <options> <module>\n"); printf(" -a, --author display module author\n"); printf(" -d, --description display module description\n"); + printf(" -l, --license display module license\n"); printf(" -n, --filename display module filename\n"); printf(" -f <str>\n"); printf(" --format <str> print the <query-string>\n"); @@ -499,6 +508,7 @@ int main(int argc, char *argv[]) { {"author", 0, 0, 'a'}, {"description", 0, 0, 'd'}, + {"license", 0, 0, 'l'}, {"filename", 0, 0, 'n'}, {"format", required_argument, 0, 'f'}, {"parameters", 0, 0, 'p'}, @@ -507,9 +517,9 @@ int main(int argc, char *argv[]) {0, 0, 0, 0} }; int do_parameters = 1, opt; - char *fmtstr = "filename: %n\ndescription: %d\nauthor: %a\n"; + char *fmtstr = "filename: %n\ndescription: %d\nauthor: %a\nlicense: %l\n"; - while ((opt = getopt_long(argc, argv, "adnq:pf:Vh", long_opts, NULL)) != EOF) + while ((opt = getopt_long(argc, argv, "adlnq:pf:Vh", long_opts, NULL)) != EOF) switch (opt) { case 'a': fmtstr = "%a\n"; @@ -517,6 +527,10 @@ int main(int argc, char *argv[]) break; case 'd': fmtstr = "%d\n"; + do_parameters = 0; + break; + case 'l': + fmtstr = "%l\n"; do_parameters = 0; break; case 'n': - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |