<div dir="ltr">This doesn&#39;t apply to current master so can you please rebase.  Also when git gets confused by character encodings don&#39;t press &#39;y&#39; because it isn&#39;t asking you to confirm the encoding, but to pick one.<div><br></div><div>(I&#39;ve done this so many times, but it leads to patches that git won&#39;t apply)</div><div><br></div><div>Ross</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 8 February 2017 at 08:26, Zheng, Ruoqin <span dir="ltr">&lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com" target="_blank">zhengrq.fnst@cn.fujitsu.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">ping<br>
<div><div class="h5"><br>
<br>
-----Original Message-----<br>
From: Zheng, Ruoqin/郑 若钦<br>
Sent: Monday, January 23, 2017 10:41 AM<br>
To: <a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a><br>
Cc: Zheng, Ruoqin/郑 若钦 &lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com">zhengrq.fnst@cn.fujitsu.com</a>&gt;<br>
Subject: [OE-core] [PATCH] busybox: 1.24.1 -&gt; 1.26.2<br>
<br>
1) Upgrade busybox from 1.24.1 to 1.26.2<br>
2) Delete 12 patches below, since they are integrated upstream.<br>
    busybox/0001-flock-update-the-<wbr>behaviour-of-c-parameter-to-<wbr>match-u.patch<br>
    busybox/0001-libiproute-<wbr>handle-table-ids-larger-than-<wbr>255.patch<br>
    busybox/0001-sed-fix-sed-n-<wbr>flushes-pattern-space-<wbr>terminates-early.patch<br>
    busybox/CVE-2016-2147.patch<br>
    busybox/CVE-2016-2147_2.patch<br>
    busybox/CVE-2016-2148.patch<br>
    busybox/busybox-1.24.1-<wbr>truncate-open-mode.patch<br>
    busybox/busybox-1.24.1-unzip-<wbr>regression.patch<br>
    busybox/busybox-1.24.1-unzip.<wbr>patch<br>
    busybox/busybox-kbuild-race-<wbr>fix-commit-d8e61bb.patch<br>
    busybox/commit-applet_tables-<wbr>fix-commit-0dddbc1.patch<br>
    busybox/ip_fix_problem_on_<wbr>mips64_n64_big_endian_musl_<wbr>systems.patch<br>
3) Modify 3 patches below to make it compatible with new version<br>
    busybox/busybox-cross-<wbr>menuconfig.patch<br>
    busybox/busybox-udhcpc-no_<wbr>deconfig.patch<br>
    busybox/makefile-fix-backport.<wbr>patch<br>
<br>
Signed-off-by: Zheng Ruoqin &lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com">zhengrq.fnst@cn.fujitsu.com</a>&gt;<br>
---<br>
 ...e-the-behaviour-of-c-<wbr>parameter-to-match-u.patch |  73 -----------<br>
 ...biproute-handle-table-ids-<wbr>larger-than-255.patch | 134 -------------------<br>
 ...-n-flushes-pattern-space-<wbr>terminates-early.patch |  72 -----------<br>
 .../busybox/busybox/CVE-2016-<wbr>2147.patch            |  57 --------<br>
 .../busybox/busybox/CVE-2016-<wbr>2147_2.patch          |  32 -----<br>
 .../busybox/busybox/CVE-2016-<wbr>2148.patch            |  74 -----------<br>
 .../busybox-1.24.1-truncate-<wbr>open-mode.patch        |  81 ------------<br>
 .../busybox/busybox-1.24.1-<wbr>unzip-regression.patch  | 143 ---------------------<br>
 .../busybox/busybox/busybox-1.<wbr>24.1-unzip.patch     | 118 -----------------<br>
 .../busybox/busybox/busybox-<wbr>cross-menuconfig.patch |  70 +++++-----<br>
 .../busybox-kbuild-race-fix-<wbr>commit-d8e61bb.patch   |  53 --------<br>
 .../busybox/busybox-udhcpc-no_<wbr>deconfig.patch       |  70 +++++-----<br>
 .../commit-applet_tables-fix-<wbr>commit-0dddbc1.patch  |  61 ---------<br>
 ...lem_on_mips64_n64_big_<wbr>endian_musl_systems.patch |  90 -------------<br>
 .../busybox/busybox/makefile-<wbr>fix-backport.patch    |  30 ++---<br>
 .../{<a href="http://busybox_1.24.1.bb" rel="noreferrer" target="_blank">busybox_1.24.1.bb</a> =&gt; <a href="http://busybox_1.26.2.bb" rel="noreferrer" target="_blank">busybox_1.26.2.bb</a>}       |  16 +--<br>
 16 files changed, 88 insertions(+), 1086 deletions(-)<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/0001-flock-update-the-<wbr>behaviour-of-c-parameter-to-<wbr>match-u.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/0001-libiproute-<wbr>handle-table-ids-larger-than-<wbr>255.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/0001-sed-fix-sed-n-<wbr>flushes-pattern-space-<wbr>terminates-early.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147_2.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2148.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-<wbr>truncate-open-mode.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip-<wbr>regression.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip.<wbr>patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/busybox-kbuild-race-<wbr>fix-commit-d8e61bb.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/commit-applet_tables-<wbr>fix-commit-0dddbc1.patch<br>
 delete mode 100644 meta/recipes-core/busybox/<wbr>busybox/ip_fix_problem_on_<wbr>mips64_n64_big_endian_musl_<wbr>systems.patch<br>
 rename meta/recipes-core/busybox/{<a href="http://busybox_1.24.1.bb" rel="noreferrer" target="_blank">bus<wbr>ybox_1.24.1.bb</a> =&gt; <a href="http://busybox_1.26.2.bb" rel="noreferrer" target="_blank">busybox_1.26.2.bb</a>} (66%)<br>
<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/0001-flock-update-the-<wbr>behaviour-of-c-parameter-to-<wbr>match-u.patch b/meta/recipes-core/busybox/<wbr>busybox/0001-flock-update-the-<wbr>behaviour-of-c-parameter-to-<wbr>match-u.patch<br>
deleted file mode 100644<br>
index 8bcbd73..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/0001-flock-update-the-<wbr>behaviour-of-c-parameter-to-<wbr>match-u.patch<br>
+++ /dev/null<br>
@@ -1,73 +0,0 @@<br>
-From 198f18addf1d814c2fefcb492f3b9f<wbr>bd221669bb Mon Sep 17 00:00:00 2001<br>
-From: &quot;Maxin B. John&quot; &lt;<a href="mailto:maxin.john@intel.com">maxin.john@intel.com</a>&gt;<br>
-Date: Wed, 20 Apr 2016 18:24:45 +0300<br>
-Subject: [PATCH] flock: update the behaviour of -c parameter to match upstream<br>
-<br>
-In upstream, -c &#39;PROG ARGS&#39; means &quot;run sh -c &#39;PROG ARGS&#39;&quot;<br>
-<br>
-function                                             old     new   delta<br>
-flock_main                                           286     377     +91<br>
-.rodata                                           155849  155890     +41<br>
-<br>
-Upstream-Status: Submitted<br>
-[ <a href="http://lists.busybox.net/pipermail/busybox/2016-April/084142.html" rel="noreferrer" target="_blank">http://lists.busybox.net/<wbr>pipermail/busybox/2016-April/<wbr>084142.html</a> ]<br>
-<br>
-Signed-off-by: Maxin B. John &lt;<a href="mailto:maxin.john@intel.com">maxin.john@intel.com</a>&gt;<br>
----<br>
- util-linux/flock.c | 20 ++++++++++++++------<br>
- 1 file changed, 14 insertions(+), 6 deletions(-)<br>
-<br>
-diff --git a/util-linux/flock.c b/util-linux/flock.c<br>
-index 05a747f..c85a25d 100644<br>
---- a/util-linux/flock.c<br>
-+++ b/util-linux/flock.c<br>
-@@ -20,6 +20,7 @@ int flock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;<br>
- int flock_main(int argc UNUSED_PARAM, char **argv)<br>
- {<br>
-       int mode, opt, fd;<br>
-+    char *cmd_args[4];<br>
-       enum {<br>
-               OPT_s = (1 &lt;&lt; 0),<br>
-               OPT_x = (1 &lt;&lt; 1),<br>
-@@ -57,7 +58,6 @@ int flock_main(int argc UNUSED_PARAM, char **argv)<br>
-       /* If it is &quot;flock FILE -c PROG&quot;, then -c isn&#39;t caught by getopt32:<br>
-        * we use &quot;+&quot; in order to support &quot;flock -opt FILE PROG -with-opts&quot;,<br>
-        * we need to remove -c by hand.<br>
--       * TODO: in upstream, -c &#39;PROG ARGS&#39; means &quot;run sh -c &#39;PROG ARGS&#39;&quot;<br>
-        */<br>
-       if (argv[0]<br>
-        &amp;&amp; argv[0][0] == &#39;-&#39;<br>
-@@ -65,7 +65,10 @@ int flock_main(int argc UNUSED_PARAM, char **argv)<br>
-           || (ENABLE_LONG_OPTS &amp;&amp; strcmp(argv[0] + 1, &quot;-command&quot;) == 0)<br>
-           )<br>
-       ) {<br>
--              argv++;<br>
-+        if (argc != optind + 3)<br>
-+            bb_error_msg_and_die(&quot;-c requires exactly one command argument&quot;);<br>
-+        else<br>
-+            argv++;<br>
-       }<br>
-<br>
-       if (OPT_s == LOCK_SH &amp;&amp; OPT_x == LOCK_EX &amp;&amp; OPT_n == LOCK_NB &amp;&amp; OPT_u == LOCK_UN) {<br>
-@@ -89,9 +92,14 @@ int flock_main(int argc UNUSED_PARAM, char **argv)<br>
-                       return EXIT_FAILURE;<br>
-               bb_perror_nomsg_and_die();<br>
-       }<br>
--<br>
--      if (argv[0])<br>
--              return spawn_and_wait(argv);<br>
--<br>
-+    if (argv[0]) {<br>
-+        cmd_args[0] = getenv(&quot;SHELL&quot;);<br>
-+        if (!cmd_args[0])<br>
-+            cmd_args[0] = (char*)DEFAULT_SHELL;<br>
-+        cmd_args[1] = (char*)&quot;-c&quot;;<br>
-+        cmd_args[2] = argv[0];<br>
-+        cmd_args[3] = NULL;<br>
-+        return spawn_and_wait(cmd_args);<br>
-+    }<br>
-       return EXIT_SUCCESS;<br>
- }<br>
---<br>
-2.4.0<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/0001-libiproute-<wbr>handle-table-ids-larger-than-<wbr>255.patch b/meta/recipes-core/busybox/<wbr>busybox/0001-libiproute-<wbr>handle-table-ids-larger-than-<wbr>255.patch<br>
deleted file mode 100644<br>
index aac5b40..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/0001-libiproute-<wbr>handle-table-ids-larger-than-<wbr>255.patch<br>
+++ /dev/null<br>
@@ -1,134 +0,0 @@<br>
-From b5a9234272e6084557224c73ab7737<wbr>ed47f09848 Mon Sep 17 00:00:00 2001<br>
-From: Lukasz Nowak &lt;<a href="mailto:lnowak@tycoint.com">lnowak@tycoint.com</a>&gt;<br>
-Date: Wed, 23 Nov 2016 12:48:21 +0000<br>
-Subject: [PATCH v2] libiproute: handle table ids larger than 255<br>
-<br>
-Linux kernel, starting from 2.6.19 allows ip table ids to have 32-bit values.<br>
-In order to preserve compatibility, the old 8-bit field: rtm_table is still<br>
-in use when table id is lower than 256.<br>
-<br>
-Add support for the 32-bit table id (RTA_TABLE attribute) in:<br>
-- ip route print<br>
-- ip route modify<br>
-- ip rule print<br>
-- ip rule modify<br>
-<br>
-Add printing of table ids to ip route.<br>
-<br>
-Changes are compatible with the mainline iproute2 utilities.<br>
-<br>
-These changes are required for compatibility with ConnMan, which by default<br>
-uses table ids greater than 255.<br>
-<br>
-Upstream-Status: Submitted [<a href="http://lists.busybox.net/pipermail/busybox/2016-December/084989.html" rel="noreferrer" target="_blank">http://lists.busybox.net/<wbr>pipermail/busybox/2016-<wbr>December/084989.html</a>]<br>
-<br>
-Signed-off-by: Lukasz Nowak &lt;<a href="mailto:lnowak@tycoint.com">lnowak@tycoint.com</a>&gt;<br>
----<br>
- networking/libiproute/iproute.<wbr>c | 24 ++++++++++++++++++++----<br>
- networking/libiproute/iprule.c  | 11 +++++++++--<br>
- 2 files changed, 29 insertions(+), 6 deletions(-)<br>
-<br>
-diff --git a/networking/libiproute/<wbr>iproute.c b/networking/libiproute/<wbr>iproute.c<br>
-index 6ecd5f7..d5af498 100644<br>
---- a/networking/libiproute/<wbr>iproute.c<br>
-+++ b/networking/libiproute/<wbr>iproute.c<br>
-@@ -87,6 +87,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,<br>
-       inet_prefix dst;<br>
-       inet_prefix src;<br>
-       int host_len = -1;<br>
-+      uint32_t tid;<br>
-<br>
-       if (n-&gt;nlmsg_type != RTM_NEWROUTE &amp;&amp; n-&gt;nlmsg_type != RTM_DELROUTE) {<br>
-               fprintf(stderr, &quot;Not a route: %08x %08x %08x\n&quot;,<br>
-@@ -99,6 +100,14 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,<br>
-       if (len &lt; 0)<br>
-               bb_error_msg_and_die(&quot;wrong nlmsg len %d&quot;, len);<br>
-<br>
-+      memset(tb, 0, sizeof(tb));<br>
-+      parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);<br>
-+<br>
-+      if (tb[RTA_TABLE])<br>
-+              tid = *(uint32_t *)RTA_DATA(tb[RTA_TABLE]);<br>
-+      else<br>
-+              tid = r-&gt;rtm_table;<br>
-+<br>
-       if (r-&gt;rtm_family == AF_INET6)<br>
-               host_len = 128;<br>
-       else if (r-&gt;rtm_family == AF_INET)<br>
-@@ -128,7 +137,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,<br>
-                       }<br>
-               }<br>
-       } else {<br>
--              if (G_filter.tb &gt; 0 &amp;&amp; G_filter.tb != r-&gt;rtm_table) {<br>
-+              if (G_filter.tb &gt; 0 &amp;&amp; G_filter.tb != tid) {<br>
-                       return 0;<br>
-               }<br>
-       }<br>
-@@ -157,10 +166,8 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,<br>
-               return 0;<br>
-       }<br>
-<br>
--      memset(tb, 0, sizeof(tb));<br>
-       memset(&amp;src, 0, sizeof(src));<br>
-       memset(&amp;dst, 0, sizeof(dst));<br>
--      parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);<br>
-<br>
-       if (tb[RTA_SRC]) {<br>
-               src.bitlen = r-&gt;rtm_src_len;<br>
-@@ -283,6 +290,10 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,<br>
-       if (tb[RTA_OIF]) {<br>
-               printf(&quot;dev %s &quot;, ll_index_to_name(*(int*)RTA_<wbr>DATA(tb[RTA_OIF])));<br>
-       }<br>
-+#if ENABLE_FEATURE_IP_RULE<br>
-+      if (tid &amp;&amp; tid != RT_TABLE_MAIN &amp;&amp; !G_filter.tb)<br>
-+              printf(&quot;table %s &quot;, rtnl_rttable_n2a(tid));<br>
-+#endif<br>
-<br>
-       /* Todo: parse &amp; show &quot;proto kernel&quot;, &quot;scope link&quot; here */<br>
-<br>
-@@ -434,7 +445,12 @@ IF_FEATURE_IP_RULE(ARG_table,)<br>
-                       NEXT_ARG();<br>
-                       if (rtnl_rttable_a2n(&amp;tid, *argv))<br>
-                               invarg(*argv, &quot;table&quot;);<br>
--                      req.r.rtm_table = tid;<br>
-+                      if (tid &lt; 256)<br>
-+                              req.r.rtm_table = tid;<br>
-+                      else {<br>
-+                              req.r.rtm_table = RT_TABLE_UNSPEC;<br>
-+                              addattr32(&amp;req.n, sizeof(req), RTA_TABLE, tid);<br>
-+                      }<br>
- #endif<br>
-               } else if (arg == ARG_dev || arg == ARG_oif) {<br>
-                       NEXT_ARG();<br>
-diff --git a/networking/libiproute/<wbr>iprule.c b/networking/libiproute/<wbr>iprule.c<br>
-index 774a3e2..3fac7c5 100644<br>
---- a/networking/libiproute/<wbr>iprule.c<br>
-+++ b/networking/libiproute/<wbr>iprule.c<br>
-@@ -119,7 +119,9 @@ static int FAST_FUNC print_rule(const struct sockaddr_nl *who UNUSED_PARAM,<br>
-               printf(&quot;iif %s &quot;, (char*)RTA_DATA(tb[RTA_IIF]));<br>
-       }<br>
-<br>
--      if (r-&gt;rtm_table)<br>
-+      if (tb[RTA_TABLE])<br>
-+              printf(&quot;lookup %s &quot;, rtnl_rttable_n2a(*(uint32_t*)<wbr>RTA_DATA(tb[RTA_TABLE])));<br>
-+      else if (r-&gt;rtm_table)<br>
-               printf(&quot;lookup %s &quot;, rtnl_rttable_n2a(r-&gt;rtm_table)<wbr>);<br>
-<br>
-       if (tb[RTA_FLOW]) {<br>
-@@ -259,7 +261,12 @@ static int iprule_modify(int cmd, char **argv)<br>
-                       NEXT_ARG();<br>
-                       if (rtnl_rttable_a2n(&amp;tid, *argv))<br>
-                               invarg(*argv, &quot;table ID&quot;);<br>
--                      req.r.rtm_table = tid;<br>
-+                      if (tid &lt; 256)<br>
-+                              req.r.rtm_table = tid;<br>
-+                      else {<br>
-+                              req.r.rtm_table = RT_TABLE_UNSPEC;<br>
-+                              addattr32(&amp;req.n, sizeof(req), RTA_TABLE, tid);<br>
-+                      }<br>
-                       table_ok = 1;<br>
-               } else if (key == ARG_dev ||<br>
-                          key == ARG_iif<br>
---<br>
-2.7.4<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/0001-sed-fix-sed-n-<wbr>flushes-pattern-space-<wbr>terminates-early.patch b/meta/recipes-core/busybox/<wbr>busybox/0001-sed-fix-sed-n-<wbr>flushes-pattern-space-<wbr>terminates-early.patch<br>
deleted file mode 100644<br>
index 4f53984..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/0001-sed-fix-sed-n-<wbr>flushes-pattern-space-<wbr>terminates-early.patch<br>
+++ /dev/null<br>
@@ -1,72 +0,0 @@<br>
-From 903542f7331c58007a3ef938d41e1c<wbr>55fc329648 Mon Sep 17 00:00:00 2001<br>
-From: Dengke Du &lt;<a href="mailto:dengke.du@windriver.com">dengke.du@windriver.com</a>&gt;<br>
-Date: Wed, 31 Aug 2016 23:40:43 -0400<br>
-Subject: [PATCH] sed: fix &quot;sed n (flushes pattern space, terminates early)&quot;<br>
- testcase failure<br>
-<br>
-This patch fix &quot;sed n (flushes pattern space, terminates early)&quot;<br>
-testcase failure. We can see it at:<br>
-<br>
-       <a href="https://git.busybox.net/busybox/commit/?id=76d72376e0244a5cafd4880cdc623e37d86a75e4" rel="noreferrer" target="_blank">https://git.busybox.net/<wbr>busybox/commit/?id=<wbr>76d72376e0244a5cafd4880cdc623e<wbr>37d86a75e4</a><br>
-<br>
-Upstream-Status: Backport<br>
-<br>
-Signed-off-by: Dengke Du &lt;<a href="mailto:dengke.du@windriver.com">dengke.du@windriver.com</a>&gt;<br>
----<br>
- editors/sed.c       | 19 ++++++++++---------<br>
- testsuite/sed.tests |  6 +-----<br>
- 2 files changed, 11 insertions(+), 14 deletions(-)<br>
-<br>
-diff --git a/editors/sed.c b/editors/sed.c<br>
-index 7bbf820..259c39c 100644<br>
---- a/editors/sed.c<br>
-+++ b/editors/sed.c<br>
-@@ -1274,16 +1274,17 @@ static void process_files(void)<br>
-               case &#39;n&#39;:<br>
-                       if (!G.be_quiet)<br>
-                               sed_puts(pattern_space, last_gets_char);<br>
--                      if (next_line) {<br>
--                              free(pattern_space);<br>
--                              pattern_space = next_line;<br>
--                              last_gets_char = next_gets_char;<br>
--                              next_line = get_next_line(&amp;next_gets_char, &amp;last_puts_char, last_gets_char);<br>
--                              substituted = 0;<br>
--                              linenum++;<br>
--                              break;<br>
-+                      if (next_line == NULL) {<br>
-+                              /* If no next line, jump to end of script and exit. */<br>
-+                              goto discard_line;<br>
-                       }<br>
--                      /* fall through */<br>
-+                      free(pattern_space);<br>
-+                      pattern_space = next_line;<br>
-+                      last_gets_char = next_gets_char;<br>
-+                      next_line = get_next_line(&amp;next_gets_char, &amp;last_puts_char, last_gets_char);<br>
-+                      substituted = 0;<br>
-+                      linenum++;<br>
-+                      break;<br>
-<br>
-               /* Quit.  End of script, end of input. */<br>
-               case &#39;q&#39;:<br>
-diff --git a/testsuite/sed.tests b/testsuite/sed.tests<br>
-index 34479e5..96ff7a5 100755<br>
---- a/testsuite/sed.tests<br>
-+++ b/testsuite/sed.tests<br>
-@@ -73,13 +73,9 @@ testing &quot;sed t (test/branch clears test bit)&quot; &quot;sed -e &#39;s/a/b/;:loop;t loop&#39;&quot; \<br>
- testing &quot;sed T (!test/branch)&quot; &quot;sed -e &#39;s/a/1/;T notone;p;: notone;p&#39;&quot; \<br>
-       &quot;1\n1\n1\nb\nb\nc\nc\n&quot; &quot;&quot; &quot;a\nb\nc\n&quot;<br>
-<br>
--test x&quot;$SKIP_KNOWN_BUGS&quot; = x&quot;&quot; &amp;&amp; {<br>
--# Normal sed end-of-script doesn&#39;t print &quot;c&quot; because n flushed the pattern<br>
--# space.  If n hits EOF, pattern space is empty when script ends.<br>
--# Query: how does this interact with no newline at EOF?<br>
- testing &quot;sed n (flushes pattern space, terminates early)&quot; &quot;sed -e &#39;n;p&#39;&quot; \<br>
-       &quot;a\nb\nb\nc\n&quot; &quot;&quot; &quot;a\nb\nc\n&quot;<br>
--}<br>
-+<br>
- # non-GNU sed: N does _not_ flush pattern space, therefore c is eaten @ script end<br>
- # GNU sed: N flushes pattern space, therefore c is printed too @ script end<br>
- testing &quot;sed N (flushes pattern space (GNU behavior))&quot; &quot;sed -e &#39;N;p&#39;&quot; \<br>
---<br>
-2.8.1<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147.patch b/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147.patch<br>
deleted file mode 100644<br>
index 84cae6a..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147.patch<br>
+++ /dev/null<br>
@@ -1,57 +0,0 @@<br>
-From d474ffc68290e0a83651c4432eeabf<wbr>a62cd51e87 Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Thu, 10 Mar 2016 11:47:58 +0100<br>
-Subject: [PATCH] udhcp: fix a SEGV on malformed RFC1035-encoded domain name<br>
-<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-<br>
-Upstream-Status: Backport<br>
-CVE: CVE-2016-2147<br>
-<br>
-<a href="https://git.busybox.net/busybox/commit/?id=d474ffc" rel="noreferrer" target="_blank">https://git.busybox.net/<wbr>busybox/commit/?id=d474ffc</a><br>
-Signed-off-by: Armin Kuster &lt;<a href="mailto:akuster@mvista.com">akuster@mvista.com</a>&gt;<br>
-<br>
----<br>
- networking/udhcp/domain_codec.<wbr>c | 13 +++++++++----<br>
- 1 file changed, 9 insertions(+), 4 deletions(-)<br>
-<br>
-Index: busybox-1.23.2/networking/<wbr>udhcp/domain_codec.c<br>
-=============================<wbr>==============================<wbr>========<br>
---- busybox-1.23.2.orig/<wbr>networking/udhcp/domain_codec.<wbr>c<br>
-+++ busybox-1.23.2/networking/<wbr>udhcp/domain_codec.c<br>
-@@ -63,11 +63,10 @@ char* FAST_FUNC dname_dec(const uint8_t<br>
-                               if (crtpos + *c + 1 &gt; clen) /* label too long? abort */<br>
-                                       return NULL;<br>
-                               if (dst)<br>
--                                      memcpy(dst + len, c + 1, *c);<br>
-+                                      /* \3com ---&gt; &quot;com.&quot; */<br>
-+                                      ((char*)mempcpy(dst + len, c + 1, *c))[0] = &#39;.&#39;;<br>
-                               len += *c + 1;<br>
-                               crtpos += *c + 1;<br>
--                              if (dst)<br>
--                                      dst[len - 1] = &#39;.&#39;;<br>
-                       } else {<br>
-                               /* NUL: end of current domain name */<br>
-                               if (retpos == 0) {<br>
-@@ -78,7 +77,10 @@ char* FAST_FUNC dname_dec(const uint8_t<br>
-                                       crtpos = retpos;<br>
-                                       retpos = depth = 0;<br>
-                               }<br>
--                              if (dst)<br>
-+                              if (dst &amp;&amp; len != 0)<br>
-+                                      /* \4host\3com\0\4host and we are at \0:<br>
-+                                       * \3com was converted to &quot;com.&quot;, change dot to space.<br>
-+                                       */<br>
-                                       dst[len - 1] = &#39; &#39;;<br>
-                       }<br>
-<br>
-@@ -228,6 +230,9 @@ int main(int argc, char **argv)<br>
-       int len;<br>
-       uint8_t *encoded;<br>
-<br>
-+        uint8_t str[6] = { 0x00, 0x00, 0x02, 0x65, 0x65, 0x00 };<br>
-+        printf(&quot;NUL:&#39;%s&#39;\n&quot;,   dname_dec(str, 6, &quot;&quot;));<br>
-+<br>
- #define DNAME_DEC(encoded,pre) dname_dec((uint8_t*)(encoded), sizeof(encoded), (pre))<br>
-       printf(&quot;&#39;%s&#39;\n&quot;,       DNAME_DEC(&quot;\4host\3com\0&quot;, &quot;test1:&quot;));<br>
-       printf(&quot;test2:&#39;%s&#39;\n&quot;, DNAME_DEC(&quot;\4host\3com\0\<wbr>4host\3com\0&quot;, &quot;&quot;));<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147_2.patch b/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147_2.patch<br>
deleted file mode 100644<br>
index 1473d46..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2147_2.patch<br>
+++ /dev/null<br>
@@ -1,32 +0,0 @@<br>
-From 1b7c17391de66502dd7a97c866e0a3<wbr>3681edbb1f Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Fri, 11 Mar 2016 00:26:58 +0100<br>
-Subject: [PATCH] udhcpc: fix a warning in debug code<br>
-<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Upsteam-Status: Backport<br>
-CVE: CVE-2016-2147 regression fix<br>
-<br>
-<a href="https://git.busybox.net/busybox/commit/?id=1b7c17" rel="noreferrer" target="_blank">https://git.busybox.net/<wbr>busybox/commit/?id=1b7c17</a><br>
-<br>
-Signed-off-by: Armin Kuster &lt;<a href="mailto:akuster@mvista.com">akuster@mvista.com</a>&gt;<br>
-<br>
----<br>
- networking/udhcp/domain_codec.<wbr>c | 1 +<br>
- 1 file changed, 1 insertion(+)<br>
-<br>
-diff --git a/networking/udhcp/domain_<wbr>codec.c b/networking/udhcp/domain_<wbr>codec.c<br>
-index cee31f1..5a923cc 100644<br>
---- a/networking/udhcp/domain_<wbr>codec.c<br>
-+++ b/networking/udhcp/domain_<wbr>codec.c<br>
-@@ -7,6 +7,7 @@<br>
-  * Licensed under GPLv2 or later, see file LICENSE in this source tree.<br>
-  */<br>
- #ifdef DNS_COMPR_TESTING<br>
-+# define _GNU_SOURCE<br>
- # define FAST_FUNC /* nothing */<br>
- # define xmalloc malloc<br>
- # include &lt;stdlib.h&gt;<br>
---<br>
-2.3.5<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2148.patch b/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2148.patch<br>
deleted file mode 100644<br>
index af04a7f..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/CVE-2016-2148.patch<br>
+++ /dev/null<br>
@@ -1,74 +0,0 @@<br>
-From 352f79acbd759c14399e39baef21fc<wbr>4ffe180ac2 Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Fri, 26 Feb 2016 15:54:56 +0100<br>
-Subject: [PATCH] udhcpc: fix OPTION_6RD parsing (could overflow its malloced<br>
- buffer)<br>
-<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-<br>
-Upstream-Status: Backport<br>
-CVE: CVE-2016-2148<br>
-<a href="https://git.busybox.net/busybox/commit/?id=352f79" rel="noreferrer" target="_blank">https://git.busybox.net/<wbr>busybox/commit/?id=352f79</a><br>
-<br>
-Signed-off-by: Armin Kuster &lt;<a href="mailto:akuster@mvista.com">akuster@mvista.com</a>&gt;<br>
-<br>
----<br>
- networking/udhcp/common.c | 15 +++++++++++++--<br>
- networking/udhcp/dhcpc.c  |  4 ++--<br>
- 2 files changed, 15 insertions(+), 4 deletions(-)<br>
-<br>
-Index: busybox-1.23.2/networking/<wbr>udhcp/common.c<br>
-=============================<wbr>==============================<wbr>========<br>
---- busybox-1.23.2.orig/<wbr>networking/udhcp/common.c<br>
-+++ busybox-1.23.2/networking/<wbr>udhcp/common.c<br>
-@@ -142,7 +142,7 @@ const char dhcp_option_strings[] ALIGN1<br>
-  * udhcp_str2optset: to determine how many bytes to allocate.<br>
-  * xmalloc_optname_optval: to estimate string length<br>
-  * from binary option length: (option[LEN] / dhcp_option_lengths[opt_type])<br>
-- * is the number of elements, multiply in by one element&#39;s string width<br>
-+ * is the number of elements, multiply it by one element&#39;s string width<br>
-  * (len_of_option_as_string[opt_<wbr>type]) and you know how wide string you need.<br>
-  */<br>
- const uint8_t dhcp_option_lengths[] ALIGN1 = {<br>
-@@ -162,7 +162,18 @@ const uint8_t dhcp_option_lengths[] ALIG<br>
-       [OPTION_S32] =     4,<br>
-       /* Just like OPTION_STRING, we use minimum length here */<br>
-       [OPTION_STATIC_ROUTES] = 5,<br>
--      [OPTION_6RD] =    22,  /* ignored by udhcp_str2optset */<br>
-+      [OPTION_6RD] =    12,  /* ignored by udhcp_str2optset */<br>
-+      /* The above value was chosen as follows:<br>
-+       * len_of_option_as_string[] for this option is &gt;60: it&#39;s a string of the form<br>
-+       * &quot;32 128 ffff:ffff:ffff:ffff:ffff:ffff:<wbr>ffff:ffff 255.255.255.255 &quot;.<br>
-+       * Each additional ipv4 address takes 4 bytes in binary option and appends<br>
-+       * another &quot;255.255.255.255 &quot; 16-byte string. We can set [OPTION_6RD] = 4<br>
-+       * but this severely overestimates string length: instead of 16 bytes,<br>
-+       * it adds &gt;60 for every 4 bytes in binary option.<br>
-+       * We cheat and declare here that option is in units of 12 bytes.<br>
-+       * This adds more than 60 bytes for every three ipv4 addresses - more than enough.<br>
-+       * (Even 16 instead of 12 should work, but let&#39;s be paranoid).<br>
-+       */<br>
- };<br>
-<br>
-<br>
-Index: busybox-1.23.2/networking/<wbr>udhcp/dhcpc.c<br>
-=============================<wbr>==============================<wbr>========<br>
---- busybox-1.23.2.orig/<wbr>networking/udhcp/dhcpc.c<br>
-+++ busybox-1.23.2/networking/<wbr>udhcp/dhcpc.c<br>
-@@ -103,7 +103,7 @@ static const uint8_t len_of_option_as_st<br>
-       [OPTION_IP              ] = sizeof(&quot;255.255.255.255 &quot;),<br>
-       [OPTION_IP_PAIR         ] = sizeof(&quot;255.255.255.255 &quot;) * 2,<br>
-       [OPTION_STATIC_ROUTES   ] = sizeof(&quot;<a href="http://255.255.255.255/32" rel="noreferrer" target="_blank">255.255.255.255/32</a> 255.255.255.255 &quot;),<br>
--      [OPTION_6RD             ] = sizeof(&quot;32 128 ffff:ffff:ffff:ffff:ffff:ffff:<wbr>ffff:ffff 255.255.255.255 &quot;),<br>
-+      [OPTION_6RD             ] = sizeof(&quot;132 128 ffff:ffff:ffff:ffff:ffff:ffff:<wbr>ffff:ffff 255.255.255.255 &quot;),<br>
-       [OPTION_STRING          ] = 1,<br>
-       [OPTION_STRING_HOST     ] = 1,<br>
- #if ENABLE_FEATURE_UDHCP_RFC3397<br>
-@@ -214,7 +214,7 @@ static NOINLINE char *xmalloc_optname_op<br>
-       type = optflag-&gt;flags &amp; OPTION_TYPE_MASK;<br>
-       optlen = dhcp_option_lengths[type];<br>
-       upper_length = len_of_option_as_string[type]<br>
--              * ((unsigned)(len + optlen - 1) / (unsigned)optlen);<br>
-+              * ((unsigned)(len + optlen) / (unsigned)optlen);<br>
-<br>
-       dest = ret = xmalloc(upper_length + strlen(opt_name) + 2);<br>
-       dest += sprintf(ret, &quot;%s=&quot;, opt_name);<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-<wbr>truncate-open-mode.patch b/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-<wbr>truncate-open-mode.patch<br>
deleted file mode 100644<br>
index cdc9108..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-<wbr>truncate-open-mode.patch<br>
+++ /dev/null<br>
@@ -1,81 +0,0 @@<br>
-Upstream-Status: Backport<br>
-<br>
-  <a href="http://busybox.net/downloads/fixes-1.24.1/" rel="noreferrer" target="_blank">http://busybox.net/downloads/<wbr>fixes-1.24.1/</a><br>
-  <a href="https://git.busybox.net/busybox/commit/?id=e111a1640494fe87fc913f94fae3bb805de0fc99" rel="noreferrer" target="_blank">https://git.busybox.net/<wbr>busybox/commit/?id=<wbr>e111a1640494fe87fc913f94fae3bb<wbr>805de0fc99</a><br>
-  <a href="https://git.busybox.net/busybox/commit/?h=1_24_stable&amp;id=be729c1d3b5c923f10871dd68ea94156d0f8c803" rel="noreferrer" target="_blank">https://git.busybox.net/<wbr>busybox/commit/?h=1_24_stable&amp;<wbr>id=<wbr>be729c1d3b5c923f10871dd68ea941<wbr>56d0f8c803</a><br>
-<br>
-Signed-off-by: Andre McCurdy &lt;<a href="mailto:armccurdy@gmail.com">armccurdy@gmail.com</a>&gt;<br>
-<br>
-From be729c1d3b5c923f10871dd68ea941<wbr>56d0f8c803 Mon Sep 17 00:00:00 2001<br>
-From: Ari Sundholm &lt;<a href="mailto:ari@tuxera.com">ari@tuxera.com</a>&gt;<br>
-Date: Mon, 4 Jan 2016 15:40:37 +0200<br>
-Subject: [PATCH] truncate: always set mode when opening file to avoid fortify<br>
- errors<br>
-<br>
-Busybox crashes due to no mode being given when opening:<br>
-$ ./busybox truncate -s 1M foo<br>
-*** invalid open64 call: O_CREAT without mode ***: ./busybox terminated<br>
-======= Backtrace: =========<br>
-/lib/x86_64-linux-gnu/libc.<wbr>so.6(+0x7338f)[0x7f66d921338f]<br>
-/lib/x86_64-linux-gnu/libc.<wbr>so.6(__fortify_fail+0x5c)[<wbr>0x7f66d92aac9c]<br>
-/lib/x86_64-linux-gnu/libc.<wbr>so.6(+0xeb6aa)[0x7f66d928b6aa]<br>
-./busybox[0x4899f9]<br>
-======= Memory map: ========<br>
-00400000-004d0000 r-xp 00000000 00:1a 137559                             /home/ari/busybox/busybox<br>
-006cf000-006d0000 r--p 000cf000 00:1a 137559                             /home/ari/busybox/busybox<br>
-006d0000-006d1000 rw-p 000d0000 00:1a 137559                             /home/ari/busybox/busybox<br>
-006d1000-006d4000 rw-p 00000000 00:00 0<br>
-014e7000-01508000 rw-p 00000000 00:00 0                                  [heap]<br>
-7f66d8f8a000-7f66d8fa0000 r-xp 00000000 08:07 1579008                    /lib/x86_64-linux-gnu/libgcc_<wbr>s.so.1<br>
-7f66d8fa0000-7f66d919f000 ---p 00016000 08:07 1579008                    /lib/x86_64-linux-gnu/libgcc_<wbr>s.so.1<br>
-7f66d919f000-7f66d91a0000 rw-p 00015000 08:07 1579008                    /lib/x86_64-linux-gnu/libgcc_<wbr>s.so.1<br>
-7f66d91a0000-7f66d935b000 r-xp 00000000 08:07 1578994                    /lib/x86_64-linux-gnu/<a href="http://libc-2.19.so" rel="noreferrer" target="_blank">libc-2.<wbr>19.so</a><br>
-7f66d935b000-7f66d955a000 ---p 001bb000 08:07 1578994                    /lib/x86_64-linux-gnu/<a href="http://libc-2.19.so" rel="noreferrer" target="_blank">libc-2.<wbr>19.so</a><br>
-7f66d955a000-7f66d955e000 r--p 001ba000 08:07 1578994                    /lib/x86_64-linux-gnu/<a href="http://libc-2.19.so" rel="noreferrer" target="_blank">libc-2.<wbr>19.so</a><br>
-7f66d955e000-7f66d9560000 rw-p 001be000 08:07 1578994                    /lib/x86_64-linux-gnu/<a href="http://libc-2.19.so" rel="noreferrer" target="_blank">libc-2.<wbr>19.so</a><br>
-7f66d9560000-7f66d9565000 rw-p 00000000 00:00 0<br>
-7f66d9565000-7f66d966a000 r-xp 00000000 08:07 1579020                    /lib/x86_64-linux-gnu/<a href="http://libm-2.19.so" rel="noreferrer" target="_blank">libm-2.<wbr>19.so</a><br>
-7f66d966a000-7f66d9869000 ---p 00105000 08:07 1579020                    /lib/x86_64-linux-gnu/<a href="http://libm-2.19.so" rel="noreferrer" target="_blank">libm-2.<wbr>19.so</a><br>
-7f66d9869000-7f66d986a000 r--p 00104000 08:07 1579020                    /lib/x86_64-linux-gnu/<a href="http://libm-2.19.so" rel="noreferrer" target="_blank">libm-2.<wbr>19.so</a><br>
-7f66d986a000-7f66d986b000 rw-p 00105000 08:07 1579020                    /lib/x86_64-linux-gnu/<a href="http://libm-2.19.so" rel="noreferrer" target="_blank">libm-2.<wbr>19.so</a><br>
-7f66d986b000-7f66d988e000 r-xp 00000000 08:07 1578981                    /lib/x86_64-linux-gnu/<a href="http://ld-2.19.so" rel="noreferrer" target="_blank">ld-2.19.<wbr>so</a><br>
-7f66d9a64000-7f66d9a67000 rw-p 00000000 00:00 0<br>
-7f66d9a8a000-7f66d9a8d000 rw-p 00000000 00:00 0<br>
-7f66d9a8d000-7f66d9a8e000 r--p 00022000 08:07 1578981                    /lib/x86_64-linux-gnu/<a href="http://ld-2.19.so" rel="noreferrer" target="_blank">ld-2.19.<wbr>so</a><br>
-7f66d9a8e000-7f66d9a8f000 rw-p 00023000 08:07 1578981                    /lib/x86_64-linux-gnu/<a href="http://ld-2.19.so" rel="noreferrer" target="_blank">ld-2.19.<wbr>so</a><br>
-7f66d9a8f000-7f66d9a90000 rw-p 00000000 00:00 0<br>
-7ffc47761000-7ffc47782000 rw-p 00000000 00:00 0                          [stack]<br>
-7ffc477ab000-7ffc477ad000 r-xp 00000000 00:00 0                          [vdso]<br>
-ffffffffff600000-<wbr>ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]<br>
-Aborted (core dumped)<br>
-$<br>
-<br>
-Fix this by simply always setting the mode, as it doesn&#39;t hurt even<br>
-when O_CREAT is not specified.<br>
-<br>
-This bug is a regression introduced in fc3e40e, as xopen(), which<br>
-was originally used, would automatically set the mode.<br>
-<br>
-Signed-off-by: Ari Sundholm &lt;<a href="mailto:ari@tuxera.com">ari@tuxera.com</a>&gt;<br>
-Signed-off-by: Mike Frysinger &lt;<a href="mailto:vapier@gentoo.org">vapier@gentoo.org</a>&gt;<br>
-(cherry picked from commit e111a1640494fe87fc913f94fae3bb<wbr>805de0fc99)<br>
----<br>
- coreutils/truncate.c | 2 +-<br>
- 1 file changed, 1 insertion(+), 1 deletion(-)<br>
-<br>
-diff --git a/coreutils/truncate.c b/coreutils/truncate.c<br>
-index e5fa656..4c997bf 100644<br>
---- a/coreutils/truncate.c<br>
-+++ b/coreutils/truncate.c<br>
-@@ -64,7 +64,7 @@ int truncate_main(int argc UNUSED_PARAM, char **argv)<br>
-<br>
-       argv += optind;<br>
-       while (*argv) {<br>
--              int fd = open(*argv, flags);<br>
-+              int fd = open(*argv, flags, 0666);<br>
-               if (fd &lt; 0) {<br>
-                       if (errno != ENOENT || !(opts &amp; OPT_NOCREATE)) {<br>
-                               bb_perror_msg(&quot;%s: open&quot;, *argv);<br>
---<br>
-2.6.2<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip-<wbr>regression.patch b/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip-<wbr>regression.patch<br>
deleted file mode 100644<br>
index e3c5020..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip-<wbr>regression.patch<br>
+++ /dev/null<br>
@@ -1,143 +0,0 @@<br>
-Upstream-Status: Backport<br>
-<br>
-  <a href="http://busybox.net/downloads/fixes-1.24.1/" rel="noreferrer" target="_blank">http://busybox.net/downloads/<wbr>fixes-1.24.1/</a><br>
-  <a href="http://git.busybox.net/busybox/commit/?id=092fabcf1df5d46cd22be4ffcd3b871f6180eb9c" rel="noreferrer" target="_blank">http://git.busybox.net/<wbr>busybox/commit/?id=<wbr>092fabcf1df5d46cd22be4ffcd3b87<wbr>1f6180eb9c</a><br>
-  <a href="http://git.busybox.net/busybox/commit/?h=1_24_stable&amp;id=092fabcf1df5d46cd22be4ffcd3b871f6180eb9c" rel="noreferrer" target="_blank">http://git.busybox.net/<wbr>busybox/commit/?h=1_24_stable&amp;<wbr>id=<wbr>092fabcf1df5d46cd22be4ffcd3b87<wbr>1f6180eb9c</a><br>
-<br>
-Signed-off-by: Andre McCurdy &lt;<a href="mailto:armccurdy@gmail.com">armccurdy@gmail.com</a>&gt;<br>
-<br>
-From 092fabcf1df5d46cd22be4ffcd3b87<wbr>1f6180eb9c Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Fri, 30 Oct 2015 23:41:53 +0100<br>
-Subject: [PATCH] [g]unzip: fix recent breakage.<br>
-<br>
-Also, do emit error message we so painstakingly pass from gzip internals<br>
-<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-(cherry picked from commit 6bd3fff51aa74e2ee2d87887b12182<wbr>a3b09792ef)<br>
-Signed-off-by: Mike Frysinger &lt;<a href="mailto:vapier@gentoo.org">vapier@gentoo.org</a>&gt;<br>
----<br>
- archival/libarchive/<wbr>decompress_gunzip.c | 33 +++++++++++++++++++++---------<wbr>---<br>
- testsuite/unzip.tests                   |  1 +<br>
- 2 files changed, 22 insertions(+), 12 deletions(-)<br>
-<br>
-diff --git a/archival/libarchive/<wbr>decompress_gunzip.c b/archival/libarchive/<wbr>decompress_gunzip.c<br>
-index c76fd31..357c9bf 100644<br>
---- a/archival/libarchive/<wbr>decompress_gunzip.c<br>
-+++ b/archival/libarchive/<wbr>decompress_gunzip.c<br>
-@@ -309,8 +309,7 @@ static int huft_build(const unsigned *b, const unsigned n,<br>
-       huft_t *q;              /* points to current table */<br>
-       huft_t r;               /* table entry for structure assignment */<br>
-       huft_t *u[BMAX];        /* table stack */<br>
--      unsigned v[N_MAX];      /* values in order of bit length */<br>
--      unsigned v_end;<br>
-+      unsigned v[N_MAX + 1];  /* values in order of bit length. last v[] is never used */<br>
-       int ws[BMAX + 1];       /* bits decoded stack */<br>
-       int w;                  /* bits decoded */<br>
-       unsigned x[BMAX + 1];   /* bit offsets, then code stack */<br>
-@@ -365,15 +364,17 @@ static int huft_build(const unsigned *b, const unsigned n,<br>
-               *xp++ = j;<br>
-       }<br>
-<br>
--      /* Make a table of values in order of bit lengths */<br>
-+      /* Make a table of values in order of bit lengths.<br>
-+       * To detect bad input, unused v[i]&#39;s are set to invalid value UINT_MAX.<br>
-+       * In particular, last v[i] is never filled and must not be accessed.<br>
-+       */<br>
-+      memset(v, 0xff, sizeof(v));<br>
-       p = b;<br>
-       i = 0;<br>
--      v_end = 0;<br>
-       do {<br>
-               j = *p++;<br>
-               if (j != 0) {<br>
-                       v[x[j]++] = i;<br>
--                      v_end = x[j];<br>
-               }<br>
-       } while (++i &lt; n);<br>
-<br>
-@@ -435,7 +436,9 @@ static int huft_build(const unsigned *b, const unsigned n,<br>
-<br>
-                       /* set up table entry in r */<br>
-                       r.b = (unsigned char) (k - w);<br>
--                      if (p &gt;= v + v_end) { // Was &quot;if (p &gt;= v + n)&quot; but v[] can be shorter!<br>
-+                      if (/*p &gt;= v + n || -- redundant, caught by the second check: */<br>
-+                          *p == UINT_MAX /* do we access uninited v[i]? (see memset(v))*/<br>
-+                      ) {<br>
-                               r.e = 99; /* out of values--invalid code */<br>
-                       } else if (*p &lt; s) {<br>
-                               r.e = (unsigned char) (*p &lt; 256 ? 16 : 15);     /* 256 is EOB code */<br>
-@@ -520,8 +523,9 @@ static NOINLINE int inflate_codes(STATE_PARAM_<wbr>ONLY)<br>
-               e = t-&gt;e;<br>
-               if (e &gt; 16)<br>
-                       do {<br>
--                              if (e == 99)<br>
--                                      abort_unzip(PASS_STATE_ONLY);;<br>
-+                              if (e == 99) {<br>
-+                                      abort_unzip(PASS_STATE_ONLY);<br>
-+                              }<br>
-                               bb &gt;&gt;= t-&gt;b;<br>
-                               k -= t-&gt;b;<br>
-                               e -= 16;<br>
-@@ -557,8 +561,9 @@ static NOINLINE int inflate_codes(STATE_PARAM_<wbr>ONLY)<br>
-                       e = t-&gt;e;<br>
-                       if (e &gt; 16)<br>
-                               do {<br>
--                                      if (e == 99)<br>
-+                                      if (e == 99) {<br>
-                                               abort_unzip(PASS_STATE_ONLY);<br>
-+                                      }<br>
-                                       bb &gt;&gt;= t-&gt;b;<br>
-                                       k -= t-&gt;b;<br>
-                                       e -= 16;<br>
-@@ -824,8 +829,9 @@ static int inflate_block(STATE_PARAM smallint *e)<br>
-<br>
-               b_dynamic &gt;&gt;= 4;<br>
-               k_dynamic -= 4;<br>
--              if (nl &gt; 286 || nd &gt; 30)<br>
-+              if (nl &gt; 286 || nd &gt; 30) {<br>
-                       abort_unzip(PASS_STATE_ONLY);   /* bad lengths */<br>
-+              }<br>
-<br>
-               /* read in bit-length-code lengths */<br>
-               for (j = 0; j &lt; nb; j++) {<br>
-@@ -906,12 +912,14 @@ static int inflate_block(STATE_PARAM smallint *e)<br>
-               bl = lbits;<br>
-<br>
-               i = huft_build(ll, nl, 257, cplens, cplext, &amp;inflate_codes_tl, &amp;bl);<br>
--              if (i != 0)<br>
-+              if (i != 0) {<br>
-                       abort_unzip(PASS_STATE_ONLY);<br>
-+              }<br>
-               bd = dbits;<br>
-               i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &amp;inflate_codes_td, &amp;bd);<br>
--              if (i != 0)<br>
-+              if (i != 0) {<br>
-                       abort_unzip(PASS_STATE_ONLY);<br>
-+              }<br>
-<br>
-               /* set up data for inflate_codes() */<br>
-               inflate_codes_setup(PASS_STATE bl, bd);<br>
-@@ -999,6 +1007,7 @@ inflate_unzip_internal(STATE_<wbr>PARAM transformer_state_t *xstate)<br>
-       error_msg = &quot;corrupted data&quot;;<br>
-       if (setjmp(error_jmp)) {<br>
-               /* Error from deep inside zip machinery */<br>
-+              bb_error_msg(error_msg);<br>
-               n = -1;<br>
-               goto ret;<br>
-       }<br>
-diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests<br>
-index ca0a458..d8738a3 100755<br>
---- a/testsuite/unzip.tests<br>
-+++ b/testsuite/unzip.tests<br>
-@@ -34,6 +34,7 @@ rm foo.zip<br>
- testing &quot;unzip (bad archive)&quot; &quot;uudecode; unzip bad.zip 2&gt;&amp;1; echo \$?&quot; \<br>
- &quot;Archive:  bad.zip<br>
</div></div>-   inflating: ]3j½r«I  K-%Ix<br>
<div><div class="h5">-+unzip: corrupted data<br>
- unzip: inflate error<br>
- 1<br>
- &quot; \<br>
---<br>
-2.6.2<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip.<wbr>patch b/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip.<wbr>patch<br>
deleted file mode 100644<br>
index 7186726..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/busybox-1.24.1-unzip.<wbr>patch<br>
+++ /dev/null<br>
@@ -1,118 +0,0 @@<br>
-Upstream-Status: Backport<br>
-<br>
-  <a href="http://busybox.net/downloads/fixes-1.24.1/" rel="noreferrer" target="_blank">http://busybox.net/downloads/<wbr>fixes-1.24.1/</a><br>
-  <a href="http://git.busybox.net/busybox/commit/?id=1de25a6e87e0e627aa34298105a3d17c60a1f44e" rel="noreferrer" target="_blank">http://git.busybox.net/<wbr>busybox/commit/?id=<wbr>1de25a6e87e0e627aa34298105a3d1<wbr>7c60a1f44e</a><br>
-  <a href="http://git.busybox.net/busybox/commit/?h=1_24_stable&amp;id=6767af17f11144c7cd3cfe9ef799d7f89a78fe65" rel="noreferrer" target="_blank">http://git.busybox.net/<wbr>busybox/commit/?h=1_24_stable&amp;<wbr>id=<wbr>6767af17f11144c7cd3cfe9ef799d7<wbr>f89a78fe65</a><br>
-<br>
-Signed-off-by: Andre McCurdy &lt;<a href="mailto:armccurdy@gmail.com">armccurdy@gmail.com</a>&gt;<br>
-<br>
-From 1de25a6e87e0e627aa34298105a3d1<wbr>7c60a1f44e Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Mon, 26 Oct 2015 19:33:05 +0100<br>
-Subject: [PATCH] unzip: test for bad archive SEGVing<br>
-<br>
-function                                             old     new   delta<br>
-huft_build                                          1296    1300      +4<br>
-<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
----<br>
- archival/libarchive/<wbr>decompress_gunzip.c | 11 +++++++----<br>
- testsuite/unzip.tests                   | 23 ++++++++++++++++++++++-<br>
- 2 files changed, 29 insertions(+), 5 deletions(-)<br>
-<br>
-diff --git a/archival/libarchive/<wbr>decompress_gunzip.c b/archival/libarchive/<wbr>decompress_gunzip.c<br>
-index 7b6f459..30bf451 100644<br>
---- a/archival/libarchive/<wbr>decompress_gunzip.c<br>
-+++ b/archival/libarchive/<wbr>decompress_gunzip.c<br>
-@@ -305,11 +305,12 @@ static int huft_build(const unsigned *b, const unsigned n,<br>
-       unsigned i;             /* counter, current code */<br>
-       unsigned j;             /* counter */<br>
-       int k;                  /* number of bits in current code */<br>
--      unsigned *p;            /* pointer into c[], b[], or v[] */<br>
-+      const unsigned *p;      /* pointer into c[], b[], or v[] */<br>
-       huft_t *q;              /* points to current table */<br>
-       huft_t r;               /* table entry for structure assignment */<br>
-       huft_t *u[BMAX];        /* table stack */<br>
-       unsigned v[N_MAX];      /* values in order of bit length */<br>
-+      unsigned v_end;<br>
-       int ws[BMAX + 1];       /* bits decoded stack */<br>
-       int w;                  /* bits decoded */<br>
-       unsigned x[BMAX + 1];   /* bit offsets, then code stack */<br>
-@@ -324,7 +325,7 @@ static int huft_build(const unsigned *b, const unsigned n,<br>
-<br>
-       /* Generate counts for each bit length */<br>
-       memset(c, 0, sizeof(c));<br>
--      p = (unsigned *) b; /* cast allows us to reuse p for pointing to b */<br>
-+      p = b;<br>
-       i = n;<br>
-       do {<br>
-               c[*p]++; /* assume all entries &lt;= BMAX */<br>
-@@ -365,12 +366,14 @@ static int huft_build(const unsigned *b, const unsigned n,<br>
-       }<br>
-<br>
-       /* Make a table of values in order of bit lengths */<br>
--      p = (unsigned *) b;<br>
-+      p = b;<br>
-       i = 0;<br>
-+      v_end = 0;<br>
-       do {<br>
-               j = *p++;<br>
-               if (j != 0) {<br>
-                       v[x[j]++] = i;<br>
-+                      v_end = x[j];<br>
-               }<br>
-       } while (++i &lt; n);<br>
-<br>
-@@ -432,7 +435,7 @@ static int huft_build(const unsigned *b, const unsigned n,<br>
-<br>
-                       /* set up table entry in r */<br>
-                       r.b = (unsigned char) (k - w);<br>
--                      if (p &gt;= v + n) {<br>
-+                      if (p &gt;= v + v_end) { // Was &quot;if (p &gt;= v + n)&quot; but v[] can be shorter!<br>
-                               r.e = 99; /* out of values--invalid code */<br>
-                       } else if (*p &lt; s) {<br>
-                               r.e = (unsigned char) (*p &lt; 256 ? 16 : 15);     /* 256 is EOB code */<br>
-diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests<br>
-index 8677a03..ca0a458 100755<br>
---- a/testsuite/unzip.tests<br>
-+++ b/testsuite/unzip.tests<br>
-@@ -7,7 +7,7 @@<br>
-<br>
- . ./testing.sh<br>
-<br>
--# testing &quot;test name&quot; &quot;options&quot; &quot;expected result&quot; &quot;file input&quot; &quot;stdin&quot;<br>
-+# testing &quot;test name&quot; &quot;commands&quot; &quot;expected result&quot; &quot;file input&quot; &quot;stdin&quot;<br>
- #   file input will be file called &quot;input&quot;<br>
- #   test can create a file &quot;actual&quot; instead of writing to stdout<br>
-<br>
-@@ -30,6 +30,27 @@ testing &quot;unzip (subdir only)&quot; &quot;unzip -q foo.zip foo/ &amp;&amp; test -d foo &amp;&amp; test ! -f<br>
- rmdir foo<br>
- rm foo.zip<br>
-<br>
-+# File containing some damaged encrypted stream<br>
-+testing &quot;unzip (bad archive)&quot; &quot;uudecode; unzip bad.zip 2&gt;&amp;1; echo \$?&quot; \<br>
-+&quot;Archive:  bad.zip<br>
</div></div>-+  inflating: ]3j½r«I  K-%Ix<br>
<div class="HOEnZb"><div class="h5">-+unzip: inflate error<br>
-+1<br>
-+&quot; \<br>
-+&quot;&quot; &quot;\<br>
-+begin-base64 644 bad.zip<br>
-+<wbr>UEsDBBQAAgkIAAAAIQA5AAAANwAAAD<wbr>wAAAAQAAcAXTNqwr1ywqtJGxJLLSVJ<br>
-+eCkBD0AdKBk8JzQsIj01JC0/<wbr>ORJQSwMEFAECCAAAAAAhADoAAAAPAA<wbr>AANgAA<br>
-+<wbr>AAwAAQASw73Ct1DCokohPXQiNjoUNT<wbr>UiHRwgLT4WHlBLAQIQABQAAggIAAAA<br>
-+<wbr>oQA5AAAANwAAADwAAAAQQAcADAAAAC<wbr>wAMgCAAAAAAABdM2rCvXLCq0kbEkst<br>
-+<wbr>JUl4KQEPQB0oGSY4Cz4QNgEnJSYIPV<wbr>BLAQIAABQAAggAAAAAIQAqAAAADwAA<br>
-+<wbr>BDYAAAAMAAEADQAAADIADQAAAEEAAA<wbr>ASw73Ct1DKokohPXQiNzA+FAI1HCcW<br>
-+<wbr>NzITNFBLBQUKAC4JAA04Cw0EOhZQSw<wbr>UGAQAABAIAAgCZAAAAeQAAAAIALhM=<br>
-+====<br>
-+&quot;<br>
-+<br>
-+rm *<br>
-+<br>
- # Clean up scratch directory.<br>
-<br>
- cd ..<br>
---<br>
-2.6.2<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/busybox-cross-<wbr>menuconfig.patch b/meta/recipes-core/busybox/<wbr>busybox/busybox-cross-<wbr>menuconfig.patch<br>
index bda8685..9a59001 100644<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/busybox-cross-<wbr>menuconfig.patch<br>
+++ b/meta/recipes-core/busybox/<wbr>busybox/busybox-cross-<wbr>menuconfig.patch<br>
@@ -1,6 +1,5 @@<br>
-From: Jason Wessel &lt;<a href="mailto:jason.wessel@windriver.com">jason.wessel@windriver.com</a>&gt;<br>
-Date: Sun, 3 Mar 2013 12:31:40 -0600<br>
-Subject: [PATCH] menuconfig,check-lxdiaglog.sh: Allow specification of ncurses location<br>
+Subject: [PATCH] Date: Sun, 3 Mar 2013 12:31:40 -0600 Subject: [PATCH]<br>
+ menuconfig,check-lxdiaglog.sh: Allow specification of ncurses location<br>
<br>
 Upstream-Status: Submitted<br>
<br>
@@ -29,38 +28,20 @@ compiling and linking against the right headers and libraries.<br>
 Signed-off-by: Jason Wessel &lt;<a href="mailto:jason.wessel@windriver.com">jason.wessel@windriver.com</a>&gt;<br>
 cc: Michal Marek &lt;<a href="mailto:mmarek@suse.cz">mmarek@suse.cz</a>&gt;<br>
 cc: <a href="mailto:linux-kbuild@vger.kernel.org">linux-kbuild@vger.kernel.org</a><br>
+<br>
+Updated to Busybox 1.26.2<br>
+<br>
+Signed-off-by: Zheng Ruoqin &lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com">zhengrq.fnst@cn.fujitsu.com</a>&gt;<br>
 ---<br>
- scripts/kconfig/lxdialog/<wbr>Makefile          |    2 +-<br>
- scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh |    8 ++++++++<br>
+ scripts/kconfig/lxdialog/<wbr>Makefile          | 2 +-<br>
+ scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh | 8 ++++++++<br>
  2 files changed, 9 insertions(+), 1 deletion(-)<br>
<br>
---- a/scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh<br>
-+++ b/scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh<br>
-@@ -4,6 +4,10 @@<br>
- # What library to link<br>
- ldflags()<br>
- {<br>
-+      if [ x&quot;$CROSS_CURSES_LIB&quot; != x ]; then<br>
-+              echo &quot;$CROSS_CURSES_LIB&quot;<br>
-+              exit<br>
-+      fi<br>
-       for ext in so a dylib ; do<br>
-               for lib in ncursesw ncurses curses ; do<br>
-                       $cc -print-file-name=lib${lib}.${<wbr>ext} | grep -q /<br>
-@@ -19,6 +23,10 @@ ldflags()<br>
- # Where is ncurses.h?<br>
- ccflags()<br>
- {<br>
-+      if [ x&quot;$CROSS_CURSES_INC&quot; != x ]; then<br>
-+              echo &quot;$CROSS_CURSES_INC&quot;<br>
-+              exit<br>
-+      fi<br>
-       if [ -f /usr/include/ncursesw/ncurses.<wbr>h ]; then<br>
-               echo &#39;-I/usr/include/ncursesw -DCURSES_LOC=&quot;&lt;ncurses.h&gt;&quot;&#39;<br>
-       elif [ -f /usr/include/ncursesw/curses.h ]; then<br>
+diff --git a/scripts/kconfig/lxdialog/<wbr>Makefile b/scripts/kconfig/lxdialog/<wbr>Makefile<br>
+index 2c9dc48..cdb4413 100644<br>
 --- a/scripts/kconfig/lxdialog/<wbr>Makefile<br>
 +++ b/scripts/kconfig/lxdialog/<wbr>Makefile<br>
-@@ -5,7 +5,7 @@ check-lxdialog  := $(srctree)/$(src)/che<br>
+@@ -5,7 +5,7 @@ check-lxdialog  := $(srctree)/$(src)/check-<wbr>lxdialog.sh<br>
<br>
  # Use reursively expanded variables so we do not call gcc unless<br>
  # we really need to do so. (Do not call gcc as part of make mrproper)<br>
@@ -69,3 +50,32 @@ cc: <a href="mailto:linux-kbuild@vger.kernel.org">linux-kbuild@vger.kernel.org</a><br>
  HOST_LOADLIBES   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))<br>
<br>
  HOST_EXTRACFLAGS += -DLOCALE<br>
+diff --git a/scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh b/scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh<br>
+index 5075ebf..46266cb 100755<br>
+--- a/scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh<br>
++++ b/scripts/kconfig/lxdialog/<wbr>check-lxdialog.sh<br>
+@@ -6,6 +6,10 @@ ldflags()<br>
+ {<br>
+       pkg-config --libs ncursesw 2&gt;/dev/null &amp;&amp; exit<br>
+       pkg-config --libs ncurses 2&gt;/dev/null &amp;&amp; exit<br>
++        if [ x&quot;$CROSS_CURSES_LIB&quot; != x ]; then<br>
++                echo &quot;$CROSS_CURSES_LIB&quot;<br>
++                exit<br>
++        fi<br>
+       for ext in so a dll.a dylib ; do<br>
+               for lib in ncursesw ncurses curses ; do<br>
+                       $cc -print-file-name=lib${lib}.${<wbr>ext} | grep -q /<br>
+@@ -21,6 +25,10 @@ ldflags()<br>
+ # Where is ncurses.h?<br>
+ ccflags()<br>
+ {<br>
++        if [ x&quot;$CROSS_CURSES_INC&quot; != x ]; then<br>
++                echo &quot;$CROSS_CURSES_INC&quot;<br>
++                exit<br>
++        fi<br>
+       if pkg-config --cflags ncursesw 2&gt;/dev/null; then<br>
+               echo &#39;-DCURSES_LOC=&quot;&lt;ncurses.h&gt;&quot; -DNCURSES_WIDECHAR=1&#39;<br>
+       elif pkg-config --cflags ncurses 2&gt;/dev/null; then<br>
+--<br>
+2.7.4<br>
+<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/busybox-kbuild-race-<wbr>fix-commit-d8e61bb.patch b/meta/recipes-core/busybox/<wbr>busybox/busybox-kbuild-race-<wbr>fix-commit-d8e61bb.patch<br>
deleted file mode 100644<br>
index 38302e0..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/busybox-kbuild-race-<wbr>fix-commit-d8e61bb.patch<br>
+++ /dev/null<br>
@@ -1,53 +0,0 @@<br>
-Upstream-Status: Backport<br>
-<br>
-Patch addressing a parallel make race in Busybox<br>
-<br>
-  <a href="http://git.busybox.net/busybox/commit/?id=d8e61bbf13d0cf38d477255cfd5dc71c5d51d575" rel="noreferrer" target="_blank">http://git.busybox.net/<wbr>busybox/commit/?id=<wbr>d8e61bbf13d0cf38d477255cfd5dc7<wbr>1c5d51d575</a><br>
-<br>
-Signed-off-by: Juro Bystricky &lt;<a href="mailto:juro.bystricky@intel.com">juro.bystricky@intel.com</a>&gt;<br>
-<br>
-From d8e61bbf13d0cf38d477255cfd5dc7<wbr>1c5d51d575 Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Sun, 21 Aug 2016 22:00:20 +0200<br>
-Subject: build system: different fix for<br>
- include/applet_tables.h/<wbr>include/NUM_APPLETS.h<br>
-<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-<br>
-diff --git a/applets/Kbuild.src b/applets/Kbuild.src<br>
-index 5cc1827..3aedbbf 100644<br>
---- a/applets/Kbuild.src<br>
-+++ b/applets/Kbuild.src<br>
-@@ -29,7 +29,7 @@ applets/applets.o: include/usage_compressed.h include/applet_tables.h<br>
-<br>
- applets/applet_tables: .config include/applets.h<br>
- applets/usage:         .config include/applets.h<br>
--applets/usage_pod:     .config include/applets.h include/applet_tables.h include/NUM_APPLETS.h<br>
-+applets/usage_pod:     .config include/applets.h include/applet_tables.h<br>
-<br>
- quiet_cmd_gen_usage_compressed = GEN     include/usage_compressed.h<br>
-       cmd_gen_usage_compressed = $(srctree_slash)applets/usage_<wbr>compressed include/usage_compressed.h applets<br>
-@@ -37,8 +37,21 @@ quiet_cmd_gen_usage_compressed = GEN     include/usage_compressed.h<br>
- include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_<wbr>compressed<br>
-       $(call cmd,gen_usage_compressed)<br>
-<br>
--quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h<br>
-+quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h include/NUM_APPLETS.h<br>
-       cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h<br>
-<br>
--include/applet_tables.h include/NUM_APPLETS.h: applets/applet_tables<br>
-+include/NUM_APPLETS.h: applets/applet_tables<br>
-+      $(call cmd,gen_applet_tables)<br>
-+<br>
-+# In fact, include/applet_tables.h depends only on applets/applet_tables,<br>
-+# and is generated by it. But specifying only it can run<br>
-+# applets/applet_tables twice, possibly in parallel.<br>
-+# We say that it also needs NUM_APPLETS.h<br>
-+#<br>
-+# Unfortunately, we need to list the same command,<br>
-+# and it can be executed twice (sequentially).<br>
-+# The alternative is to not list any command,<br>
-+# and then if include/applet_tables.h is deleted, it won&#39;t be rebuilt.<br>
-+#<br>
-+include/applet_tables.h: include/NUM_APPLETS.h applets/applet_tables<br>
-       $(call cmd,gen_applet_tables)<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/busybox-udhcpc-no_<wbr>deconfig.patch b/meta/recipes-core/busybox/<wbr>busybox/busybox-udhcpc-no_<wbr>deconfig.patch<br>
index 4c9ce3b..202e086 100644<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/busybox-udhcpc-no_<wbr>deconfig.patch<br>
+++ b/meta/recipes-core/busybox/<wbr>busybox/busybox-udhcpc-no_<wbr>deconfig.patch<br>
@@ -1,6 +1,3 @@<br>
-From 53626cd06a3ef05ed847daea802ef0<wbr>aa9661caa7 Mon Sep 17 00:00:00 2001<br>
-From: Anders Darander &lt;<a href="mailto:anders@chargestorm.se">anders@chargestorm.se</a>&gt;<br>
-Date: Thu, 3 Nov 2011 08:51:31 +0100<br>
 Subject: [PATCH] busybox-udhcpc-no_deconfig.<wbr>patch<br>
<br>
 Upstream-Status: Pending<br>
@@ -27,17 +24,21 @@ Signed-off-by: Anders Darander &lt;<a href="mailto:anders@chargestorm.se">anders@chargestorm.se</a>&gt;<br>
 Fixed options -b, -a and -P.<br>
<br>
 Signed-off-by: Andreas Oberritter &lt;<a href="mailto:obi@opendreambox.org">obi@opendreambox.org</a>&gt;<br>
+<br>
+Updated to Busybox 1.26.2<br>
+<br>
+Signed-off-by: Zheng Ruoqin &lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com">zhengrq.fnst@cn.fujitsu.com</a>&gt;<br>
 ---<br>
- networking/udhcp/dhcpc.c |   29 +++++++++++++++++++++--------<br>
- 1 files changed, 21 insertions(+), 8 deletions(-)<br>
+ networking/udhcp/dhcpc.c | 26 +++++++++++++++++++-------<br>
+ 1 file changed, 19 insertions(+), 7 deletions(-)<br>
<br>
-Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
-=============================<wbr>==============================<wbr>========<br>
---- busybox-1.20.2.orig/<wbr>networking/udhcp/dhcpc.c<br>
-+++ busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
-@@ -29,6 +29,9 @@<br>
- #include &lt;netpacket/packet.h&gt;<br>
- #include &lt;linux/filter.h&gt;<br>
+diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c<br>
+index 0e23626..2f05ee3 100644<br>
+--- a/networking/udhcp/dhcpc.c<br>
++++ b/networking/udhcp/dhcpc.c<br>
+@@ -50,6 +50,9 @@ struct tpacket_auxdata {<br>
+ #endif<br>
+<br>
<br>
 +/* option whether to down the interface when reconfiguring */<br>
 +static int allow_deconfig = 1;<br>
@@ -45,7 +46,7 @@ Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
  /* &quot;struct client_config_t client_config&quot; is in bb_common_bufsiz1 */<br>
<br>
<br>
-@@ -81,8 +84,9 @@ enum {<br>
+@@ -102,8 +105,9 @@ enum {<br>
        OPT_x = 1 &lt;&lt; 18,<br>
        OPT_f = 1 &lt;&lt; 19,<br>
        OPT_B = 1 &lt;&lt; 20,<br>
@@ -56,7 +57,7 @@ Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
        USE_FOR_MMU(             OPTBIT_b,)<br>
        IF_FEATURE_UDHCPC_ARPING(<wbr>OPTBIT_a,)<br>
        IF_FEATURE_UDHCP_PORT(   OPTBIT_P,)<br>
-@@ -1040,7 +1044,8 @@ static void perform_renew(void)<br>
+@@ -1108,7 +1112,8 @@ static void perform_renew(void)<br>
                state = RENEW_REQUESTED;<br>
                break;<br>
        case RENEW_REQUESTED: /* impatient are we? fine, square 1 */<br>
@@ -66,26 +67,16 @@ Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
        case REQUESTING:<br>
        case RELEASED:<br>
                change_listen_mode(LISTEN_RAW)<wbr>;<br>
-@@ -1064,7 +1069,8 @@ static void perform_release(uint32_t ser<br>
-               bb_info_msg(&quot;Unicasting a release of %s to %s&quot;,<br>
-                               inet_ntoa(temp_addr), buffer);<br>
-               send_release(server_addr, requested_ip); /* unicast */<br>
--              udhcp_run_script(NULL, &quot;deconfig&quot;);<br>
-+              if (allow_deconfig)<br>
-+                      udhcp_run_script(NULL, &quot;deconfig&quot;);<br>
-       }<br>
-       bb_info_msg(&quot;Entering released state&quot;);<br>
-<br>
-@@ -1215,7 +1221,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c<br>
+@@ -1298,7 +1303,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)<br>
        /* O,x: list; -T,-t,-A take numeric param */<br>
-       opt_complementary = &quot;O::x::T+:t+:A+&quot; IF_UDHCP_VERBOSE(&quot;:vv&quot;) ;<br>
+       IF_UDHCP_VERBOSE(opt_<wbr>complementary = &quot;vv&quot;;)<br>
        IF_LONG_OPTS(applet_long_<wbr>options = udhcpc_longopts;)<br>
--      opt = getopt32(argv, &quot;CV:H:h:F:i:np:qRr:s:T:t:SA:O:<wbr>ox:fB&quot;<br>
-+      opt = getopt32(argv, &quot;CV:H:h:F:i:np:qRr:s:T:t:SA:O:<wbr>ox:fBD&quot;<br>
+-      opt = getopt32(argv, &quot;CV:H:h:F:i:np:qRr:s:T:+t:+SA:<wbr>+O:*ox:*fB&quot;<br>
++        opt = getopt32(argv, &quot;CV:H:h:F:i:np:qRr:s:T:t:SA:O:<wbr>ox:fBD&quot;<br>
                USE_FOR_MMU(&quot;b&quot;)<br>
-               IF_FEATURE_UDHCPC_ARPING(&quot;a&quot;)<br>
+               IF_FEATURE_UDHCPC_ARPING(&quot;a::&quot;<wbr>)<br>
                IF_FEATURE_UDHCP_PORT(&quot;P:&quot;)<br>
-@@ -1316,6 +1322,9 @@ int udhcpc_main(int argc UNUSED_PARAM, c<br>
+@@ -1407,6 +1412,9 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)<br>
                logmode |= LOGMODE_SYSLOG;<br>
        }<br>
<br>
@@ -95,7 +86,7 @@ Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
        /* Make sure fd 0,1,2 are open */<br>
        bb_sanitize_stdio();<br>
        /* Equivalent of doing a fflush after every \n */<br>
-@@ -1330,7 +1339,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c<br>
+@@ -1421,7 +1429,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)<br>
        srand(monotonic_us());<br>
<br>
        state = INIT_SELECTING;<br>
@@ -105,17 +96,17 @@ Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
        change_listen_mode(LISTEN_RAW)<wbr>;<br>
        packet_num = 0;<br>
        timeout = 0;<br>
-@@ -1484,7 +1494,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c<br>
+@@ -1575,7 +1584,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)<br>
                                }<br>
                                /* Timed out, enter init state */<br>
-                               bb_info_msg(&quot;Lease lost, entering init state&quot;);<br>
+                               bb_error_msg(&quot;lease lost, entering init state&quot;);<br>
 -                              udhcp_run_script(NULL, &quot;deconfig&quot;);<br>
-+                              if (allow_deconfig)<br>
-+                                      udhcp_run_script(NULL, &quot;deconfig&quot;);<br>
++                                if (allow_deconfig)<br>
++                                        udhcp_run_script(NULL, &quot;deconfig&quot;);<br>
                                state = INIT_SELECTING;<br>
                                client_config.first_secs = 0; /* make secs field count from 0 */<br>
                                /*timeout = 0; - already is */<br>
-@@ -1667,7 +1678,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c<br>
+@@ -1768,7 +1778,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)<br>
                                                send_decline(/*xid,*/ server_addr, packet.yiaddr);<br>
<br>
                                                if (state != REQUESTING)<br>
@@ -125,8 +116,8 @@ Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
                                                change_listen_mode(LISTEN_RAW)<wbr>;<br>
                                                state = INIT_SELECTING;<br>
                                                client_config.first_secs = 0; /* make secs field count from 0 */<br>
-@@ -1711,7 +1723,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c<br>
-                               bb_info_msg(&quot;Received DHCP NAK&quot;);<br>
+@@ -1838,7 +1849,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)<br>
+                               bb_error_msg(&quot;received %s&quot;, &quot;DHCP NAK&quot;);<br>
                                udhcp_run_script(&amp;packet, &quot;nak&quot;);<br>
                                if (state != REQUESTING)<br>
 -                                      udhcp_run_script(NULL, &quot;deconfig&quot;);<br>
@@ -135,3 +126,6 @@ Index: busybox-1.20.2/networking/<wbr>udhcp/dhcpc.c<br>
                                change_listen_mode(LISTEN_RAW)<wbr>;<br>
                                sleep(3); /* avoid excessive network traffic */<br>
                                state = INIT_SELECTING;<br>
+--<br>
+2.7.4<br>
+<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/commit-applet_tables-<wbr>fix-commit-0dddbc1.patch b/meta/recipes-core/busybox/<wbr>busybox/commit-applet_tables-<wbr>fix-commit-0dddbc1.patch<br>
deleted file mode 100644<br>
index 7f80a1d..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/commit-applet_tables-<wbr>fix-commit-0dddbc1.patch<br>
+++ /dev/null<br>
@@ -1,61 +0,0 @@<br>
-Upstream-Status: Backport<br>
-<br>
-Patch addressing a parallel make race in Busybox<br>
-<br>
-  <a href="http://git.busybox.net/busybox/commit/?id=0dddbc1a59795a77679d8c5ef48a2795cb470563" rel="noreferrer" target="_blank">http://git.busybox.net/<wbr>busybox/commit/?id=<wbr>0dddbc1a59795a77679d8c5ef48a27<wbr>95cb470563</a><br>
-<br>
-Signed-off-by: Juro Bystricky &lt;<a href="mailto:juro.bystricky@intel.com">juro.bystricky@intel.com</a>&gt;<br>
-<br>
-From 0dddbc1a59795a77679d8c5ef48a27<wbr>95cb470563 Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Tue, 23 Aug 2016 20:21:36 +0200<br>
-Subject: build system: always rewrite NUM_APPLETS.h<br>
-<br>
-Conditional rewrite can keep NUM_APPLETS.h mtime old,<br>
-this causes make to try to regenerate it at every invocation.<br>
-<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-<br>
-diff --git a/applets/applet_tables.c b/applets/applet_tables.c<br>
-index 8401a15..ef911a4 100644<br>
---- a/applets/applet_tables.c<br>
-+++ b/applets/applet_tables.c<br>
-@@ -192,27 +192,28 @@ int main(int argc, char **argv)<br>
-       printf(&quot;};\n&quot;);<br>
- #endif<br>
-       //printf(&quot;#endif /* SKIP_definitions */\n&quot;);<br>
-+<br>
- //    printf(&quot;\n&quot;);<br>
- //    printf(&quot;#define MAX_APPLET_NAME_LEN %u\n&quot;, MAX_APPLET_NAME_LEN);<br>
-<br>
-       if (argv[2]) {<br>
--              char line_old[80];<br>
--              char line_new[80];<br>
-               FILE *fp;<br>
-+              char line_new[80];<br>
-+//            char line_old[80];<br>
-<br>
--              line_old[0] = 0;<br>
--              fp = fopen(argv[2], &quot;r&quot;);<br>
--              if (fp) {<br>
--                      fgets(line_old, sizeof(line_old), fp);<br>
--                      fclose(fp);<br>
--              }<br>
-               sprintf(line_new, &quot;#define NUM_APPLETS %u\n&quot;, NUM_APPLETS);<br>
--              if (strcmp(line_old, line_new) != 0) {<br>
-+//            line_old[0] = 0;<br>
-+//            fp = fopen(argv[2], &quot;r&quot;);<br>
-+//            if (fp) {<br>
-+//                    fgets(line_old, sizeof(line_old), fp);<br>
-+//                    fclose(fp);<br>
-+//            }<br>
-+//            if (strcmp(line_old, line_new) != 0) {<br>
-                       fp = fopen(argv[2], &quot;w&quot;);<br>
-                       if (!fp)<br>
-                               return 1;<br>
-                       fputs(line_new, fp);<br>
--              }<br>
-+//            }<br>
-       }<br>
-<br>
-       return 0;<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/ip_fix_problem_on_<wbr>mips64_n64_big_endian_musl_<wbr>systems.patch b/meta/recipes-core/busybox/<wbr>busybox/ip_fix_problem_on_<wbr>mips64_n64_big_endian_musl_<wbr>systems.patch<br>
deleted file mode 100644<br>
index 41c5656..0000000<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/ip_fix_problem_on_<wbr>mips64_n64_big_endian_musl_<wbr>systems.patch<br>
+++ /dev/null<br>
@@ -1,90 +0,0 @@<br>
-From 4ab372d49a6e82b0bf097dedb96d26<wbr>330c5f2d5f Mon Sep 17 00:00:00 2001<br>
-From: Szabolcs Nagy &lt;<a href="mailto:nsz@port70.net">nsz@port70.net</a>&gt;<br>
-Date: Sun, 24 Apr 2016 17:39:02 +0200<br>
-Subject: [PATCH] ip: fix problem on mips64 n64 big endian musl systems<br>
-<br>
-Use designated initializers for struct msghdr.<br>
-The struct layout is non-portable and musl libc does not match what busybox expects.<br>
-<br>
-Signed-off-by: Szabolcs Nagy &lt;<a href="mailto:nsz@port70.net">nsz@port70.net</a>&gt;<br>
-Tested-by: Waldemar Brodkorb &lt;<a href="mailto:wbx@openadk.org">wbx@openadk.org</a>&gt;<br>
-Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-<br>
-Upstream-Status: Backport<br>
-<br>
-<a href="https://git.busybox.net/busybox/commit/?id=4ab372d49a6e82b0bf097dedb96d26330c5f2d5f" rel="noreferrer" target="_blank">https://git.busybox.net/<wbr>busybox/commit/?id=<wbr>4ab372d49a6e82b0bf097dedb96d26<wbr>330c5f2d5f</a><br>
-<br>
-Signed-off-by: Armin Kuster &lt;<a href="mailto:akuster@mvista.com">akuster@mvista.com</a>&gt;<br>
-<br>
----<br>
- networking/libiproute/<wbr>libnetlink.c | 37 ++++++++++++++++++++++++------<wbr>-------<br>
- 1 file changed, 24 insertions(+), 13 deletions(-)<br>
-<br>
-diff --git a/networking/libiproute/<wbr>libnetlink.c b/networking/libiproute/<wbr>libnetlink.c<br>
-index c7533a4..cbb5daf 100644<br>
---- a/networking/libiproute/<wbr>libnetlink.c<br>
-+++ b/networking/libiproute/<wbr>libnetlink.c<br>
-@@ -71,11 +71,15 @@ int FAST_FUNC rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, in<br>
-       struct nlmsghdr nlh;<br>
-       struct sockaddr_nl nladdr;<br>
-       struct iovec iov[2] = { { &amp;nlh, sizeof(nlh) }, { req, len } };<br>
-+      /* Use designated initializers, struct layout is non-portable */<br>
-       struct msghdr msg = {<br>
--              (void*)&amp;nladdr, sizeof(nladdr),<br>
--              iov,  2,<br>
--              NULL, 0,<br>
--              0<br>
-+              .msg_name = (void*)&amp;nladdr,<br>
-+              .msg_namelen = sizeof(nladdr),<br>
-+              .msg_iov = iov,<br>
-+              .msg_iovlen = 2,<br>
-+              .msg_control = NULL,<br>
-+              .msg_controllen = 0,<br>
-+              .msg_flags = 0<br>
-       };<br>
-<br>
-       memset(&amp;nladdr, 0, sizeof(nladdr));<br>
-@@ -104,12 +108,15 @@ static int rtnl_dump_filter(struct rtnl_handle *rth,<br>
-       while (1) {<br>
-               int status;<br>
-               struct nlmsghdr *h;<br>
--<br>
-+              /* Use designated initializers, struct layout is non-portable */<br>
-               struct msghdr msg = {<br>
--                      (void*)&amp;nladdr, sizeof(nladdr),<br>
--                      &amp;iov, 1,<br>
--                      NULL, 0,<br>
--                      0<br>
-+                      .msg_name = (void*)&amp;nladdr,<br>
-+                      .msg_namelen = sizeof(nladdr),<br>
-+                      .msg_iov = &amp;iov,<br>
-+                      .msg_iovlen = 1,<br>
-+                      .msg_control = NULL,<br>
-+                      .msg_controllen = 0,<br>
-+                      .msg_flags = 0<br>
-               };<br>
-<br>
-               status = recvmsg(rth-&gt;fd, &amp;msg, 0);<br>
-@@ -211,11 +218,15 @@ int FAST_FUNC rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,<br>
-       struct sockaddr_nl nladdr;<br>
-       struct iovec iov = { (void*)n, n-&gt;nlmsg_len };<br>
-       char   *buf = xmalloc(8*1024); /* avoid big stack buffer */<br>
-+      /* Use designated initializers, struct layout is non-portable */<br>
-       struct msghdr msg = {<br>
--              (void*)&amp;nladdr, sizeof(nladdr),<br>
--              &amp;iov, 1,<br>
--              NULL, 0,<br>
--              0<br>
-+              .msg_name = (void*)&amp;nladdr,<br>
-+              .msg_namelen = sizeof(nladdr),<br>
-+              .msg_iov = &amp;iov,<br>
-+              .msg_iovlen = 1,<br>
-+              .msg_control = NULL,<br>
-+              .msg_controllen = 0,<br>
-+              .msg_flags = 0<br>
-       };<br>
-<br>
-       memset(&amp;nladdr, 0, sizeof(nladdr));<br>
---<br>
-2.3.5<br>
-<br>
diff --git a/meta/recipes-core/busybox/<wbr>busybox/makefile-fix-backport.<wbr>patch b/meta/recipes-core/busybox/<wbr>busybox/makefile-fix-backport.<wbr>patch<br>
index 2e9842e..bc28df8 100644<br>
--- a/meta/recipes-core/busybox/<wbr>busybox/makefile-fix-backport.<wbr>patch<br>
+++ b/meta/recipes-core/busybox/<wbr>busybox/makefile-fix-backport.<wbr>patch<br>
@@ -1,40 +1,38 @@<br>
-From 9e5820a86277818c2f83c11c2aa76d<wbr>7f0a38283e Mon Sep 17 00:00:00 2001<br>
-From: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
-Date: Sun, 14 Aug 2016 02:54:27 +0200<br>
-Subject: build system: fix include/NUM_APPLETS.h generation<br>
+Subject: [PATCH] build system: fix include/NUM_APPLETS.h generation<br>
<br>
 TBH, it&#39;s more like &quot;work around my bad makefile-fu&quot; than &quot;fix&quot;...<br>
<br>
 Signed-off-by: Denys Vlasenko &lt;<a href="mailto:vda.linux@googlemail.com">vda.linux@googlemail.com</a>&gt;<br>
----<br>
- applets/Kbuild.src | 7 ++-----<br>
- 1 file changed, 2 insertions(+), 5 deletions(-)<br>
<br>
-Upstream-Status: Backport<br>
+Updated to Busybox 1.26.2<br>
+<br>
+Signed-off-by: Zheng Ruoqin &lt;<a href="mailto:zhengrq.fnst@cn.fujitsu.com">zhengrq.fnst@cn.fujitsu.com</a>&gt;<br>
+---<br>
+ applets/Kbuild.src | 4 ++--<br>
+ 1 file changed, 2 insertions(+), 2 deletions(-)<br>
<br>
 diff --git a/applets/Kbuild.src b/applets/Kbuild.src<br>
-index b612399..5cc1827 100644<br>
+index 3aedbbf..d39b663 100644<br>
 --- a/applets/Kbuild.src<br>
 +++ b/applets/Kbuild.src<br>
 @@ -29,7 +29,7 @@ applets/applets.o: include/usage_compressed.h include/applet_tables.h<br>
<br>
  applets/applet_tables: .config include/applets.h<br>
  applets/usage:         .config include/applets.h<br>
--applets/usage_pod:     .config include/applet_tables.h include/applets.h<br>
+-applets/usage_pod:     .config include/applets.h include/applet_tables.h<br>
 +applets/usage_pod:     .config include/applets.h include/applet_tables.h include/NUM_APPLETS.h<br>
<br>
  quiet_cmd_gen_usage_compressed = GEN     include/usage_compressed.h<br>
        cmd_gen_usage_compressed = $(srctree_slash)applets/usage_<wbr>compressed include/usage_compressed.h applets<br>
-@@ -40,8 +40,5 @@ include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_<wbr>compress<br>
- quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h<br>
+@@ -40,7 +40,7 @@ include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_<wbr>compress<br>
+ quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h include/NUM_APPLETS.h<br>
        cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h<br>
<br>
--include/applet_tables.h: applets/applet_tables<br>
--      $(call cmd,gen_applet_tables)<br>
--<br>
 -include/NUM_APPLETS.h: applets/applet_tables<br>
 +include/applet_tables.h include/NUM_APPLETS.h: applets/applet_tables<br>
        $(call cmd,gen_applet_tables)<br>
+<br>
+ # In fact, include/applet_tables.h depends only on applets/applet_tables,<br>
 --<br>
-cgit v0.12<br>
+2.7.4<br>
<br>
diff --git a/meta/recipes-core/busybox/<a href="http://busybox_1.24.1.bb" rel="noreferrer" target="_blank">bu<wbr>sybox_1.24.1.bb</a> b/meta/recipes-core/busybox/<a href="http://busybox_1.26.2.bb" rel="noreferrer" target="_blank">bu<wbr>sybox_1.26.2.bb</a><br>
similarity index 66%<br>
rename from meta/recipes-core/busybox/<a href="http://busybox_1.24.1.bb" rel="noreferrer" target="_blank">busy<wbr>box_1.24.1.bb</a><br>
rename to meta/recipes-core/busybox/<a href="http://busybox_1.26.2.bb" rel="noreferrer" target="_blank">busy<wbr>box_1.26.2.bb</a><br>
index afb69d1..130f513 100644<br>
--- a/meta/recipes-core/busybox/<a href="http://busybox_1.24.1.bb" rel="noreferrer" target="_blank">bu<wbr>sybox_1.24.1.bb</a><br>
+++ b/meta/recipes-core/busybox/<a href="http://busybox_1.26.2.bb" rel="noreferrer" target="_blank">bu<wbr>sybox_1.26.2.bb</a><br>
@@ -29,10 +29,6 @@ SRC_URI = &quot;<a href="http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball" rel="noreferrer" target="_blank">http://www.busybox.net/<wbr>downloads/busybox-${PV}.tar.<wbr>bz2;name=tarball</a> \<br>
            file://recognize_connmand.<wbr>patch \<br>
            file://busybox-cross-<wbr>menuconfig.patch \<br>
            file://0001-Use-CC-when-<wbr>linking-instead-of-LD-and-use-<wbr>CFLAGS-and.patch \<br>
-           file://busybox-1.24.1-unzip.<wbr>patch \<br>
-           file://busybox-1.24.1-unzip-<wbr>regression.patch \<br>
-           file://busybox-1.24.1-<wbr>truncate-open-mode.patch \<br>
-           file://0001-flock-update-the-<wbr>behaviour-of-c-parameter-to-<wbr>match-u.patch \<br>
            file://mount-via-label.cfg \<br>
            file://sha1sum.cfg \<br>
            file://sha256sum.cfg \<br>
@@ -44,18 +40,10 @@ SRC_URI = &quot;<a href="http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball" rel="noreferrer" target="_blank">http://www.busybox.net/<wbr>downloads/busybox-${PV}.tar.<wbr>bz2;name=tarball</a> \<br>
            file://rcS \<br>
            file://rcK \<br>
            file://runlevel \<br>
-           file://CVE-2016-2148.patch \<br>
-           file://CVE-2016-2147.patch \<br>
-           file://CVE-2016-2147_2.patch \<br>
-           file://ip_fix_problem_on_<wbr>mips64_n64_big_endian_musl_<wbr>systems.patch \<br>
            file://makefile-fix-backport.<wbr>patch \<br>
-           file://0001-sed-fix-sed-n-<wbr>flushes-pattern-space-<wbr>terminates-early.patch \<br>
-           file://busybox-kbuild-race-<wbr>fix-commit-d8e61bb.patch \<br>
-           file://commit-applet_tables-<wbr>fix-commit-0dddbc1.patch \<br>
            file://makefile-libbb-race.<wbr>patch \<br>
-           file://0001-libiproute-handle-<wbr>table-ids-larger-than-255.<wbr>patch \<br>
 &quot;<br>
 SRC_URI_append_libc-musl = &quot; file://musl.cfg &quot;<br>
<br>
-SRC_URI[tarball.md5sum] = &quot;<wbr>be98a40cadf84ce2d6b05fa41a275c<wbr>6a&quot;<br>
-SRC_URI[tarball.sha256sum] = &quot;<wbr>37d03132cc078937360b392170b7a1<wbr>d0e5b322eee9f57c0b82292a8b1f0a<wbr>fe3d&quot;<br>
+SRC_URI[tarball.md5sum] = &quot;<wbr>bb59d25ee2643db20f212eec539429<wbr>f1&quot;<br>
+SRC_URI[tarball.sha256sum] = &quot;<wbr>da3e44913fc1a9c9b7c5337ea5292d<wbr>a518683cbff32be630777f565d6036<wbr>af16&quot;<br>
--<br>
2.7.4<br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</font></span></blockquote></div><br></div>