SOURCES: module-init-tools-modinfo-kernelversion.patch (NEW) - -k ...
glen
glen at pld-linux.org
Tue Feb 12 17:03:03 CET 2008
Author: glen Date: Tue Feb 12 16:03:03 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- -k kernelversion backport from 3.4
---- Files affected:
SOURCES:
module-init-tools-modinfo-kernelversion.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/module-init-tools-modinfo-kernelversion.patch
diff -u /dev/null SOURCES/module-init-tools-modinfo-kernelversion.patch:1.1
--- /dev/null Tue Feb 12 17:03:03 2008
+++ SOURCES/module-init-tools-modinfo-kernelversion.patch Tue Feb 12 17:02:58 2008
@@ -0,0 +1,74 @@
+--- module-init-tools-3.2.2/modinfo.c 2005-01-18 05:25:23.000000000 +0200
++++ module-init-tools-3.4/modinfo.c 2007-10-08 00:51:46.000000000 +0300
+@@ -272,7 +272,8 @@
+ return (char *)end + 1;
+ }
+
+-static void *grab_module(const char *name, unsigned long *size, char**filename)
++static void *grab_module(const char *name, unsigned long *size, char**filename,
++ const char *kernel)
+ {
+ char *data;
+ struct utsname buf;
+@@ -290,8 +291,13 @@
+ }
+
+ /* Search for it in modules.dep. */
+- uname(&buf);
+- asprintf(&depname, "%s/%s/modules.dep", MODULE_DIR, buf.release);
++ if (kernel) {
++ asprintf(&depname, "%s/%s/modules.dep", MODULE_DIR, kernel);
++ } else {
++ uname(&buf);
++ asprintf(&depname, "%s/%s/modules.dep", MODULE_DIR,
++ buf.release);
++ }
+ data = grab_file(depname, size);
+ if (!data) {
+ fprintf(stderr, "modinfo: could not open %s\n", depname);
+@@ -322,7 +328,7 @@
+
+ static void usage(const char *name)
+ {
+- fprintf(stderr, "Usage: %s [-0][-F field] module...\n"
++ fprintf(stderr, "Usage: %s [-0][-F field][-k kernelversion] module...\n"
+ " Prints out the information about one or more module(s).\n"
+ " If a fieldname is given, just print out that field (or nothing if not found).\n"
+ " Otherwise, print all information out in a readable form\n"
+@@ -334,6 +340,7 @@
+ {
+ union { short s; char c[2]; } endian_test;
+ const char *field = NULL;
++ const char *kernel = NULL;
+ char sep = '\n';
+ unsigned long infosize;
+ int opt, ret = 0;
+@@ -347,7 +354,7 @@
+ else
+ abort();
+
+- while ((opt = getopt_long(argc,argv,"adlpVhn0F:",options,NULL)) >= 0){
++ while ((opt = getopt_long(argc,argv,"adlpVhn0F:k:",options,NULL)) >= 0){
+ switch (opt) {
+ case 'a': field = "author"; break;
+ case 'd': field = "description"; break;
+@@ -357,6 +364,7 @@
+ case 'V': printf(PACKAGE " version " VERSION "\n"); exit(0);
+ case 'F': field = optarg; break;
+ case '0': sep = '\0'; break;
++ case 'k': kernel = optarg; break;
+ default:
+ usage(argv[0]); exit(0);
+ }
+@@ -369,10 +377,10 @@
+ unsigned long modulesize;
+ char *filename;
+
+- mod = grab_module(argv[opt], &modulesize, &filename);
++ mod = grab_module(argv[opt], &modulesize, &filename, kernel);
+ if (!mod) {
+ ret = 1;
+ continue;
+ }
+
+ info = get_section(mod, modulesize, &infosize, ".modinfo");
================================================================
More information about the pld-cvs-commit
mailing list