diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-01-05 12:38:04 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-01-05 12:38:04 +0000 |
commit | 038446fd80b269d465793962d3ba563c758229b7 (patch) | |
tree | 6345e50a83afec102ebffd8cfd43c4465127be5f | |
parent | 1d3a83819b4c3bd46fcf2d41eeccf1b6bc584b31 (diff) | |
parent | df331d5ac63b7897b5f3c2c967e3e94ac12c2d54 (diff) | |
download | aports-038446fd80b269d465793962d3ba563c758229b7.tar.bz2 aports-038446fd80b269d465793962d3ba563c758229b7.tar.xz |
Merge branch 'master' of ssh://dev.alpinelinux.org/var/gitroot/aports
Conflicts:
core/busybox/APKBUILD
-rw-r--r-- | core/busybox/APKBUILD | 2 | ||||
-rw-r--r-- | core/busybox/busybox-1.13-depmod.patch | 115 |
2 files changed, 117 insertions, 0 deletions
diff --git a/core/busybox/APKBUILD b/core/busybox/APKBUILD index 060ed65a5..df4a32e1d 100644 --- a/core/busybox/APKBUILD +++ b/core/busybox/APKBUILD @@ -9,6 +9,7 @@ depends=uclibc source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2 $pkgname-1.12.1-vi-path.patch $pkgname-1.11.1-bb.patch + $pkgname-1.13-depmod.patch busyboxconfig" build() { @@ -32,4 +33,5 @@ build() { md5sums="9e2a604d18bef219a5a6bf3acf78b9e1 busybox-1.13.2.tar.bz2 f5a8ae3145aa249868c1a1abc319c228 busybox-1.12.1-vi-path.patch 4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch +1ff318833f8a1c1741635184cfb461ab busybox-1.13-depmod.patch 9dc71773d0367b8e336476f7505f0449 busyboxconfig" diff --git a/core/busybox/busybox-1.13-depmod.patch b/core/busybox/busybox-1.13-depmod.patch new file mode 100644 index 000000000..ffed432fd --- /dev/null +++ b/core/busybox/busybox-1.13-depmod.patch @@ -0,0 +1,115 @@ +--- busybox/modutils/depmod.c (revision 24668) ++++ busybox/modutils/depmod.c (working copy) +@@ -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); + +@@ -179,7 +196,7 @@ + + #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", |