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