summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/busybox/Config.in11
-rw-r--r--package/busybox/busybox-1.13.0-getopt.patch22
-rw-r--r--package/busybox/busybox-1.13.0-lineedit.patch13
-rw-r--r--package/busybox/busybox-1.13.0-modprobe.patch47
4 files changed, 91 insertions, 2 deletions
diff --git a/package/busybox/Config.in b/package/busybox/Config.in
index b07330cf8..204c2c44c 100644
--- a/package/busybox/Config.in
+++ b/package/busybox/Config.in
@@ -12,7 +12,7 @@ config BR2_PACKAGE_BUSYBOX
choice
prompt "BusyBox Version"
depends on BR2_PACKAGE_BUSYBOX
- default BR2_BUSYBOX_VERSION_1_12_X
+ default BR2_BUSYBOX_VERSION_1_13_X
help
Select the version of BusyBox you wish to use.
@@ -38,13 +38,18 @@ choice
config BR2_BUSYBOX_VERSION_1_10_X
bool "BusyBox 1.10.x"
- depends on BR2_DEPRECATED || BR2_RECENT
+ depends on BR2_DEPRECATED
config BR2_BUSYBOX_VERSION_1_11_X
bool "BusyBox 1.11.x"
+ depends on BR2_DEPRECATED
config BR2_BUSYBOX_VERSION_1_12_X
bool "BusyBox 1.12.x"
+ depends on BR2_DEPRECATED || BR2_RECENT
+
+ config BR2_BUSYBOX_VERSION_1_13_X
+ bool "BusyBox 1.13.x"
config BR2_PACKAGE_BUSYBOX_SNAPSHOT
bool "daily snapshot"
@@ -61,6 +66,7 @@ config BR2_BUSYBOX_VERSION
default "1.10.4" if BR2_BUSYBOX_VERSION_1_10_X
default "1.11.3" if BR2_BUSYBOX_VERSION_1_11_X
default "1.12.2" if BR2_BUSYBOX_VERSION_1_12_X
+ default "1.13.0" if BR2_BUSYBOX_VERSION_1_13_X
config BR2_PACKAGE_BUSYBOX_FULLINSTALL
bool "Run BusyBox's own full installation"
@@ -87,6 +93,7 @@ config BR2_PACKAGE_BUSYBOX_CONFIG
default "package/busybox/busybox-1.6.0.config" if BR2_BUSYBOX_VERSION_1_10_X
default "package/busybox/busybox-1.11.x.config" if BR2_BUSYBOX_VERSION_1_11_X
default "package/busybox/busybox-1.11.x.config" if BR2_BUSYBOX_VERSION_1_12_X
+ default "package/busybox/busybox-1.11.x.config" if BR2_BUSYBOX_VERSION_1_13_X
help
Some people may wish to use their own modified BusyBox configuration
file, and will specify their config file location with this option.
diff --git a/package/busybox/busybox-1.13.0-getopt.patch b/package/busybox/busybox-1.13.0-getopt.patch
new file mode 100644
index 000000000..489c75b75
--- /dev/null
+++ b/package/busybox/busybox-1.13.0-getopt.patch
@@ -0,0 +1,22 @@
+--- busybox-1.13.0/libbb/getopt32.c Thu Oct 30 08:41:34 2008
++++ busybox-1.13.0-getopt/libbb/getopt32.c Wed Nov 12 23:04:01 2008
+@@ -515,6 +515,19 @@
+ }
+ }
+
++ /* In case getopt32 was already called:
++ * reset the libc getopt() function, which keeps internal state.
++ * run_nofork_applet_prime() does this, but we might end up here
++ * also via gunzip_main() -> gzip_main(). Play safe.
++ */
++#ifdef __GLIBC__
++ optind = 0;
++#else /* BSD style */
++ optind = 1;
++ /* optreset = 1; */
++#endif
++ /* optarg = NULL; opterr = 0; optopt = 0; - do we need this?? */
++
+ pargv = NULL;
+
+ /* Note: just "getopt() <= 0" will not work well for
diff --git a/package/busybox/busybox-1.13.0-lineedit.patch b/package/busybox/busybox-1.13.0-lineedit.patch
new file mode 100644
index 000000000..3d0a8429d
--- /dev/null
+++ b/package/busybox/busybox-1.13.0-lineedit.patch
@@ -0,0 +1,13 @@
+--- busybox-1.13.0/libbb/lineedit.c Wed Nov 5 22:39:54 2008
++++ busybox-1.13.0-lineedit/libbb/lineedit.c Wed Nov 12 23:18:05 2008
+@@ -1415,8 +1415,10 @@
+ if ((state->flags & SAVE_HISTORY) && state->hist_file)
+ load_history(state->hist_file);
+ #endif
++#if MAX_HISTORY > 0
+ if (state->flags & DO_HISTORY)
+ state->cur_history = state->cnt_history;
++#endif
+
+ /* prepare before init handlers */
+ cmdedit_y = 0; /* quasireal y, not true if line > xt*yt */
diff --git a/package/busybox/busybox-1.13.0-modprobe.patch b/package/busybox/busybox-1.13.0-modprobe.patch
new file mode 100644
index 000000000..ecbd26c32
--- /dev/null
+++ b/package/busybox/busybox-1.13.0-modprobe.patch
@@ -0,0 +1,47 @@
+--- busybox-1.13.0/modutils/modprobe-small.c Thu Oct 30 08:41:28 2008
++++ busybox-1.13.0-modprobe/modutils/modprobe-small.c Mon Nov 10 22:19:03 2008
+@@ -600,18 +600,22 @@
+ free(deps);
+
+ /* modprobe -> load it */
+- if (!is_rmmod && (options && !strstr(options, "blacklist"))) {
+- errno = 0;
+- if (load_module(info->pathname, options) != 0) {
+- if (EEXIST != errno) {
+- bb_error_msg("'%s': %s",
++ if (!is_rmmod) {
++ if (!options || strstr(options, "blacklist") == NULL) {
++ errno = 0;
++ if (load_module(info->pathname, options) != 0) {
++ if (EEXIST != errno) {
++ bb_error_msg("'%s': %s",
+ info->pathname,
+ moderror(errno));
+- } else {
+- dbg1_error_msg("'%s': %s",
++ } else {
++ dbg1_error_msg("'%s': %s",
+ info->pathname,
+ moderror(errno));
++ }
+ }
++ } else {
++ dbg1_error_msg("'%s': blacklisted", info->pathname);
+ }
+ }
+ ret:
+--- busybox-1.13.0/modutils/modutils-24.c Thu Oct 30 08:41:28 2008
++++ busybox-1.13.0-modprobe/modutils/modutils-24.c Wed Nov 12 01:02:54 2008
+@@ -3236,8 +3236,10 @@
+ }
+
+ shnum = f->header.e_shnum;
+- f->sections = xmalloc(sizeof(struct obj_section *) * shnum);
+- memset(f->sections, 0, sizeof(struct obj_section *) * shnum);
++ /* Growth of ->sections vector will be done by
++ * xrealloc_vector(..., 2, ...), therefore we must allocate
++ * at least 2^2 = 4 extra elements here. */
++ f->sections = xzalloc(sizeof(f->sections[0]) * (shnum + 4));
+
+ section_headers = alloca(sizeof(ElfW(Shdr)) * shnum);
+ fseek(fp, f->header.e_shoff, SEEK_SET);