2011-05-30 13:32:39

by Kyle McMartin

[permalink] [raw]
Subject: [PATCH] fix depmod to handle passing 3.0 version numbers

depmod with a 3.x version number passed in breaks since it's
testing for 3.x.y still, fix that.

(I can confirm it works and fixes modules.dep generation during fedora
package builds.)

Signed-off-by: Kyle McMartin <[email protected]>
---
diff --git a/depmod.c b/depmod.c
index abfb11e..853b52b 100644
--- a/depmod.c
+++ b/depmod.c
@@ -245,9 +245,16 @@ static const struct option options[] = { { "all", 0, NULL, 'a' },
/* Version number or module name? Don't assume extension. */
static int is_version_number(const char *version)
{
- unsigned int dummy;
+ int ret;
+ unsigned int major, dummy;

- return (sscanf(version, "%u.%u.%u", &dummy, &dummy, &dummy) == 3);
+ ret = sscanf(version, "%u.%u", &major, &dummy);
+ if ((major == 3) && (ret == 2))
+ return 1;
+
+ ret = sscanf(version, "%u.%u.%u", &dummy, &dummy, &dummy);
+
+ return (ret == 3);
}

static int old_module_version(const char *version)