From 767577e50498061f6adb28dd91f791afae25401c Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Thu, 13 Nov 2008 16:32:56 +0000 Subject: [PATCH] busybox: add 1.13.x, mark older as deprecated --- package/busybox/Config.in | 11 ++++- package/busybox/busybox-1.13.0-getopt.patch | 22 +++++++++ package/busybox/busybox-1.13.0-lineedit.patch | 13 +++++ package/busybox/busybox-1.13.0-modprobe.patch | 47 +++++++++++++++++++ 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 package/busybox/busybox-1.13.0-getopt.patch create mode 100644 package/busybox/busybox-1.13.0-lineedit.patch create mode 100644 package/busybox/busybox-1.13.0-modprobe.patch diff --git a/package/busybox/Config.in b/package/busybox/Config.in index b07330cf86..204c2c44c6 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 0000000000..489c75b750 --- /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 0000000000..3d0a8429dd --- /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 0000000000..ecbd26c327 --- /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); -- 2.30.2