diff options
Diffstat (limited to 'package/busybox/busybox-1.13.2-depmod.patch')
-rw-r--r-- | package/busybox/busybox-1.13.2-depmod.patch | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/package/busybox/busybox-1.13.2-depmod.patch b/package/busybox/busybox-1.13.2-depmod.patch deleted file mode 100644 index 32d616384..000000000 --- a/package/busybox/busybox-1.13.2-depmod.patch +++ /dev/null @@ -1,121 +0,0 @@ ---- busybox-1.13.2/modutils/depmod.c Sun Nov 9 18:28:03 2008 -+++ busybox-1.13.2-depmod/modutils/depmod.c Mon Jan 12 23:12:59 2009 -@@ -33,7 +33,7 @@ - enum { - ARG_a = (1<<0), /* All modules, ignore mods in argv */ - ARG_A = (1<<1), /* Only emit .ko that are newer than modules.dep file */ -- ARG_b = (1<<2), /* not /lib/modules/$(uname -r)/ but this base-dir */ -+ ARG_b = (1<<2), /* base directory when modules are in staging area */ - ARG_e = (1<<3), /* with -F, print unresolved symbols */ - ARG_F = (1<<4), /* System.map that contains the symbols */ - ARG_n = (1<<5) /* dry-run, print to stdout only */ -@@ -57,7 +57,7 @@ - *first = info; - - info->dnext = info->dprev = info; -- info->name = xstrdup(fname); -+ info->name = xasprintf("/%s", fname); - info->modname = filename2modname(fname, NULL); - for (ptr = image; ptr < image + len - 10; ptr++) { - if (strncmp(ptr, "depends=", 8) == 0) { -@@ -123,44 +123,61 @@ - } - } - -+static void xfreopen_write(const char *file, FILE *f) -+{ -+ if (freopen(file, "w", f) == NULL) -+ bb_perror_msg_and_die("can't open '%s'", file); -+} -+ - int depmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; - int depmod_main(int argc UNUSED_PARAM, char **argv) - { - module_info *modules = NULL, *m, *dep; -- char *moddir_base = (char *)CONFIG_DEFAULT_MODULES_DIR; -+ const char *moddir_base = "/"; -+ char *moddir, *version; -+ struct utsname uts; - int tmp; - - getopt32(argv, "aAb:eF:n", &moddir_base, NULL); - argv += optind; - - /* goto modules location */ -+ xchdir(moddir_base); - - /* If a version is provided, then that kernel version's module directory - * is used, rather than the current kernel version (as returned by - * "uname -r"). */ -- xchdir(moddir_base); -- if (*argv && (sscanf(*argv, "%d.%d.%d", &tmp, &tmp, &tmp) == 3)) { -- xchdir(*argv++); -+ if (*argv && sscanf(*argv, "%d.%d.%d", &tmp, &tmp, &tmp) == 3) { -+ version = *argv++; - } else { -- struct utsname uts; - uname(&uts); -- xchdir(uts.release); -+ version = uts.release; - } -- /* If no modules are given on the command-line, -a is on per default. */ -- option_mask32 |= *argv == NULL; -+ moddir = concat_path_file(&CONFIG_DEFAULT_MODULES_DIR[1], version); - - /* Scan modules */ -- moddir_base = xrealloc_getcwd_or_warn(NULL); -- do { -- recursive_action((option_mask32 & ARG_a) ? moddir_base : *argv, -- ACTION_RECURSE, parse_module, NULL, &modules, 0); -- } while (!(option_mask32 & ARG_a) && *(++argv)); -+ if (*argv) { -+ char *modfile; -+ struct stat sb; -+ do { -+ modfile = concat_path_file(moddir, *argv); -+ xstat(modfile, &sb); -+ parse_module(modfile, &sb, &modules, 0); -+ free(modfile); -+ } while (*(++argv)); -+ } else { -+ recursive_action(moddir, ACTION_RECURSE, -+ parse_module, NULL, &modules, 0); -+ } -+ -+ /* Prepare for writing out the dep files */ -+ xchdir(moddir); - if (ENABLE_FEATURE_CLEAN_UP) -- free(moddir_base); -+ free(moddir); - - /* Generate dependency and alias files */ - if (!(option_mask32 & ARG_n)) -- freopen(CONFIG_DEFAULT_DEPMOD_FILE, "w", stdout); -+ xfreopen_write(CONFIG_DEFAULT_DEPMOD_FILE, stdout); - for (m = modules; m != NULL; m = m->next) { - printf("%s:", m->name); - -@@ -174,12 +191,12 @@ - dep->dprev->dnext = dep->dnext; - dep->dnext = dep->dprev = dep; - } -- puts(""); -+ bb_putchar('\n'); - } - - #if ENABLE_FEATURE_MODUTILS_ALIAS - if (!(option_mask32 & ARG_n)) -- freopen("modules.alias", "w", stdout); -+ xfreopen_write("modules.alias", stdout); - for (m = modules; m != NULL; m = m->next) { - while (m->aliases) { - printf("alias %s %s\n", -@@ -190,7 +207,7 @@ - #endif - #if ENABLE_FEATURE_MODUTILS_SYMBOLS - if (!(option_mask32 & ARG_n)) -- freopen("modules.symbols", "w", stdout); -+ xfreopen_write("modules.symbols", stdout); - for (m = modules; m != NULL; m = m->next) { - while (m->symbols) { - printf("alias symbol:%s %s\n", |