summaryrefslogtreecommitdiff
path: root/package/busybox
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2008-11-29 20:12:17 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2008-11-29 20:12:17 +0000
commit026a3581ae29af72d387e2991ef19d7d6de42789 (patch)
tree624a15e5e7674340f4a6f83495bf975fe06b6a82 /package/busybox
parent5432f26f0e78fc74a599a596c90a3b8f02963c13 (diff)
busybox: bump 1.12.x / 1.13.x versions
Diffstat (limited to 'package/busybox')
-rw-r--r--package/busybox/Config.in4
-rw-r--r--package/busybox/busybox-1.12.2-getopt.patch22
-rw-r--r--package/busybox/busybox-1.12.2-lineedit.patch13
-rw-r--r--package/busybox/busybox-1.13.0-ash.patch275
-rw-r--r--package/busybox/busybox-1.13.0-getopt.patch22
-rw-r--r--package/busybox/busybox-1.13.0-id.patch17
-rw-r--r--package/busybox/busybox-1.13.0-inotify.patch101
-rw-r--r--package/busybox/busybox-1.13.0-klogd.patch29
-rw-r--r--package/busybox/busybox-1.13.0-lineedit.patch13
-rw-r--r--package/busybox/busybox-1.13.0-modprobe.patch47
10 files changed, 2 insertions, 541 deletions
diff --git a/package/busybox/Config.in b/package/busybox/Config.in
index f6c86e3ef..b7a065384 100644
--- a/package/busybox/Config.in
+++ b/package/busybox/Config.in
@@ -65,8 +65,8 @@ config BR2_BUSYBOX_VERSION
default "1.9.2" if BR2_BUSYBOX_VERSION_1_9_X
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
+ default "1.12.3" if BR2_BUSYBOX_VERSION_1_12_X
+ default "1.13.1" if BR2_BUSYBOX_VERSION_1_13_X
config BR2_PACKAGE_BUSYBOX_FULLINSTALL
bool "Run BusyBox's own full installation"
diff --git a/package/busybox/busybox-1.12.2-getopt.patch b/package/busybox/busybox-1.12.2-getopt.patch
deleted file mode 100644
index bdc8b9327..000000000
--- a/package/busybox/busybox-1.12.2-getopt.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- busybox-1.12.2/libbb/getopt32.c Sun Nov 9 18:20:37 2008
-+++ busybox-1.12.2-getopt/libbb/getopt32.c Wed Nov 12 23:03:33 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.12.2-lineedit.patch b/package/busybox/busybox-1.12.2-lineedit.patch
deleted file mode 100644
index b7051c0d8..000000000
--- a/package/busybox/busybox-1.12.2-lineedit.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- busybox-1.12.2/libbb/lineedit.c Sun Nov 9 18:20:16 2008
-+++ busybox-1.12.2-lineedit/libbb/lineedit.c Tue Nov 11 21:02:04 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-ash.patch b/package/busybox/busybox-1.13.0-ash.patch
deleted file mode 100644
index 648012027..000000000
--- a/package/busybox/busybox-1.13.0-ash.patch
+++ /dev/null
@@ -1,275 +0,0 @@
---- busybox-1.13.0/shell/ash.c Thu Oct 30 08:41:32 2008
-+++ busybox-1.13.0-ash/shell/ash.c Fri Nov 28 04:39:17 2008
-@@ -536,6 +536,7 @@
- #define NHERE 24
- #define NXHERE 25
- #define NNOT 26
-+#define N_NUMBER 27
-
- union node;
-
-@@ -7546,43 +7547,46 @@
-
- /* ============ eval.c */
-
--static int funcblocksize; /* size of structures in function */
--static int funcstringsize; /* size of strings in node */
--static void *funcblock; /* block to allocate function from */
--static char *funcstring; /* block to allocate strings from */
-+static int funcblocksize; /* size of structures in function */
-+static int funcstringsize; /* size of strings in node */
-+static void *funcblock; /* block to allocate function from */
-+static char *funcstring; /* block to allocate strings from */
-
- /* flags in argument to evaltree */
--#define EV_EXIT 01 /* exit after evaluating tree */
--#define EV_TESTED 02 /* exit status is checked; ignore -e flag */
-+#define EV_EXIT 01 /* exit after evaluating tree */
-+#define EV_TESTED 02 /* exit status is checked; ignore -e flag */
- #define EV_BACKCMD 04 /* command executing within back quotes */
-
--static const short nodesize[26] = {
-- SHELL_ALIGN(sizeof(struct ncmd)),
-- SHELL_ALIGN(sizeof(struct npipe)),
-- SHELL_ALIGN(sizeof(struct nredir)),
-- SHELL_ALIGN(sizeof(struct nredir)),
-- SHELL_ALIGN(sizeof(struct nredir)),
-- SHELL_ALIGN(sizeof(struct nbinary)),
-- SHELL_ALIGN(sizeof(struct nbinary)),
-- SHELL_ALIGN(sizeof(struct nbinary)),
-- SHELL_ALIGN(sizeof(struct nif)),
-- SHELL_ALIGN(sizeof(struct nbinary)),
-- SHELL_ALIGN(sizeof(struct nbinary)),
-- SHELL_ALIGN(sizeof(struct nfor)),
-- SHELL_ALIGN(sizeof(struct ncase)),
-- SHELL_ALIGN(sizeof(struct nclist)),
-- SHELL_ALIGN(sizeof(struct narg)),
-- SHELL_ALIGN(sizeof(struct narg)),
-- SHELL_ALIGN(sizeof(struct nfile)),
-- SHELL_ALIGN(sizeof(struct nfile)),
-- SHELL_ALIGN(sizeof(struct nfile)),
-- SHELL_ALIGN(sizeof(struct nfile)),
-- SHELL_ALIGN(sizeof(struct nfile)),
-- SHELL_ALIGN(sizeof(struct ndup)),
-- SHELL_ALIGN(sizeof(struct ndup)),
-- SHELL_ALIGN(sizeof(struct nhere)),
-- SHELL_ALIGN(sizeof(struct nhere)),
-- SHELL_ALIGN(sizeof(struct nnot)),
-+static const short nodesize[N_NUMBER] = {
-+ [NCMD ] = SHELL_ALIGN(sizeof(struct ncmd)),
-+ [NPIPE ] = SHELL_ALIGN(sizeof(struct npipe)),
-+ [NREDIR ] = SHELL_ALIGN(sizeof(struct nredir)),
-+ [NBACKGND ] = SHELL_ALIGN(sizeof(struct nredir)),
-+ [NSUBSHELL] = SHELL_ALIGN(sizeof(struct nredir)),
-+ [NAND ] = SHELL_ALIGN(sizeof(struct nbinary)),
-+ [NOR ] = SHELL_ALIGN(sizeof(struct nbinary)),
-+ [NSEMI ] = SHELL_ALIGN(sizeof(struct nbinary)),
-+ [NIF ] = SHELL_ALIGN(sizeof(struct nif)),
-+ [NWHILE ] = SHELL_ALIGN(sizeof(struct nbinary)),
-+ [NUNTIL ] = SHELL_ALIGN(sizeof(struct nbinary)),
-+ [NFOR ] = SHELL_ALIGN(sizeof(struct nfor)),
-+ [NCASE ] = SHELL_ALIGN(sizeof(struct ncase)),
-+ [NCLIST ] = SHELL_ALIGN(sizeof(struct nclist)),
-+ [NDEFUN ] = SHELL_ALIGN(sizeof(struct narg)),
-+ [NARG ] = SHELL_ALIGN(sizeof(struct narg)),
-+ [NTO ] = SHELL_ALIGN(sizeof(struct nfile)),
-+#if ENABLE_ASH_BASH_COMPAT
-+ [NTO2 ] = SHELL_ALIGN(sizeof(struct nfile)),
-+#endif
-+ [NCLOBBER ] = SHELL_ALIGN(sizeof(struct nfile)),
-+ [NFROM ] = SHELL_ALIGN(sizeof(struct nfile)),
-+ [NFROMTO ] = SHELL_ALIGN(sizeof(struct nfile)),
-+ [NAPPEND ] = SHELL_ALIGN(sizeof(struct nfile)),
-+ [NTOFD ] = SHELL_ALIGN(sizeof(struct ndup)),
-+ [NFROMFD ] = SHELL_ALIGN(sizeof(struct ndup)),
-+ [NHERE ] = SHELL_ALIGN(sizeof(struct nhere)),
-+ [NXHERE ] = SHELL_ALIGN(sizeof(struct nhere)),
-+ [NNOT ] = SHELL_ALIGN(sizeof(struct nnot)),
- };
-
- static void calcsize(union node *n);
-@@ -9065,8 +9069,6 @@
- * This implements the input routines used by the parser.
- */
-
--#define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */
--
- enum {
- INPUT_PUSH_FILE = 1,
- INPUT_NOFILE_OK = 2,
-@@ -9107,7 +9109,6 @@
- #endif
- parsenextc = sp->prevstring;
- parsenleft = sp->prevnleft;
--/*dprintf("*** calling popstring: restoring to '%s'\n", parsenextc);*/
- g_parsefile->strpush = sp->prev;
- if (sp != &(g_parsefile->basestrpush))
- free(sp);
-@@ -9123,7 +9124,7 @@
-
- #if ENABLE_FEATURE_EDITING
- retry:
-- if (!iflag || g_parsefile->fd)
-+ if (!iflag || g_parsefile->fd != STDIN_FILENO)
- nr = nonblock_safe_read(g_parsefile->fd, buf, BUFSIZ - 1);
- else {
- #if ENABLE_FEATURE_TAB_COMPLETION
-@@ -9171,55 +9172,76 @@
- * Refill the input buffer and return the next input character:
- *
- * 1) If a string was pushed back on the input, pop it;
-- * 2) If an EOF was pushed back (parsenleft == EOF_NLEFT) or we are reading
-+ * 2) If an EOF was pushed back (parsenleft < -BIGNUM) or we are reading
- * from a string so we can't refill the buffer, return EOF.
- * 3) If the is more stuff in this buffer, use it else call read to fill it.
- * 4) Process input up to the next newline, deleting nul characters.
- */
-+//#define pgetc_debug(...) bb_error_msg(__VA_ARGS__)
-+#define pgetc_debug(...) ((void)0)
- static int
- preadbuffer(void)
- {
- char *q;
- int more;
-- char savec;
-
- while (g_parsefile->strpush) {
- #if ENABLE_ASH_ALIAS
-- if (parsenleft == -1 && g_parsefile->strpush->ap &&
-- parsenextc[-1] != ' ' && parsenextc[-1] != '\t') {
-+ if (parsenleft == -1 && g_parsefile->strpush->ap
-+ && parsenextc[-1] != ' ' && parsenextc[-1] != '\t'
-+ ) {
-+ pgetc_debug("preadbuffer PEOA");
- return PEOA;
- }
- #endif
- popstring();
-+ /* try "pgetc" now: */
-+ pgetc_debug("internal pgetc at %d:%p'%s'", parsenleft, parsenextc, parsenextc);
- if (--parsenleft >= 0)
- return signed_char2int(*parsenextc++);
- }
-- if (parsenleft == EOF_NLEFT || g_parsefile->buf == NULL)
-+ /* on both branches above parsenleft < 0.
-+ * "pgetc" needs refilling.
-+ */
-+
-+ /* -90 is -BIGNUM. Below we use -99 to mark "EOF on read",
-+ * pungetc() may decrement it a few times. -90 is enough.
-+ */
-+ if (parsenleft < -90 || g_parsefile->buf == NULL) {
-+ pgetc_debug("preadbuffer PEOF1");
-+ /* even in failure keep them in lock step,
-+ * for correct pungetc. */
-+ parsenextc++;
- return PEOF;
-- flush_stdout_stderr();
-+ }
-
- more = parselleft;
- if (more <= 0) {
-+ flush_stdout_stderr();
- again:
- more = preadfd();
- if (more <= 0) {
-- parselleft = parsenleft = EOF_NLEFT;
-+ parselleft = parsenleft = -99;
-+ pgetc_debug("preadbuffer PEOF2");
-+ parsenextc++;
- return PEOF;
- }
- }
-
-+ /* Find out where's the end of line.
-+ * Set parsenleft/parselleft acordingly.
-+ * NUL chars are deleted.
-+ */
- q = parsenextc;
--
-- /* delete nul characters */
- for (;;) {
-- int c;
-+ char c;
-
- more--;
-- c = *q;
-
-- if (!c)
-+ c = *q;
-+ if (c == '\0') {
- memmove(q, q + 1, more);
-- else {
-+ } else {
- q++;
- if (c == '\n') {
- parsenleft = q - parsenextc - 1;
-@@ -9236,22 +9258,23 @@
- }
- parselleft = more;
-
-- savec = *q;
-- *q = '\0';
--
- if (vflag) {
-+ char save = *q;
-+ *q = '\0';
- out2str(parsenextc);
-+ *q = save;
- }
-
-- *q = savec;
--
-+ pgetc_debug("preadbuffer at %d:%p'%s'", parsenleft, parsenextc, parsenextc);
- return signed_char2int(*parsenextc++);
- }
-
- #define pgetc_as_macro() (--parsenleft >= 0 ? signed_char2int(*parsenextc++) : preadbuffer())
-+
- static int
- pgetc(void)
- {
-+ pgetc_debug("pgetc at %d:%p'%s'", parsenleft, parsenextc, parsenextc);
- return pgetc_as_macro();
- }
-
-@@ -9312,6 +9335,7 @@
- {
- parsenleft++;
- parsenextc--;
-+ pgetc_debug("pushed back to %d:%p'%s'", parsenleft, parsenextc, parsenextc);
- }
-
- /*
-@@ -9325,16 +9349,17 @@
- pushstring(char *s, struct alias *ap)
- {
- struct strpush *sp;
-- size_t len;
-+ int len;
-
- len = strlen(s);
- INT_OFF;
- if (g_parsefile->strpush) {
-- sp = ckzalloc(sizeof(struct strpush));
-+ sp = ckzalloc(sizeof(*sp));
- sp->prev = g_parsefile->strpush;
-- g_parsefile->strpush = sp;
-- } else
-- sp = g_parsefile->strpush = &(g_parsefile->basestrpush);
-+ } else {
-+ sp = &(g_parsefile->basestrpush);
-+ }
-+ g_parsefile->strpush = sp;
- sp->prevstring = parsenextc;
- sp->prevnleft = parsenleft;
- #if ENABLE_ASH_ALIAS
-@@ -9424,7 +9449,7 @@
- close_on_exec_on(fd);
- if (push) {
- pushfile();
-- g_parsefile->buf = 0;
-+ g_parsefile->buf = NULL;
- }
- g_parsefile->fd = fd;
- if (g_parsefile->buf == NULL)
diff --git a/package/busybox/busybox-1.13.0-getopt.patch b/package/busybox/busybox-1.13.0-getopt.patch
deleted file mode 100644
index 489c75b75..000000000
--- a/package/busybox/busybox-1.13.0-getopt.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- 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-id.patch b/package/busybox/busybox-1.13.0-id.patch
deleted file mode 100644
index 103af8a88..000000000
--- a/package/busybox/busybox-1.13.0-id.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- busybox-1.13.0/coreutils/id.c Wed Nov 5 22:39:54 2008
-+++ busybox-1.13.0-id/coreutils/id.c Mon Nov 17 01:10:04 2008
-@@ -17,6 +17,14 @@
-
- #include "libbb.h"
-
-+#if !ENABLE_USE_BB_PWD_GRP
-+#if defined(__UCLIBC_MAJOR__) && (__UCLIBC_MAJOR__ == 0)
-+#if (__UCLIBC_MINOR__ < 9) || (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 30)
-+#error "Sorry, you need at least uClibc version 0.9.30 for id applet to build"
-+#endif
-+#endif
-+#endif
-+
- enum {
- PRINT_REAL = (1 << 0),
- NAME_NOT_NUMBER = (1 << 1),
diff --git a/package/busybox/busybox-1.13.0-inotify.patch b/package/busybox/busybox-1.13.0-inotify.patch
deleted file mode 100644
index 006dea1a6..000000000
--- a/package/busybox/busybox-1.13.0-inotify.patch
+++ /dev/null
@@ -1,101 +0,0 @@
---- busybox-1.13.0/miscutils/inotifyd.c Thu Oct 30 08:41:37 2008
-+++ busybox-1.13.0-inotify/miscutils/inotifyd.c Fri Nov 14 22:33:27 2008
-@@ -51,6 +51,7 @@
- int inotifyd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int inotifyd_main(int argc UNUSED_PARAM, char **argv)
- {
-+ int n;
- unsigned mask = IN_ALL_EVENTS; // assume we want all events
- struct pollfd pfd;
- char **watched = ++argv; // watched name list
-@@ -69,7 +70,6 @@
- while (*++argv) {
- char *path = *argv;
- char *masks = strchr(path, ':');
-- int wd; // watch descriptor
- // if mask is specified ->
- if (masks) {
- *masks = '\0'; // split path and mask
-@@ -83,32 +83,39 @@
- }
- }
- // add watch
-- wd = inotify_add_watch(pfd.fd, path, mask);
-- if (wd < 0) {
-+ n = inotify_add_watch(pfd.fd, path, mask);
-+ if (n < 0)
- bb_perror_msg_and_die("add watch (%s) failed", path);
--// } else {
--// bb_error_msg("added %d [%s]:%4X", wd, path, mask);
-- }
-+ //bb_error_msg("added %d [%s]:%4X", n, path, mask);
- }
-
- // setup signals
-- bb_signals(0
-- + (1 << SIGHUP)
-- + (1 << SIGINT)
-- + (1 << SIGTERM)
-- + (1 << SIGPIPE)
-- , record_signo);
-+ bb_signals(BB_FATAL_SIGS, record_signo);
-
- // do watch
--
--// pfd.fd = fd;
- pfd.events = POLLIN;
--
-- while (!bb_got_signal && poll(&pfd, 1, -1) > 0) {
-+ while (1) {
- ssize_t len;
- void *buf;
- struct inotify_event *ie;
-
-+ again:
-+ if (bb_got_signal)
-+ break;
-+ n = poll(&pfd, 1, -1);
-+ /* Signal interrupted us? */
-+ if (n < 0 && errno == EINTR)
-+ goto again;
-+ // Under Linux, above if() is not necessary.
-+ // Non-fatal signals, e.g. SIGCHLD, when set to SIG_DFL,
-+ // are not interrupting poll().
-+ // Thus we can just break if n <= 0 (see below),
-+ // because EINTR will happen only on SIGTERM et al.
-+ // But this might be not true under other Unixes,
-+ // and is generally way too subtle to depend on.
-+ if (n <= 0) // strange error?
-+ break;
-+
- // read out all pending events
- xioctl(pfd.fd, FIONREAD, &len);
- #define eventbuf bb_common_bufsiz1
-@@ -117,21 +124,21 @@
- // process events. N.B. events may vary in length
- while (len > 0) {
- int i;
-- char events[12];
-+ char events[sizeof(mask_names)];
- char *s = events;
- unsigned m = ie->mask;
-
-- for (i = 0; i < 12; ++i, m >>= 1) {
-- if (m & 1) {
-+ for (i = 0; i < sizeof(mask_names)-1; ++i, m >>= 1) {
-+ if (m & 1)
- *s++ = mask_names[i];
-- }
- }
- *s = '\0';
--// bb_error_msg("exec %s %08X\t%s\t%s\t%s", agent, ie->mask, events, watched[ie->wd], ie->len ? ie->name : "");
-+ //bb_error_msg("exec %s %08X\t%s\t%s\t%s", agent,
-+ // ie->mask, events, watched[ie->wd], ie->len ? ie->name : "");
- args[1] = events;
- args[2] = watched[ie->wd];
- args[3] = ie->len ? ie->name : NULL;
-- xspawn((char **)args);
-+ wait4pid(xspawn((char **)args));
- // next event
- i = sizeof(struct inotify_event) + ie->len;
- len -= i;
diff --git a/package/busybox/busybox-1.13.0-klogd.patch b/package/busybox/busybox-1.13.0-klogd.patch
deleted file mode 100644
index e42abf15c..000000000
--- a/package/busybox/busybox-1.13.0-klogd.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- busybox-1.13.0/sysklogd/klogd.c Thu Oct 30 08:41:28 2008
-+++ busybox-1.13.0-klogd/sysklogd/klogd.c Thu Nov 20 00:46:00 2008
-@@ -73,9 +73,6 @@
-
- syslog(LOG_NOTICE, "klogd started: %s", bb_banner);
-
-- /* Initially null terminate the buffer in case of a very long line */
-- log_buffer[KLOGD_LOGBUF_SIZE - 1] = '\0';
--
- while (1) {
- int n;
- int priority;
-@@ -89,6 +86,7 @@
- errno);
- break;
- }
-+ log_buffer[used + n] = '\0';
-
- /* klogctl buffer parsing modelled after code in dmesg.c */
- start = &log_buffer[0];
-@@ -101,7 +99,7 @@
- /* This line is incomplete... */
- if (start != log_buffer) {
- /* move it to the front of the buffer */
-- strcpy(log_buffer, start);
-+ overlapping_strcpy(log_buffer, start);
- /* don't log it yet */
- used = strlen(log_buffer);
- break;
diff --git a/package/busybox/busybox-1.13.0-lineedit.patch b/package/busybox/busybox-1.13.0-lineedit.patch
deleted file mode 100644
index 3d0a8429d..000000000
--- a/package/busybox/busybox-1.13.0-lineedit.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- 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
deleted file mode 100644
index ecbd26c32..000000000
--- a/package/busybox/busybox-1.13.0-modprobe.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- 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);