[OE-core] [PATCH 1/2] busybox: 1.24.1 -> 1.27.2
Andrej Valek
andrej.valek at siemens.com
Tue Dec 19 09:16:33 UTC 2017
Hello Chen Qi,
Of course I have tested this upgrade before committing. Our devices are
working with this version without any problems.
Could you please show your defconfig, if it is ok.
Regards,
Andrej
On 12/19/2017 09:41 AM, ChenQi wrote:
> Hi Andrej,
>
> I just booted up a target and found that /etc/busybox.links.nosuid
> contains only /bin/sh.
> That means utilities like 'grep' are not available, even if they are
> enabled in busybox's defconfig.
> I'm using latest master with no custom layers.
>
> Could you please double check if the current version of busybox works well?
>
> Best Regards,
> Chen Qi
>
> On 10/03/2017 11:38 PM, Andrej Valek wrote:
>> - fixed link creation to shell
>> - reported bug with suid shells [https://bugs.busybox.net/show_bug.cgi?id=10346]
>> - removed and modified already merged patches
>> - updated defconfig regarding to new version
>>
>> Signed-off-by: Andrej Valek <andrej.valek at siemens.com>
>> Signed-off-by: Radovan Scasny <radovan.scasny at siemens.com>
>> ---
>> ...ss-interface-device-name-for-ipv6-route-c.patch | 52 --
>> meta/recipes-core/busybox/busybox.inc | 16 +-
>> ...e-the-behaviour-of-c-parameter-to-match-u.patch | 64 ---
>> ...mproper-optimization-req.r.rtm_scope-may-.patch | 33 --
>> .../0001-iproute-support-scope-.-Closes-8561.patch | 122 -----
>> ...biproute-handle-table-ids-larger-than-255.patch | 134 -----
>> ...-n-flushes-pattern-space-terminates-early.patch | 72 ---
>> .../busybox/BUG9071_buffer_overflow_arp.patch | 53 --
>> .../busybox/busybox/CVE-2016-2147.patch | 57 --
>> .../busybox/busybox/CVE-2016-2147_2.patch | 32 --
>> .../busybox/busybox/CVE-2016-2148.patch | 74 ---
>> .../busybox/busybox/CVE-2016-6301.patch | 37 --
>> .../busybox-1.24.1-truncate-open-mode.patch | 81 ---
>> .../busybox/busybox-1.24.1-unzip-regression.patch | 143 ------
>> .../busybox/busybox/busybox-1.24.1-unzip.patch | 118 -----
>> .../busybox/busybox/busybox-cross-menuconfig.patch | 18 +-
>> .../busybox-kbuild-race-fix-commit-d8e61bb.patch | 53 --
>> .../busybox-tar-add-IF_FEATURE_-checks.patch | 70 ---
>> .../busybox/busybox-udhcpc-no_deconfig.patch | 68 +--
>> .../commit-applet_tables-fix-commit-0dddbc1.patch | 61 ---
>> meta/recipes-core/busybox/busybox/defconfig | 572 ++++++++++++---------
>> ...lem_on_mips64_n64_big_endian_musl_systems.patch | 90 ----
>> .../busybox/busybox/makefile-fix-backport.patch | 40 --
>> .../{busybox_1.24.1.bb => busybox_1.27.2.bb} | 23 +-
>> 24 files changed, 384 insertions(+), 1699 deletions(-)
>> delete mode 100644 meta/recipes-core/busybox/busybox-1.24.1/ifupdown-pass-interface-device-name-for-ipv6-route-c.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/0001-ip-fix-an-improper-optimization-req.r.rtm_scope-may-.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/0001-iproute-support-scope-.-Closes-8561.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/0001-sed-fix-sed-n-flushes-pattern-space-terminates-early.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/BUG9071_buffer_overflow_arp.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/CVE-2016-2147.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/CVE-2016-2147_2.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/CVE-2016-2148.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/CVE-2016-6301.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/busybox-kbuild-race-fix-commit-d8e61bb.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/busybox-tar-add-IF_FEATURE_-checks.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/commit-applet_tables-fix-commit-0dddbc1.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/ip_fix_problem_on_mips64_n64_big_endian_musl_systems.patch
>> delete mode 100644 meta/recipes-core/busybox/busybox/makefile-fix-backport.patch
>> rename meta/recipes-core/busybox/{busybox_1.24.1.bb => busybox_1.27.2.bb} (57%)
>>
>> diff --git a/meta/recipes-core/busybox/busybox-1.24.1/ifupdown-pass-interface-device-name-for-ipv6-route-c.patch b/meta/recipes-core/busybox/busybox-1.24.1/ifupdown-pass-interface-device-name-for-ipv6-route-c.patch
>> deleted file mode 100644
>> index 5715378..0000000
>> --- a/meta/recipes-core/busybox/busybox-1.24.1/ifupdown-pass-interface-device-name-for-ipv6-route-c.patch
>> +++ /dev/null
>> @@ -1,52 +0,0 @@
>> -From 06fcf98f6ca40dc6b823d7d6231a240a1794ef2d Mon Sep 17 00:00:00 2001
>> -From: Haiqing Bai <Haiqing.Bai at windriver.com>
>> -Date: Tue, 28 Feb 2017 10:40:37 +0800
>> -Subject: [PATCH] ifupdown: pass interface device name for ipv6 route commands
>> -MIME-Version: 1.0
>> -Content-Type: text/plain; charset=UTF-8
>> -Content-Transfer-Encoding: 8bit
>> -
>> -commit 028524317d8d0011ed38e86e507a06738a5b5a97 from upstream
>> -
>> -IPv6 routes need the device argument for link-local routes, or they
>> -cannot be used at all. E.g. "gateway fe80::def" seems to be used in
>> -some places, but kernel refuses to insert the route unless device
>> -name is explicitly specified in the route addition.
>> -
>> -Signed-off-by: Timo Teräs <timo.teras at iki.fi>
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -
>> -Upstream-Status: Backport
>> -Signed-off-by: Haiqing Bai <Haiqing.Bai at windriver.com>
>> ----
>> - networking/ifupdown.c | 7 ++++---
>> - 1 file changed, 4 insertions(+), 3 deletions(-)
>> -
>> -diff --git a/networking/ifupdown.c b/networking/ifupdown.c
>> -index 17bc4e9..a00f68d 100644
>> ---- a/networking/ifupdown.c
>> -+++ b/networking/ifupdown.c
>> -@@ -394,8 +394,8 @@ static int FAST_FUNC static_up6(struct interface_defn_t *ifd, execfn *exec)
>> - # if ENABLE_FEATURE_IFUPDOWN_IP
>> - result = execute("ip addr add %address%/%netmask% dev %iface%[[ label %label%]]", ifd, exec);
>> - result += execute("ip link set[[ mtu %mtu%]][[ addr %hwaddress%]] %iface% up", ifd, exec);
>> -- /* Was: "[[ ip ....%gateway% ]]". Removed extra spaces w/o checking */
>> -- result += execute("[[ip route add ::/0 via %gateway%]][[ metric %metric%]]", ifd, exec);
>> -+ /* Reportedly, IPv6 needs "dev %iface%", but IPv4 does not: */
>> -+ result += execute("[[ip route add ::/0 via %gateway% dev %iface%]][[ metric %metric%]]", ifd, exec);
>> - # else
>> - result = execute("ifconfig %iface%[[ media %media%]][[ hw %hwaddress%]][[ mtu %mtu%]] up", ifd, exec);
>> - result += execute("ifconfig %iface% add %address%/%netmask%", ifd, exec);
>> -@@ -421,7 +421,8 @@ static int FAST_FUNC v4tunnel_up(struct interface_defn_t *ifd, execfn *exec)
>> - "%endpoint%[[ local %local%]][[ ttl %ttl%]]", ifd, exec);
>> - result += execute("ip link set %iface% up", ifd, exec);
>> - result += execute("ip addr add %address%/%netmask% dev %iface%", ifd, exec);
>> -- result += execute("[[ip route add ::/0 via %gateway%]]", ifd, exec);
>> -+ /* Reportedly, IPv6 needs "dev %iface%", but IPv4 does not: */
>> -+ result += execute("[[ip route add ::/0 via %gateway% dev %iface%]]", ifd, exec);
>> - return ((result == 4) ? 4 : 0);
>> - }
>> -
>> ---
>> -1.9.1
>> -
>> diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
>> index 48910ca..86f0c60 100644
>> --- a/meta/recipes-core/busybox/busybox.inc
>> +++ b/meta/recipes-core/busybox/busybox.inc
>> @@ -156,6 +156,12 @@ do_compile() {
>> cp .config .config.orig
>> oe_runmake busybox.cfg.suid
>> oe_runmake busybox.cfg.nosuid
>> +
>> + # workaround for suid bug 10346
>> + if ! grep -q "CONFIG_SH_IS_NONE" busybox.cfg.nosuid; then
>> + echo "CONFIG_SH_IS_NONE" >> busybox.cfg.suid
>> + fi
>> +
>> for i in `cat busybox.cfg.suid busybox.cfg.nosuid`; do
>> echo "# $i is not set" >> .config.disable.apps
>> done
>> @@ -165,6 +171,12 @@ do_compile() {
>> cat busybox.cfg.$s | while read item; do
>> grep -w "$item" .config.orig
>> done > .config.app.$s
>> +
>> + # workaround for suid bug 10346
>> + if [ "$s" == "suid" ] ; then
>> + sed "s/.*CONFIG_SH_IS_NONE.*$/CONFIG_SH_IS_NONE=y/" -i .config.app.suid
>> + fi
>> +
>> merge_config.sh -m .config.nonapps .config.app.$s
>> oe_runmake busybox_unstripped
>> mv busybox_unstripped busybox.$s
>> @@ -204,7 +216,7 @@ do_install () {
>> install -m 0755 ${B}/busybox.nosuid ${D}${base_bindir}
>> install -m 0644 ${S}/busybox.links.suid ${D}${sysconfdir}
>> install -m 0644 ${S}/busybox.links.nosuid ${D}${sysconfdir}
>> - if grep -q "CONFIG_FEATURE_SH_IS_ASH=y" ${B}/.config; then
>> + if grep -q "CONFIG_SH_IS_ASH=y" ${B}/.config; then
>> ln -sf busybox.nosuid ${D}${base_bindir}/sh
>> fi
>> # Keep a default busybox for people who want to invoke busybox directly.
>> @@ -218,7 +230,7 @@ do_install () {
>> install -m 0755 ${B}/busybox ${D}${base_bindir}
>> fi
>> install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
>> - if grep -q "CONFIG_FEATURE_SH_IS_ASH=y" ${B}/.config; then
>> + if grep -q "CONFIG_SH_IS_ASH=y" ${B}/.config; then
>> ln -sf busybox ${D}${base_bindir}/sh
>> fi
>> # We make this symlink here to eliminate the error when upgrading together
>> diff --git a/meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch b/meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch
>> deleted file mode 100644
>> index 78520f0..0000000
>> --- a/meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch
>> +++ /dev/null
>> @@ -1,64 +0,0 @@
>> -From e1d426fd65c00a6d01a10d85edf8a294ae8a2d2b Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Sun, 24 Apr 2016 18:19:49 +0200
>> -Subject: [PATCH] flock: fix -c; improve error handling of fork+exec
>> -
>> -function old new delta
>> -flock_main 254 334 +80
>> -
>> -Upstream-Status: Backport
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -Signed-off-by: Maxin B. John <maxin.john at intel.com>
>> ----
>> - util-linux/flock.c | 19 +++++++++++++++++--
>> - 1 file changed, 17 insertions(+), 2 deletions(-)
>> -
>> -diff --git a/util-linux/flock.c b/util-linux/flock.c
>> -index 05a747f..539a835 100644
>> ---- a/util-linux/flock.c
>> -+++ b/util-linux/flock.c
>> -@@ -57,7 +57,6 @@ int flock_main(int argc UNUSED_PARAM, char **argv)
>> - /* If it is "flock FILE -c PROG", then -c isn't caught by getopt32:
>> - * we use "+" in order to support "flock -opt FILE PROG -with-opts",
>> - * we need to remove -c by hand.
>> -- * TODO: in upstream, -c 'PROG ARGS' means "run sh -c 'PROG ARGS'"
>> - */
>> - if (argv[0]
>> - && argv[0][0] == '-'
>> -@@ -66,6 +65,9 @@ int flock_main(int argc UNUSED_PARAM, char **argv)
>> - )
>> - ) {
>> - argv++;
>> -+ if (argv[1])
>> -+ bb_error_msg_and_die("-c takes only one argument");
>> -+ opt |= OPT_c;
>> - }
>> -
>> - if (OPT_s == LOCK_SH && OPT_x == LOCK_EX && OPT_n == LOCK_NB && OPT_u == LOCK_UN) {
>> -@@ -90,8 +92,21 @@ int flock_main(int argc UNUSED_PARAM, char **argv)
>> - bb_perror_nomsg_and_die();
>> - }
>> -
>> -- if (argv[0])
>> -+ if (argv[0]) {
>> -+ if (!(opt & OPT_c)) {
>> -+ int rc = spawn_and_wait(argv);
>> -+ if (rc < 0)
>> -+ bb_simple_perror_msg(argv[0]);
>> -+ return rc;
>> -+ }
>> -+ /* -c 'PROG ARGS' means "run sh -c 'PROG ARGS'" */
>> -+ argv -= 2;
>> -+ argv[0] = (char*)get_shell_name();
>> -+ argv[1] = (char*)"-c";
>> -+ /* argv[2] = "PROG ARGS"; */
>> -+ /* argv[3] = NULL; */
>> - return spawn_and_wait(argv);
>> -+ }
>> -
>> - return EXIT_SUCCESS;
>> - }
>> ---
>> -2.4.0
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/0001-ip-fix-an-improper-optimization-req.r.rtm_scope-may-.patch b/meta/recipes-core/busybox/busybox/0001-ip-fix-an-improper-optimization-req.r.rtm_scope-may-.patch
>> deleted file mode 100644
>> index 812a507..0000000
>> --- a/meta/recipes-core/busybox/busybox/0001-ip-fix-an-improper-optimization-req.r.rtm_scope-may-.patch
>> +++ /dev/null
>> @@ -1,33 +0,0 @@
>> -From 34ecc3b7aefdd6c31e8691bd5485037bbabedbd4 Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Sun, 14 Aug 2016 01:30:34 +0200
>> -Subject: [PATCH] ip: fix an improper optimization: req.r.rtm_scope may be
>> - nonzero here
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> ----
>> -Upstream-Status: Backport
>> -Signed-off-by: André Draszik <adraszik at tycoint.com>
>> -
>> - networking/libiproute/iproute.c | 3 +--
>> - 1 file changed, 1 insertion(+), 2 deletions(-)
>> -
>> -diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
>> -index e674e9a0d..48dc6e3d9 100644
>> ---- a/networking/libiproute/iproute.c
>> -+++ b/networking/libiproute/iproute.c
>> -@@ -362,10 +362,9 @@ IF_FEATURE_IP_RULE(ARG_table,)
>> - req.r.rtm_scope = RT_SCOPE_NOWHERE;
>> -
>> - if (cmd != RTM_DELROUTE) {
>> -+ req.r.rtm_scope = RT_SCOPE_UNIVERSE;
>> - if (RTPROT_BOOT != 0)
>> - req.r.rtm_protocol = RTPROT_BOOT;
>> -- if (RT_SCOPE_UNIVERSE != 0)
>> -- req.r.rtm_scope = RT_SCOPE_UNIVERSE;
>> - if (RTN_UNICAST != 0)
>> - req.r.rtm_type = RTN_UNICAST;
>> - }
>> ---
>> -2.11.0
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/0001-iproute-support-scope-.-Closes-8561.patch b/meta/recipes-core/busybox/busybox/0001-iproute-support-scope-.-Closes-8561.patch
>> deleted file mode 100644
>> index 66bc76e..0000000
>> --- a/meta/recipes-core/busybox/busybox/0001-iproute-support-scope-.-Closes-8561.patch
>> +++ /dev/null
>> @@ -1,122 +0,0 @@
>> -From ce4bc1ed048233e89ee4cb95830bf6f01d523d1e Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Wed, 30 Dec 2015 17:32:51 +0100
>> -Subject: [PATCH] iproute: support "scope". Closes 8561
>> -
>> -function old new delta
>> -iproute_modify 1051 1120 +69
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -
>> -Upstream-Status: Backport
>> -Modified patch to build against busybox 1.24.1:
>> -- s/invarg_1_to_2/invarg
>> -Signed-off-by: André Draszik <adraszik at tycoint.com>
>> ----
>> - networking/libiproute/iproute.c | 52 ++++++++++++++++++++++++++---------------
>> - 1 file changed, 33 insertions(+), 19 deletions(-)
>> -
>> -diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
>> -index d232ee6fd..82827488f 100644
>> ---- a/networking/libiproute/iproute.c
>> -+++ b/networking/libiproute/iproute.c
>> -@@ -313,12 +313,13 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
>> - static int iproute_modify(int cmd, unsigned flags, char **argv)
>> - {
>> - static const char keywords[] ALIGN1 =
>> -- "src\0""via\0""mtu\0""lock\0""protocol\0"IF_FEATURE_IP_RULE("table\0")
>> -+ "src\0""via\0""mtu\0""lock\0""scope\0""protocol\0"IF_FEATURE_IP_RULE("table\0")
>> - "dev\0""oif\0""to\0""metric\0""onlink\0";
>> - enum {
>> - ARG_src,
>> - ARG_via,
>> - ARG_mtu, PARM_lock,
>> -+ ARG_scope,
>> - ARG_protocol,
>> - IF_FEATURE_IP_RULE(ARG_table,)
>> - ARG_dev,
>> -@@ -344,6 +345,7 @@ IF_FEATURE_IP_RULE(ARG_table,)
>> - unsigned mxlock = 0;
>> - char *d = NULL;
>> - smalluint ok = 0;
>> -+ smalluint scope_ok = 0;
>> - int arg;
>> -
>> - memset(&req, 0, sizeof(req));
>> -@@ -352,15 +354,18 @@ IF_FEATURE_IP_RULE(ARG_table,)
>> - req.n.nlmsg_flags = NLM_F_REQUEST | flags;
>> - req.n.nlmsg_type = cmd;
>> - req.r.rtm_family = preferred_family;
>> -- if (RT_TABLE_MAIN) /* if it is zero, memset already did it */
>> -+ if (RT_TABLE_MAIN != 0) /* if it is zero, memset already did it */
>> - req.r.rtm_table = RT_TABLE_MAIN;
>> -- if (RT_SCOPE_NOWHERE)
>> -+ if (RT_SCOPE_NOWHERE != 0)
>> - req.r.rtm_scope = RT_SCOPE_NOWHERE;
>> -
>> - if (cmd != RTM_DELROUTE) {
>> -- req.r.rtm_protocol = RTPROT_BOOT;
>> -- req.r.rtm_scope = RT_SCOPE_UNIVERSE;
>> -- req.r.rtm_type = RTN_UNICAST;
>> -+ if (RTPROT_BOOT != 0)
>> -+ req.r.rtm_protocol = RTPROT_BOOT;
>> -+ if (RT_SCOPE_UNIVERSE != 0)
>> -+ req.r.rtm_scope = RT_SCOPE_UNIVERSE;
>> -+ if (RTN_UNICAST != 0)
>> -+ req.r.rtm_type = RTN_UNICAST;
>> - }
>> -
>> - mxrta->rta_type = RTA_METRICS;
>> -@@ -393,6 +398,13 @@ IF_FEATURE_IP_RULE(ARG_table,)
>> - }
>> - mtu = get_unsigned(*argv, "mtu");
>> - rta_addattr32(mxrta, sizeof(mxbuf), RTAX_MTU, mtu);
>> -+ } else if (arg == ARG_scope) {
>> -+ uint32_t scope;
>> -+ NEXT_ARG();
>> -+ if (rtnl_rtscope_a2n(&scope, *argv))
>> -+ invarg(*argv, "scope");
>> -+ req.r.rtm_scope = scope;
>> -+ scope_ok = 1;
>> - } else if (arg == ARG_protocol) {
>> - uint32_t prot;
>> - NEXT_ARG();
>> -@@ -469,20 +481,22 @@ IF_FEATURE_IP_RULE(ARG_table,)
>> - addattr_l(&req.n, sizeof(req), RTA_METRICS, RTA_DATA(mxrta), RTA_PAYLOAD(mxrta));
>> - }
>> -
>> -- if (req.r.rtm_type == RTN_LOCAL || req.r.rtm_type == RTN_NAT)
>> -- req.r.rtm_scope = RT_SCOPE_HOST;
>> -- else
>> -- if (req.r.rtm_type == RTN_BROADCAST
>> -- || req.r.rtm_type == RTN_MULTICAST
>> -- || req.r.rtm_type == RTN_ANYCAST
>> -- ) {
>> -- req.r.rtm_scope = RT_SCOPE_LINK;
>> -- }
>> -- else if (req.r.rtm_type == RTN_UNICAST || req.r.rtm_type == RTN_UNSPEC) {
>> -- if (cmd == RTM_DELROUTE)
>> -- req.r.rtm_scope = RT_SCOPE_NOWHERE;
>> -- else if (!(ok & gw_ok))
>> -+ if (!scope_ok) {
>> -+ if (req.r.rtm_type == RTN_LOCAL || req.r.rtm_type == RTN_NAT)
>> -+ req.r.rtm_scope = RT_SCOPE_HOST;
>> -+ else
>> -+ if (req.r.rtm_type == RTN_BROADCAST
>> -+ || req.r.rtm_type == RTN_MULTICAST
>> -+ || req.r.rtm_type == RTN_ANYCAST
>> -+ ) {
>> - req.r.rtm_scope = RT_SCOPE_LINK;
>> -+ }
>> -+ else if (req.r.rtm_type == RTN_UNICAST || req.r.rtm_type == RTN_UNSPEC) {
>> -+ if (cmd == RTM_DELROUTE)
>> -+ req.r.rtm_scope = RT_SCOPE_NOWHERE;
>> -+ else if (!(ok & gw_ok))
>> -+ req.r.rtm_scope = RT_SCOPE_LINK;
>> -+ }
>> - }
>> -
>> - if (req.r.rtm_family == AF_UNSPEC) {
>> ---
>> -2.11.0
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch b/meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch
>> deleted file mode 100644
>> index aac5b40..0000000
>> --- a/meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch
>> +++ /dev/null
>> @@ -1,134 +0,0 @@
>> -From b5a9234272e6084557224c73ab7737ed47f09848 Mon Sep 17 00:00:00 2001
>> -From: Lukasz Nowak <lnowak at tycoint.com>
>> -Date: Wed, 23 Nov 2016 12:48:21 +0000
>> -Subject: [PATCH v2] libiproute: handle table ids larger than 255
>> -
>> -Linux kernel, starting from 2.6.19 allows ip table ids to have 32-bit values.
>> -In order to preserve compatibility, the old 8-bit field: rtm_table is still
>> -in use when table id is lower than 256.
>> -
>> -Add support for the 32-bit table id (RTA_TABLE attribute) in:
>> -- ip route print
>> -- ip route modify
>> -- ip rule print
>> -- ip rule modify
>> -
>> -Add printing of table ids to ip route.
>> -
>> -Changes are compatible with the mainline iproute2 utilities.
>> -
>> -These changes are required for compatibility with ConnMan, which by default
>> -uses table ids greater than 255.
>> -
>> -Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2016-December/084989.html]
>> -
>> -Signed-off-by: Lukasz Nowak <lnowak at tycoint.com>
>> ----
>> - networking/libiproute/iproute.c | 24 ++++++++++++++++++++----
>> - networking/libiproute/iprule.c | 11 +++++++++--
>> - 2 files changed, 29 insertions(+), 6 deletions(-)
>> -
>> -diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
>> -index 6ecd5f7..d5af498 100644
>> ---- a/networking/libiproute/iproute.c
>> -+++ b/networking/libiproute/iproute.c
>> -@@ -87,6 +87,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
>> - inet_prefix dst;
>> - inet_prefix src;
>> - int host_len = -1;
>> -+ uint32_t tid;
>> -
>> - if (n->nlmsg_type != RTM_NEWROUTE && n->nlmsg_type != RTM_DELROUTE) {
>> - fprintf(stderr, "Not a route: %08x %08x %08x\n",
>> -@@ -99,6 +100,14 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
>> - if (len < 0)
>> - bb_error_msg_and_die("wrong nlmsg len %d", len);
>> -
>> -+ memset(tb, 0, sizeof(tb));
>> -+ parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
>> -+
>> -+ if (tb[RTA_TABLE])
>> -+ tid = *(uint32_t *)RTA_DATA(tb[RTA_TABLE]);
>> -+ else
>> -+ tid = r->rtm_table;
>> -+
>> - if (r->rtm_family == AF_INET6)
>> - host_len = 128;
>> - else if (r->rtm_family == AF_INET)
>> -@@ -128,7 +137,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
>> - }
>> - }
>> - } else {
>> -- if (G_filter.tb > 0 && G_filter.tb != r->rtm_table) {
>> -+ if (G_filter.tb > 0 && G_filter.tb != tid) {
>> - return 0;
>> - }
>> - }
>> -@@ -157,10 +166,8 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
>> - return 0;
>> - }
>> -
>> -- memset(tb, 0, sizeof(tb));
>> - memset(&src, 0, sizeof(src));
>> - memset(&dst, 0, sizeof(dst));
>> -- parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
>> -
>> - if (tb[RTA_SRC]) {
>> - src.bitlen = r->rtm_src_len;
>> -@@ -283,6 +290,10 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
>> - if (tb[RTA_OIF]) {
>> - printf("dev %s ", ll_index_to_name(*(int*)RTA_DATA(tb[RTA_OIF])));
>> - }
>> -+#if ENABLE_FEATURE_IP_RULE
>> -+ if (tid && tid != RT_TABLE_MAIN && !G_filter.tb)
>> -+ printf("table %s ", rtnl_rttable_n2a(tid));
>> -+#endif
>> -
>> - /* Todo: parse & show "proto kernel", "scope link" here */
>> -
>> -@@ -434,7 +445,12 @@ IF_FEATURE_IP_RULE(ARG_table,)
>> - NEXT_ARG();
>> - if (rtnl_rttable_a2n(&tid, *argv))
>> - invarg(*argv, "table");
>> -- req.r.rtm_table = tid;
>> -+ if (tid < 256)
>> -+ req.r.rtm_table = tid;
>> -+ else {
>> -+ req.r.rtm_table = RT_TABLE_UNSPEC;
>> -+ addattr32(&req.n, sizeof(req), RTA_TABLE, tid);
>> -+ }
>> - #endif
>> - } else if (arg == ARG_dev || arg == ARG_oif) {
>> - NEXT_ARG();
>> -diff --git a/networking/libiproute/iprule.c b/networking/libiproute/iprule.c
>> -index 774a3e2..3fac7c5 100644
>> ---- a/networking/libiproute/iprule.c
>> -+++ b/networking/libiproute/iprule.c
>> -@@ -119,7 +119,9 @@ static int FAST_FUNC print_rule(const struct sockaddr_nl *who UNUSED_PARAM,
>> - printf("iif %s ", (char*)RTA_DATA(tb[RTA_IIF]));
>> - }
>> -
>> -- if (r->rtm_table)
>> -+ if (tb[RTA_TABLE])
>> -+ printf("lookup %s ", rtnl_rttable_n2a(*(uint32_t*)RTA_DATA(tb[RTA_TABLE])));
>> -+ else if (r->rtm_table)
>> - printf("lookup %s ", rtnl_rttable_n2a(r->rtm_table));
>> -
>> - if (tb[RTA_FLOW]) {
>> -@@ -259,7 +261,12 @@ static int iprule_modify(int cmd, char **argv)
>> - NEXT_ARG();
>> - if (rtnl_rttable_a2n(&tid, *argv))
>> - invarg(*argv, "table ID");
>> -- req.r.rtm_table = tid;
>> -+ if (tid < 256)
>> -+ req.r.rtm_table = tid;
>> -+ else {
>> -+ req.r.rtm_table = RT_TABLE_UNSPEC;
>> -+ addattr32(&req.n, sizeof(req), RTA_TABLE, tid);
>> -+ }
>> - table_ok = 1;
>> - } else if (key == ARG_dev ||
>> - key == ARG_iif
>> ---
>> -2.7.4
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/0001-sed-fix-sed-n-flushes-pattern-space-terminates-early.patch b/meta/recipes-core/busybox/busybox/0001-sed-fix-sed-n-flushes-pattern-space-terminates-early.patch
>> deleted file mode 100644
>> index 4f53984..0000000
>> --- a/meta/recipes-core/busybox/busybox/0001-sed-fix-sed-n-flushes-pattern-space-terminates-early.patch
>> +++ /dev/null
>> @@ -1,72 +0,0 @@
>> -From 903542f7331c58007a3ef938d41e1c55fc329648 Mon Sep 17 00:00:00 2001
>> -From: Dengke Du <dengke.du at windriver.com>
>> -Date: Wed, 31 Aug 2016 23:40:43 -0400
>> -Subject: [PATCH] sed: fix "sed n (flushes pattern space, terminates early)"
>> - testcase failure
>> -
>> -This patch fix "sed n (flushes pattern space, terminates early)"
>> -testcase failure. We can see it at:
>> -
>> - https://git.busybox.net/busybox/commit/?id=76d72376e0244a5cafd4880cdc623e37d86a75e4
>> -
>> -Upstream-Status: Backport
>> -
>> -Signed-off-by: Dengke Du <dengke.du at windriver.com>
>> ----
>> - editors/sed.c | 19 ++++++++++---------
>> - testsuite/sed.tests | 6 +-----
>> - 2 files changed, 11 insertions(+), 14 deletions(-)
>> -
>> -diff --git a/editors/sed.c b/editors/sed.c
>> -index 7bbf820..259c39c 100644
>> ---- a/editors/sed.c
>> -+++ b/editors/sed.c
>> -@@ -1274,16 +1274,17 @@ static void process_files(void)
>> - case 'n':
>> - if (!G.be_quiet)
>> - sed_puts(pattern_space, last_gets_char);
>> -- if (next_line) {
>> -- free(pattern_space);
>> -- pattern_space = next_line;
>> -- last_gets_char = next_gets_char;
>> -- next_line = get_next_line(&next_gets_char, &last_puts_char, last_gets_char);
>> -- substituted = 0;
>> -- linenum++;
>> -- break;
>> -+ if (next_line == NULL) {
>> -+ /* If no next line, jump to end of script and exit. */
>> -+ goto discard_line;
>> - }
>> -- /* fall through */
>> -+ free(pattern_space);
>> -+ pattern_space = next_line;
>> -+ last_gets_char = next_gets_char;
>> -+ next_line = get_next_line(&next_gets_char, &last_puts_char, last_gets_char);
>> -+ substituted = 0;
>> -+ linenum++;
>> -+ break;
>> -
>> - /* Quit. End of script, end of input. */
>> - case 'q':
>> -diff --git a/testsuite/sed.tests b/testsuite/sed.tests
>> -index 34479e5..96ff7a5 100755
>> ---- a/testsuite/sed.tests
>> -+++ b/testsuite/sed.tests
>> -@@ -73,13 +73,9 @@ testing "sed t (test/branch clears test bit)" "sed -e 's/a/b/;:loop;t loop'" \
>> - testing "sed T (!test/branch)" "sed -e 's/a/1/;T notone;p;: notone;p'" \
>> - "1\n1\n1\nb\nb\nc\nc\n" "" "a\nb\nc\n"
>> -
>> --test x"$SKIP_KNOWN_BUGS" = x"" && {
>> --# Normal sed end-of-script doesn't print "c" because n flushed the pattern
>> --# space. If n hits EOF, pattern space is empty when script ends.
>> --# Query: how does this interact with no newline at EOF?
>> - testing "sed n (flushes pattern space, terminates early)" "sed -e 'n;p'" \
>> - "a\nb\nb\nc\n" "" "a\nb\nc\n"
>> --}
>> -+
>> - # non-GNU sed: N does _not_ flush pattern space, therefore c is eaten @ script end
>> - # GNU sed: N flushes pattern space, therefore c is printed too @ script end
>> - testing "sed N (flushes pattern space (GNU behavior))" "sed -e 'N;p'" \
>> ---
>> -2.8.1
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/BUG9071_buffer_overflow_arp.patch b/meta/recipes-core/busybox/busybox/BUG9071_buffer_overflow_arp.patch
>> deleted file mode 100644
>> index 828694c..0000000
>> --- a/meta/recipes-core/busybox/busybox/BUG9071_buffer_overflow_arp.patch
>> +++ /dev/null
>> @@ -1,53 +0,0 @@
>> -busybox1.24.1: Fix busybox - (local) cmdline stack buffer overwrite
>> -
>> -[No upstream tracking] -- https://bugs.busybox.net/show_bug.cgi?id=9071
>> -
>> -busybox - (local) cmdline stack buffer overwrite
>> -
>> -Busybox provides an `arp` applet which is missing an array bounds check for
>> -command-line parameter `IFNAME`. It is therefore vulnerable to a command-line
>> -based local stack buffer overwrite effectively allowing local users to write
>> -past a 16 bytes fixed stack buffer. This leads to two scenarios, one (A) where
>> -an IOCTL for GET_HW_ADDRESS (`SIOCGIFHWADDR`) fails and results in a corrupted
>> -`va_list` being passed to `*printf()` and one (B) where an attacker might provide
>> -valid params for the IOCTL and trick the program to proceed and result in a
>> -`RET eip overwrite` eventually gaining code execution.
>> -
>> -Upstream-Status: Backport [https://git.busybox.net/busybox/commit/networking/arp.c?id=88e2b1cb626761b1924305b761a5dfc723613c4e]
>> -BUG: BUG9071
>> -Signed-off-by: Martin Balik <martin.balik at siemens.com>
>> -Signed-off-by: Pascal Bach <pascal.bach at siemens.com>
>> -
>> ---
>> -
>> -diff --git a/networking/arp.c b/networking/arp.c
>> -index 0099aa5..87eb327 100644
>> ---- a/networking/arp.c
>> -+++ b/networking/arp.c
>> -@@ -176,7 +176,7 @@ static int arp_del(char **args)
>> - if (flags == 0)
>> - flags = 3;
>> -
>> -- strncpy(req.arp_dev, device, sizeof(req.arp_dev));
>> -+ strncpy_IFNAMSIZ(req.arp_dev, device);
>> -
>> - err = -1;
>> -
>> -@@ -217,7 +217,7 @@ static void arp_getdevhw(char *ifname, struct sockaddr *sa)
>> - struct ifreq ifr;
>> - const struct hwtype *xhw;
>> -
>> -- strcpy(ifr.ifr_name, ifname);
>> -+ strncpy_IFNAMSIZ(ifr.ifr_name, ifname);
>> - ioctl_or_perror_and_die(sockfd, SIOCGIFHWADDR, &ifr,
>> - "can't get HW-Address for '%s'", ifname);
>> - if (hw_set && (ifr.ifr_hwaddr.sa_family != hw->type)) {
>> -@@ -330,7 +330,7 @@ static int arp_set(char **args)
>> - /* Fill in the remainder of the request. */
>> - req.arp_flags = flags;
>> -
>> -- strncpy(req.arp_dev, device, sizeof(req.arp_dev));
>> -+ strncpy_IFNAMSIZ(req.arp_dev, device);
>> -
>> - /* Call the kernel. */
>> - if (option_mask32 & ARP_OPT_v)
>> diff --git a/meta/recipes-core/busybox/busybox/CVE-2016-2147.patch b/meta/recipes-core/busybox/busybox/CVE-2016-2147.patch
>> deleted file mode 100644
>> index 84cae6a..0000000
>> --- a/meta/recipes-core/busybox/busybox/CVE-2016-2147.patch
>> +++ /dev/null
>> @@ -1,57 +0,0 @@
>> -From d474ffc68290e0a83651c4432eeabfa62cd51e87 Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Thu, 10 Mar 2016 11:47:58 +0100
>> -Subject: [PATCH] udhcp: fix a SEGV on malformed RFC1035-encoded domain name
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -
>> -Upstream-Status: Backport
>> -CVE: CVE-2016-2147
>> -
>> -https://git.busybox.net/busybox/commit/?id=d474ffc
>> -Signed-off-by: Armin Kuster <akuster at mvista.com>
>> -
>> ----
>> - networking/udhcp/domain_codec.c | 13 +++++++++----
>> - 1 file changed, 9 insertions(+), 4 deletions(-)
>> -
>> -Index: busybox-1.23.2/networking/udhcp/domain_codec.c
>> -===================================================================
>> ---- busybox-1.23.2.orig/networking/udhcp/domain_codec.c
>> -+++ busybox-1.23.2/networking/udhcp/domain_codec.c
>> -@@ -63,11 +63,10 @@ char* FAST_FUNC dname_dec(const uint8_t
>> - if (crtpos + *c + 1 > clen) /* label too long? abort */
>> - return NULL;
>> - if (dst)
>> -- memcpy(dst + len, c + 1, *c);
>> -+ /* \3com ---> "com." */
>> -+ ((char*)mempcpy(dst + len, c + 1, *c))[0] = '.';
>> - len += *c + 1;
>> - crtpos += *c + 1;
>> -- if (dst)
>> -- dst[len - 1] = '.';
>> - } else {
>> - /* NUL: end of current domain name */
>> - if (retpos == 0) {
>> -@@ -78,7 +77,10 @@ char* FAST_FUNC dname_dec(const uint8_t
>> - crtpos = retpos;
>> - retpos = depth = 0;
>> - }
>> -- if (dst)
>> -+ if (dst && len != 0)
>> -+ /* \4host\3com\0\4host and we are at \0:
>> -+ * \3com was converted to "com.", change dot to space.
>> -+ */
>> - dst[len - 1] = ' ';
>> - }
>> -
>> -@@ -228,6 +230,9 @@ int main(int argc, char **argv)
>> - int len;
>> - uint8_t *encoded;
>> -
>> -+ uint8_t str[6] = { 0x00, 0x00, 0x02, 0x65, 0x65, 0x00 };
>> -+ printf("NUL:'%s'\n", dname_dec(str, 6, ""));
>> -+
>> - #define DNAME_DEC(encoded,pre) dname_dec((uint8_t*)(encoded), sizeof(encoded), (pre))
>> - printf("'%s'\n", DNAME_DEC("\4host\3com\0", "test1:"));
>> - printf("test2:'%s'\n", DNAME_DEC("\4host\3com\0\4host\3com\0", ""));
>> diff --git a/meta/recipes-core/busybox/busybox/CVE-2016-2147_2.patch b/meta/recipes-core/busybox/busybox/CVE-2016-2147_2.patch
>> deleted file mode 100644
>> index b8349c0..0000000
>> --- a/meta/recipes-core/busybox/busybox/CVE-2016-2147_2.patch
>> +++ /dev/null
>> @@ -1,32 +0,0 @@
>> -From 1b7c17391de66502dd7a97c866e0a33681edbb1f Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Fri, 11 Mar 2016 00:26:58 +0100
>> -Subject: [PATCH] udhcpc: fix a warning in debug code
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -Upstream-Status: Backport
>> -CVE: CVE-2016-2147 regression fix
>> -
>> -https://git.busybox.net/busybox/commit/?id=1b7c17
>> -
>> -Signed-off-by: Armin Kuster <akuster at mvista.com>
>> -
>> ----
>> - networking/udhcp/domain_codec.c | 1 +
>> - 1 file changed, 1 insertion(+)
>> -
>> -diff --git a/networking/udhcp/domain_codec.c b/networking/udhcp/domain_codec.c
>> -index cee31f1..5a923cc 100644
>> ---- a/networking/udhcp/domain_codec.c
>> -+++ b/networking/udhcp/domain_codec.c
>> -@@ -7,6 +7,7 @@
>> - * Licensed under GPLv2 or later, see file LICENSE in this source tree.
>> - */
>> - #ifdef DNS_COMPR_TESTING
>> -+# define _GNU_SOURCE
>> - # define FAST_FUNC /* nothing */
>> - # define xmalloc malloc
>> - # include <stdlib.h>
>> ---
>> -2.3.5
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/CVE-2016-2148.patch b/meta/recipes-core/busybox/busybox/CVE-2016-2148.patch
>> deleted file mode 100644
>> index af04a7f..0000000
>> --- a/meta/recipes-core/busybox/busybox/CVE-2016-2148.patch
>> +++ /dev/null
>> @@ -1,74 +0,0 @@
>> -From 352f79acbd759c14399e39baef21fc4ffe180ac2 Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Fri, 26 Feb 2016 15:54:56 +0100
>> -Subject: [PATCH] udhcpc: fix OPTION_6RD parsing (could overflow its malloced
>> - buffer)
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -
>> -Upstream-Status: Backport
>> -CVE: CVE-2016-2148
>> -https://git.busybox.net/busybox/commit/?id=352f79
>> -
>> -Signed-off-by: Armin Kuster <akuster at mvista.com>
>> -
>> ----
>> - networking/udhcp/common.c | 15 +++++++++++++--
>> - networking/udhcp/dhcpc.c | 4 ++--
>> - 2 files changed, 15 insertions(+), 4 deletions(-)
>> -
>> -Index: busybox-1.23.2/networking/udhcp/common.c
>> -===================================================================
>> ---- busybox-1.23.2.orig/networking/udhcp/common.c
>> -+++ busybox-1.23.2/networking/udhcp/common.c
>> -@@ -142,7 +142,7 @@ const char dhcp_option_strings[] ALIGN1
>> - * udhcp_str2optset: to determine how many bytes to allocate.
>> - * xmalloc_optname_optval: to estimate string length
>> - * from binary option length: (option[LEN] / dhcp_option_lengths[opt_type])
>> -- * is the number of elements, multiply in by one element's string width
>> -+ * is the number of elements, multiply it by one element's string width
>> - * (len_of_option_as_string[opt_type]) and you know how wide string you need.
>> - */
>> - const uint8_t dhcp_option_lengths[] ALIGN1 = {
>> -@@ -162,7 +162,18 @@ const uint8_t dhcp_option_lengths[] ALIG
>> - [OPTION_S32] = 4,
>> - /* Just like OPTION_STRING, we use minimum length here */
>> - [OPTION_STATIC_ROUTES] = 5,
>> -- [OPTION_6RD] = 22, /* ignored by udhcp_str2optset */
>> -+ [OPTION_6RD] = 12, /* ignored by udhcp_str2optset */
>> -+ /* The above value was chosen as follows:
>> -+ * len_of_option_as_string[] for this option is >60: it's a string of the form
>> -+ * "32 128 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 255.255.255.255 ".
>> -+ * Each additional ipv4 address takes 4 bytes in binary option and appends
>> -+ * another "255.255.255.255 " 16-byte string. We can set [OPTION_6RD] = 4
>> -+ * but this severely overestimates string length: instead of 16 bytes,
>> -+ * it adds >60 for every 4 bytes in binary option.
>> -+ * We cheat and declare here that option is in units of 12 bytes.
>> -+ * This adds more than 60 bytes for every three ipv4 addresses - more than enough.
>> -+ * (Even 16 instead of 12 should work, but let's be paranoid).
>> -+ */
>> - };
>> -
>> -
>> -Index: busybox-1.23.2/networking/udhcp/dhcpc.c
>> -===================================================================
>> ---- busybox-1.23.2.orig/networking/udhcp/dhcpc.c
>> -+++ busybox-1.23.2/networking/udhcp/dhcpc.c
>> -@@ -103,7 +103,7 @@ static const uint8_t len_of_option_as_st
>> - [OPTION_IP ] = sizeof("255.255.255.255 "),
>> - [OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
>> - [OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
>> -- [OPTION_6RD ] = sizeof("32 128 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 255.255.255.255 "),
>> -+ [OPTION_6RD ] = sizeof("132 128 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 255.255.255.255 "),
>> - [OPTION_STRING ] = 1,
>> - [OPTION_STRING_HOST ] = 1,
>> - #if ENABLE_FEATURE_UDHCP_RFC3397
>> -@@ -214,7 +214,7 @@ static NOINLINE char *xmalloc_optname_op
>> - type = optflag->flags & OPTION_TYPE_MASK;
>> - optlen = dhcp_option_lengths[type];
>> - upper_length = len_of_option_as_string[type]
>> -- * ((unsigned)(len + optlen - 1) / (unsigned)optlen);
>> -+ * ((unsigned)(len + optlen) / (unsigned)optlen);
>> -
>> - dest = ret = xmalloc(upper_length + strlen(opt_name) + 2);
>> - dest += sprintf(ret, "%s=", opt_name);
>> diff --git a/meta/recipes-core/busybox/busybox/CVE-2016-6301.patch b/meta/recipes-core/busybox/busybox/CVE-2016-6301.patch
>> deleted file mode 100644
>> index 851bc20..0000000
>> --- a/meta/recipes-core/busybox/busybox/CVE-2016-6301.patch
>> +++ /dev/null
>> @@ -1,37 +0,0 @@
>> -busybox1.24.1: Fix CVE-2016-6301
>> -
>> -[No upstream tracking] -- https://bugzilla.redhat.com/show_bug.cgi?id=1363710
>> -
>> -ntpd: NTP server denial of service flaw
>> -
>> -The busybox NTP implementation doesn't check the NTP mode of packets
>> -received on the server port and responds to any packet with the right
>> -size. This includes responses from another NTP server. An attacker can
>> -send a packet with a spoofed source address in order to create an
>> -infinite loop of responses between two busybox NTP servers. Adding
>> -more packets to the loop increases the traffic between the servers
>> -until one of them has a fully loaded CPU and/or network.
>> -
>> -Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=150dc7a2b483b8338a3e185c478b4b23ee884e71]
>> -CVE: CVE-2016-6301
>> -Signed-off-by: Andrej Valek <andrej.valek at siemens.com>
>> -Signed-off-by: Pascal Bach <pascal.bach at siemens.com>
>> -
>> -diff --git a/networking/ntpd.c b/networking/ntpd.c
>> -index 9732c9b..0f6a55f 100644
>> ---- a/networking/ntpd.c
>> -+++ b/networking/ntpd.c
>> -@@ -1985,6 +1985,13 @@ recv_and_process_client_pkt(void /*int fd*/)
>> - goto bail;
>> - }
>> -
>> -+ /* Respond only to client and symmetric active packets */
>> -+ if ((msg.m_status & MODE_MASK) != MODE_CLIENT
>> -+ && (msg.m_status & MODE_MASK) != MODE_SYM_ACT
>> -+ ) {
>> -+ goto bail;
>> -+ }
>> -+
>> - query_status = msg.m_status;
>> - query_xmttime = msg.m_xmttime;
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch b/meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch
>> deleted file mode 100644
>> index cdc9108..0000000
>> --- a/meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch
>> +++ /dev/null
>> @@ -1,81 +0,0 @@
>> -Upstream-Status: Backport
>> -
>> - http://busybox.net/downloads/fixes-1.24.1/
>> - https://git.busybox.net/busybox/commit/?id=e111a1640494fe87fc913f94fae3bb805de0fc99
>> - https://git.busybox.net/busybox/commit/?h=1_24_stable&id=be729c1d3b5c923f10871dd68ea94156d0f8c803
>> -
>> -Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>> -
>> -From be729c1d3b5c923f10871dd68ea94156d0f8c803 Mon Sep 17 00:00:00 2001
>> -From: Ari Sundholm <ari at tuxera.com>
>> -Date: Mon, 4 Jan 2016 15:40:37 +0200
>> -Subject: [PATCH] truncate: always set mode when opening file to avoid fortify
>> - errors
>> -
>> -Busybox crashes due to no mode being given when opening:
>> -$ ./busybox truncate -s 1M foo
>> -*** invalid open64 call: O_CREAT without mode ***: ./busybox terminated
>> -======= Backtrace: =========
>> -/lib/x86_64-linux-gnu/libc.so.6(+0x7338f)[0x7f66d921338f]
>> -/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f66d92aac9c]
>> -/lib/x86_64-linux-gnu/libc.so.6(+0xeb6aa)[0x7f66d928b6aa]
>> -./busybox[0x4899f9]
>> -======= Memory map: ========
>> -00400000-004d0000 r-xp 00000000 00:1a 137559 /home/ari/busybox/busybox
>> -006cf000-006d0000 r--p 000cf000 00:1a 137559 /home/ari/busybox/busybox
>> -006d0000-006d1000 rw-p 000d0000 00:1a 137559 /home/ari/busybox/busybox
>> -006d1000-006d4000 rw-p 00000000 00:00 0
>> -014e7000-01508000 rw-p 00000000 00:00 0 [heap]
>> -7f66d8f8a000-7f66d8fa0000 r-xp 00000000 08:07 1579008 /lib/x86_64-linux-gnu/libgcc_s.so.1
>> -7f66d8fa0000-7f66d919f000 ---p 00016000 08:07 1579008 /lib/x86_64-linux-gnu/libgcc_s.so.1
>> -7f66d919f000-7f66d91a0000 rw-p 00015000 08:07 1579008 /lib/x86_64-linux-gnu/libgcc_s.so.1
>> -7f66d91a0000-7f66d935b000 r-xp 00000000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
>> -7f66d935b000-7f66d955a000 ---p 001bb000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
>> -7f66d955a000-7f66d955e000 r--p 001ba000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
>> -7f66d955e000-7f66d9560000 rw-p 001be000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
>> -7f66d9560000-7f66d9565000 rw-p 00000000 00:00 0
>> -7f66d9565000-7f66d966a000 r-xp 00000000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
>> -7f66d966a000-7f66d9869000 ---p 00105000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
>> -7f66d9869000-7f66d986a000 r--p 00104000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
>> -7f66d986a000-7f66d986b000 rw-p 00105000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
>> -7f66d986b000-7f66d988e000 r-xp 00000000 08:07 1578981 /lib/x86_64-linux-gnu/ld-2.19.so
>> -7f66d9a64000-7f66d9a67000 rw-p 00000000 00:00 0
>> -7f66d9a8a000-7f66d9a8d000 rw-p 00000000 00:00 0
>> -7f66d9a8d000-7f66d9a8e000 r--p 00022000 08:07 1578981 /lib/x86_64-linux-gnu/ld-2.19.so
>> -7f66d9a8e000-7f66d9a8f000 rw-p 00023000 08:07 1578981 /lib/x86_64-linux-gnu/ld-2.19.so
>> -7f66d9a8f000-7f66d9a90000 rw-p 00000000 00:00 0
>> -7ffc47761000-7ffc47782000 rw-p 00000000 00:00 0 [stack]
>> -7ffc477ab000-7ffc477ad000 r-xp 00000000 00:00 0 [vdso]
>> -ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
>> -Aborted (core dumped)
>> -$
>> -
>> -Fix this by simply always setting the mode, as it doesn't hurt even
>> -when O_CREAT is not specified.
>> -
>> -This bug is a regression introduced in fc3e40e, as xopen(), which
>> -was originally used, would automatically set the mode.
>> -
>> -Signed-off-by: Ari Sundholm <ari at tuxera.com>
>> -Signed-off-by: Mike Frysinger <vapier at gentoo.org>
>> -(cherry picked from commit e111a1640494fe87fc913f94fae3bb805de0fc99)
>> ----
>> - coreutils/truncate.c | 2 +-
>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>> -
>> -diff --git a/coreutils/truncate.c b/coreutils/truncate.c
>> -index e5fa656..4c997bf 100644
>> ---- a/coreutils/truncate.c
>> -+++ b/coreutils/truncate.c
>> -@@ -64,7 +64,7 @@ int truncate_main(int argc UNUSED_PARAM, char **argv)
>> -
>> - argv += optind;
>> - while (*argv) {
>> -- int fd = open(*argv, flags);
>> -+ int fd = open(*argv, flags, 0666);
>> - if (fd < 0) {
>> - if (errno != ENOENT || !(opts & OPT_NOCREATE)) {
>> - bb_perror_msg("%s: open", *argv);
>> ---
>> -2.6.2
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch b/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch
>> deleted file mode 100644
>> index e3c5020..0000000
>> --- a/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch
>> +++ /dev/null
>> @@ -1,143 +0,0 @@
>> -Upstream-Status: Backport
>> -
>> - http://busybox.net/downloads/fixes-1.24.1/
>> - http://git.busybox.net/busybox/commit/?id=092fabcf1df5d46cd22be4ffcd3b871f6180eb9c
>> - http://git.busybox.net/busybox/commit/?h=1_24_stable&id=092fabcf1df5d46cd22be4ffcd3b871f6180eb9c
>> -
>> -Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>> -
>> -From 092fabcf1df5d46cd22be4ffcd3b871f6180eb9c Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Fri, 30 Oct 2015 23:41:53 +0100
>> -Subject: [PATCH] [g]unzip: fix recent breakage.
>> -
>> -Also, do emit error message we so painstakingly pass from gzip internals
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -(cherry picked from commit 6bd3fff51aa74e2ee2d87887b12182a3b09792ef)
>> -Signed-off-by: Mike Frysinger <vapier at gentoo.org>
>> ----
>> - archival/libarchive/decompress_gunzip.c | 33 +++++++++++++++++++++------------
>> - testsuite/unzip.tests | 1 +
>> - 2 files changed, 22 insertions(+), 12 deletions(-)
>> -
>> -diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c
>> -index c76fd31..357c9bf 100644
>> ---- a/archival/libarchive/decompress_gunzip.c
>> -+++ b/archival/libarchive/decompress_gunzip.c
>> -@@ -309,8 +309,7 @@ static int huft_build(const unsigned *b, const unsigned n,
>> - huft_t *q; /* points to current table */
>> - huft_t r; /* table entry for structure assignment */
>> - huft_t *u[BMAX]; /* table stack */
>> -- unsigned v[N_MAX]; /* values in order of bit length */
>> -- unsigned v_end;
>> -+ unsigned v[N_MAX + 1]; /* values in order of bit length. last v[] is never used */
>> - int ws[BMAX + 1]; /* bits decoded stack */
>> - int w; /* bits decoded */
>> - unsigned x[BMAX + 1]; /* bit offsets, then code stack */
>> -@@ -365,15 +364,17 @@ static int huft_build(const unsigned *b, const unsigned n,
>> - *xp++ = j;
>> - }
>> -
>> -- /* Make a table of values in order of bit lengths */
>> -+ /* Make a table of values in order of bit lengths.
>> -+ * To detect bad input, unused v[i]'s are set to invalid value UINT_MAX.
>> -+ * In particular, last v[i] is never filled and must not be accessed.
>> -+ */
>> -+ memset(v, 0xff, sizeof(v));
>> - p = b;
>> - i = 0;
>> -- v_end = 0;
>> - do {
>> - j = *p++;
>> - if (j != 0) {
>> - v[x[j]++] = i;
>> -- v_end = x[j];
>> - }
>> - } while (++i < n);
>> -
>> -@@ -435,7 +436,9 @@ static int huft_build(const unsigned *b, const unsigned n,
>> -
>> - /* set up table entry in r */
>> - r.b = (unsigned char) (k - w);
>> -- if (p >= v + v_end) { // Was "if (p >= v + n)" but v[] can be shorter!
>> -+ if (/*p >= v + n || -- redundant, caught by the second check: */
>> -+ *p == UINT_MAX /* do we access uninited v[i]? (see memset(v))*/
>> -+ ) {
>> - r.e = 99; /* out of values--invalid code */
>> - } else if (*p < s) {
>> - r.e = (unsigned char) (*p < 256 ? 16 : 15); /* 256 is EOB code */
>> -@@ -520,8 +523,9 @@ static NOINLINE int inflate_codes(STATE_PARAM_ONLY)
>> - e = t->e;
>> - if (e > 16)
>> - do {
>> -- if (e == 99)
>> -- abort_unzip(PASS_STATE_ONLY);;
>> -+ if (e == 99) {
>> -+ abort_unzip(PASS_STATE_ONLY);
>> -+ }
>> - bb >>= t->b;
>> - k -= t->b;
>> - e -= 16;
>> -@@ -557,8 +561,9 @@ static NOINLINE int inflate_codes(STATE_PARAM_ONLY)
>> - e = t->e;
>> - if (e > 16)
>> - do {
>> -- if (e == 99)
>> -+ if (e == 99) {
>> - abort_unzip(PASS_STATE_ONLY);
>> -+ }
>> - bb >>= t->b;
>> - k -= t->b;
>> - e -= 16;
>> -@@ -824,8 +829,9 @@ static int inflate_block(STATE_PARAM smallint *e)
>> -
>> - b_dynamic >>= 4;
>> - k_dynamic -= 4;
>> -- if (nl > 286 || nd > 30)
>> -+ if (nl > 286 || nd > 30) {
>> - abort_unzip(PASS_STATE_ONLY); /* bad lengths */
>> -+ }
>> -
>> - /* read in bit-length-code lengths */
>> - for (j = 0; j < nb; j++) {
>> -@@ -906,12 +912,14 @@ static int inflate_block(STATE_PARAM smallint *e)
>> - bl = lbits;
>> -
>> - i = huft_build(ll, nl, 257, cplens, cplext, &inflate_codes_tl, &bl);
>> -- if (i != 0)
>> -+ if (i != 0) {
>> - abort_unzip(PASS_STATE_ONLY);
>> -+ }
>> - bd = dbits;
>> - i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &inflate_codes_td, &bd);
>> -- if (i != 0)
>> -+ if (i != 0) {
>> - abort_unzip(PASS_STATE_ONLY);
>> -+ }
>> -
>> - /* set up data for inflate_codes() */
>> - inflate_codes_setup(PASS_STATE bl, bd);
>> -@@ -999,6 +1007,7 @@ inflate_unzip_internal(STATE_PARAM transformer_state_t *xstate)
>> - error_msg = "corrupted data";
>> - if (setjmp(error_jmp)) {
>> - /* Error from deep inside zip machinery */
>> -+ bb_error_msg(error_msg);
>> - n = -1;
>> - goto ret;
>> - }
>> -diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
>> -index ca0a458..d8738a3 100755
>> ---- a/testsuite/unzip.tests
>> -+++ b/testsuite/unzip.tests
>> -@@ -34,6 +34,7 @@ rm foo.zip
>> - testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
>> - "Archive: bad.zip
>> - inflating: ]3j½r«IK-%Ix
>> -+unzip: corrupted data
>> - unzip: inflate error
>> - 1
>> - " \
>> ---
>> -2.6.2
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch b/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch
>> deleted file mode 100644
>> index 7186726..0000000
>> --- a/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch
>> +++ /dev/null
>> @@ -1,118 +0,0 @@
>> -Upstream-Status: Backport
>> -
>> - http://busybox.net/downloads/fixes-1.24.1/
>> - http://git.busybox.net/busybox/commit/?id=1de25a6e87e0e627aa34298105a3d17c60a1f44e
>> - http://git.busybox.net/busybox/commit/?h=1_24_stable&id=6767af17f11144c7cd3cfe9ef799d7f89a78fe65
>> -
>> -Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>> -
>> -From 1de25a6e87e0e627aa34298105a3d17c60a1f44e Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Mon, 26 Oct 2015 19:33:05 +0100
>> -Subject: [PATCH] unzip: test for bad archive SEGVing
>> -
>> -function old new delta
>> -huft_build 1296 1300 +4
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> ----
>> - archival/libarchive/decompress_gunzip.c | 11 +++++++----
>> - testsuite/unzip.tests | 23 ++++++++++++++++++++++-
>> - 2 files changed, 29 insertions(+), 5 deletions(-)
>> -
>> -diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c
>> -index 7b6f459..30bf451 100644
>> ---- a/archival/libarchive/decompress_gunzip.c
>> -+++ b/archival/libarchive/decompress_gunzip.c
>> -@@ -305,11 +305,12 @@ static int huft_build(const unsigned *b, const unsigned n,
>> - unsigned i; /* counter, current code */
>> - unsigned j; /* counter */
>> - int k; /* number of bits in current code */
>> -- unsigned *p; /* pointer into c[], b[], or v[] */
>> -+ const unsigned *p; /* pointer into c[], b[], or v[] */
>> - huft_t *q; /* points to current table */
>> - huft_t r; /* table entry for structure assignment */
>> - huft_t *u[BMAX]; /* table stack */
>> - unsigned v[N_MAX]; /* values in order of bit length */
>> -+ unsigned v_end;
>> - int ws[BMAX + 1]; /* bits decoded stack */
>> - int w; /* bits decoded */
>> - unsigned x[BMAX + 1]; /* bit offsets, then code stack */
>> -@@ -324,7 +325,7 @@ static int huft_build(const unsigned *b, const unsigned n,
>> -
>> - /* Generate counts for each bit length */
>> - memset(c, 0, sizeof(c));
>> -- p = (unsigned *) b; /* cast allows us to reuse p for pointing to b */
>> -+ p = b;
>> - i = n;
>> - do {
>> - c[*p]++; /* assume all entries <= BMAX */
>> -@@ -365,12 +366,14 @@ static int huft_build(const unsigned *b, const unsigned n,
>> - }
>> -
>> - /* Make a table of values in order of bit lengths */
>> -- p = (unsigned *) b;
>> -+ p = b;
>> - i = 0;
>> -+ v_end = 0;
>> - do {
>> - j = *p++;
>> - if (j != 0) {
>> - v[x[j]++] = i;
>> -+ v_end = x[j];
>> - }
>> - } while (++i < n);
>> -
>> -@@ -432,7 +435,7 @@ static int huft_build(const unsigned *b, const unsigned n,
>> -
>> - /* set up table entry in r */
>> - r.b = (unsigned char) (k - w);
>> -- if (p >= v + n) {
>> -+ if (p >= v + v_end) { // Was "if (p >= v + n)" but v[] can be shorter!
>> - r.e = 99; /* out of values--invalid code */
>> - } else if (*p < s) {
>> - r.e = (unsigned char) (*p < 256 ? 16 : 15); /* 256 is EOB code */
>> -diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
>> -index 8677a03..ca0a458 100755
>> ---- a/testsuite/unzip.tests
>> -+++ b/testsuite/unzip.tests
>> -@@ -7,7 +7,7 @@
>> -
>> - . ./testing.sh
>> -
>> --# testing "test name" "options" "expected result" "file input" "stdin"
>> -+# testing "test name" "commands" "expected result" "file input" "stdin"
>> - # file input will be file called "input"
>> - # test can create a file "actual" instead of writing to stdout
>> -
>> -@@ -30,6 +30,27 @@ testing "unzip (subdir only)" "unzip -q foo.zip foo/ && test -d foo && test ! -f
>> - rmdir foo
>> - rm foo.zip
>> -
>> -+# File containing some damaged encrypted stream
>> -+testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
>> -+"Archive: bad.zip
>> -+ inflating: ]3j½r«IK-%Ix
>> -+unzip: inflate error
>> -+1
>> -+" \
>> -+"" "\
>> -+begin-base64 644 bad.zip
>> -+UEsDBBQAAgkIAAAAIQA5AAAANwAAADwAAAAQAAcAXTNqwr1ywqtJGxJLLSVJ
>> -+eCkBD0AdKBk8JzQsIj01JC0/ORJQSwMEFAECCAAAAAAhADoAAAAPAAAANgAA
>> -+AAwAAQASw73Ct1DCokohPXQiNjoUNTUiHRwgLT4WHlBLAQIQABQAAggIAAAA
>> -+oQA5AAAANwAAADwAAAAQQAcADAAAACwAMgCAAAAAAABdM2rCvXLCq0kbEkst
>> -+JUl4KQEPQB0oGSY4Cz4QNgEnJSYIPVBLAQIAABQAAggAAAAAIQAqAAAADwAA
>> -+BDYAAAAMAAEADQAAADIADQAAAEEAAAASw73Ct1DKokohPXQiNzA+FAI1HCcW
>> -+NzITNFBLBQUKAC4JAA04Cw0EOhZQSwUGAQAABAIAAgCZAAAAeQAAAAIALhM=
>> -+====
>> -+"
>> -+
>> -+rm *
>> -+
>> - # Clean up scratch directory.
>> -
>> - cd ..
>> ---
>> -2.6.2
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch b/meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch
>> index bda8685..6faca22 100644
>> --- a/meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch
>> +++ b/meta/recipes-core/busybox/busybox/busybox-cross-menuconfig.patch
>> @@ -33,7 +33,7 @@ cc: linux-kbuild at vger.kernel.org
>> scripts/kconfig/lxdialog/Makefile | 2 +-
>> scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++
>> 2 files changed, 9 insertions(+), 1 deletion(-)
>> -
>> +
>> --- a/scripts/kconfig/lxdialog/check-lxdialog.sh
>> +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
>> @@ -4,6 +4,10 @@
>> @@ -44,10 +44,10 @@ cc: linux-kbuild at vger.kernel.org
>> + echo "$CROSS_CURSES_LIB"
>> + exit
>> + fi
>> - for ext in so a dylib ; do
>> - for lib in ncursesw ncurses curses ; do
>> - $cc -print-file-name=lib${lib}.${ext} | grep -q /
>> -@@ -19,6 +23,10 @@ ldflags()
>> + pkg-config --libs ncursesw 2>/dev/null && exit
>> + pkg-config --libs ncurses 2>/dev/null && exit
>> + for ext in so a dll.a dylib ; do
>> +@@ -21,6 +25,10 @@
>> # Where is ncurses.h?
>> ccflags()
>> {
>> @@ -55,12 +55,12 @@ cc: linux-kbuild at vger.kernel.org
>> + echo "$CROSS_CURSES_INC"
>> + exit
>> + fi
>> - if [ -f /usr/include/ncursesw/ncurses.h ]; then
>> - echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncurses.h>"'
>> - elif [ -f /usr/include/ncursesw/curses.h ]; then
>> + if pkg-config --cflags ncursesw 2>/dev/null; then
>> + echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1'
>> + elif pkg-config --cflags ncurses 2>/dev/null; then
>> --- a/scripts/kconfig/lxdialog/Makefile
>> +++ b/scripts/kconfig/lxdialog/Makefile
>> -@@ -5,7 +5,7 @@ check-lxdialog := $(srctree)/$(src)/che
>> +@@ -5,7 +5,7 @@
>>
>> # Use reursively expanded variables so we do not call gcc unless
>> # we really need to do so. (Do not call gcc as part of make mrproper)
>> diff --git a/meta/recipes-core/busybox/busybox/busybox-kbuild-race-fix-commit-d8e61bb.patch b/meta/recipes-core/busybox/busybox/busybox-kbuild-race-fix-commit-d8e61bb.patch
>> deleted file mode 100644
>> index 38302e0..0000000
>> --- a/meta/recipes-core/busybox/busybox/busybox-kbuild-race-fix-commit-d8e61bb.patch
>> +++ /dev/null
>> @@ -1,53 +0,0 @@
>> -Upstream-Status: Backport
>> -
>> -Patch addressing a parallel make race in Busybox
>> -
>> - http://git.busybox.net/busybox/commit/?id=d8e61bbf13d0cf38d477255cfd5dc71c5d51d575
>> -
>> -Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
>> -
>> -From d8e61bbf13d0cf38d477255cfd5dc71c5d51d575 Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Sun, 21 Aug 2016 22:00:20 +0200
>> -Subject: build system: different fix for
>> - include/applet_tables.h/include/NUM_APPLETS.h
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -
>> -diff --git a/applets/Kbuild.src b/applets/Kbuild.src
>> -index 5cc1827..3aedbbf 100644
>> ---- a/applets/Kbuild.src
>> -+++ b/applets/Kbuild.src
>> -@@ -29,7 +29,7 @@ applets/applets.o: include/usage_compressed.h include/applet_tables.h
>> -
>> - applets/applet_tables: .config include/applets.h
>> - applets/usage: .config include/applets.h
>> --applets/usage_pod: .config include/applets.h include/applet_tables.h include/NUM_APPLETS.h
>> -+applets/usage_pod: .config include/applets.h include/applet_tables.h
>> -
>> - quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
>> - cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
>> -@@ -37,8 +37,21 @@ quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
>> - include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed
>> - $(call cmd,gen_usage_compressed)
>> -
>> --quiet_cmd_gen_applet_tables = GEN include/applet_tables.h
>> -+quiet_cmd_gen_applet_tables = GEN include/applet_tables.h include/NUM_APPLETS.h
>> - cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h
>> -
>> --include/applet_tables.h include/NUM_APPLETS.h: applets/applet_tables
>> -+include/NUM_APPLETS.h: applets/applet_tables
>> -+ $(call cmd,gen_applet_tables)
>> -+
>> -+# In fact, include/applet_tables.h depends only on applets/applet_tables,
>> -+# and is generated by it. But specifying only it can run
>> -+# applets/applet_tables twice, possibly in parallel.
>> -+# We say that it also needs NUM_APPLETS.h
>> -+#
>> -+# Unfortunately, we need to list the same command,
>> -+# and it can be executed twice (sequentially).
>> -+# The alternative is to not list any command,
>> -+# and then if include/applet_tables.h is deleted, it won't be rebuilt.
>> -+#
>> -+include/applet_tables.h: include/NUM_APPLETS.h applets/applet_tables
>> - $(call cmd,gen_applet_tables)
>> diff --git a/meta/recipes-core/busybox/busybox/busybox-tar-add-IF_FEATURE_-checks.patch b/meta/recipes-core/busybox/busybox/busybox-tar-add-IF_FEATURE_-checks.patch
>> deleted file mode 100644
>> index 0c3c9c0..0000000
>> --- a/meta/recipes-core/busybox/busybox/busybox-tar-add-IF_FEATURE_-checks.patch
>> +++ /dev/null
>> @@ -1,70 +0,0 @@
>> -From f94412f6bb49136694c5478d0aecb19118d1b08d Mon Sep 17 00:00:00 2001
>> -From: Ming Liu <peter.x.liu at external.atlascopco.com>
>> -Date: Wed, 31 May 2017 11:48:09 +0200
>> -Subject: [PATCH] tar: add IF_FEATURE_* checks
>> -
>> -A following linking error was observed:
>> -| ==========
>> -| archival/lib.a(tar.o): In function `tar_main':
>> -| archival/tar.c:1168: undefined reference to `unpack_Z_stream'
>> -| archival/tar.c:1168: undefined reference to `unpack_Z_stream'
>> -| ld: busybox_unstripped: hidden symbol `unpack_Z_stream' isn't defined
>> -| ld: final link failed: Bad value
>> -
>> -this happened with clang compiler, with the following configs:
>> -| CONFIG_TAR=y
>> -| # CONFIG_FEATURE_SEAMLESS_Z is not set
>> -
>> -which can be fixed by adding IF_FEATURE_* checks in.
>> -
>> -Upstream-Status: Pending [ Sent to busybox upstream on 2017-06-02 ]
>> -
>> -Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
>> ----
>> - archival/tar.c | 25 +++++++++++++++----------
>> - 1 file changed, 15 insertions(+), 10 deletions(-)
>> -
>> -diff --git a/archival/tar.c b/archival/tar.c
>> -index b70e00a..7598b71 100644
>> ---- a/archival/tar.c
>> -+++ b/archival/tar.c
>> -@@ -1216,21 +1216,26 @@ int tar_main(int argc UNUSED_PARAM, char **argv)
>> - USE_FOR_MMU(IF_DESKTOP(long long) int FAST_FUNC (*xformer)(transformer_state_t *xstate);)
>> - USE_FOR_NOMMU(const char *xformer_prog;)
>> -
>> -- if (opt & OPT_COMPRESS)
>> -- USE_FOR_MMU(xformer = unpack_Z_stream;)
>> -+ if (opt & OPT_COMPRESS) {
>> -+ USE_FOR_MMU(IF_FEATURE_SEAMLESS_Z(xformer = unpack_Z_stream;))
>> - USE_FOR_NOMMU(xformer_prog = "uncompress";)
>> -- if (opt & OPT_GZIP)
>> -- USE_FOR_MMU(xformer = unpack_gz_stream;)
>> -+ }
>> -+ if (opt & OPT_GZIP) {
>> -+ USE_FOR_MMU(IF_FEATURE_SEAMLESS_GZ(xformer = unpack_gz_stream;))
>> - USE_FOR_NOMMU(xformer_prog = "gunzip";)
>> -- if (opt & OPT_BZIP2)
>> -- USE_FOR_MMU(xformer = unpack_bz2_stream;)
>> -+ }
>> -+ if (opt & OPT_BZIP2) {
>> -+ USE_FOR_MMU(IF_FEATURE_SEAMLESS_BZ2(xformer = unpack_bz2_stream;))
>> - USE_FOR_NOMMU(xformer_prog = "bunzip2";)
>> -- if (opt & OPT_LZMA)
>> -- USE_FOR_MMU(xformer = unpack_lzma_stream;)
>> -+ }
>> -+ if (opt & OPT_LZMA) {
>> -+ USE_FOR_MMU(IF_FEATURE_SEAMLESS_LZMA(xformer = unpack_lzma_stream;))
>> - USE_FOR_NOMMU(xformer_prog = "unlzma";)
>> -- if (opt & OPT_XZ)
>> -- USE_FOR_MMU(xformer = unpack_xz_stream;)
>> -+ }
>> -+ if (opt & OPT_XZ) {
>> -+ USE_FOR_MMU(IF_FEATURE_SEAMLESS_XZ(xformer = unpack_xz_stream;))
>> - USE_FOR_NOMMU(xformer_prog = "unxz";)
>> -+ }
>> -
>> - fork_transformer_with_sig(tar_handle->src_fd, xformer, xformer_prog);
>> - /* Can't lseek over pipes */
>> ---
>> -2.7.4
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
>> index 4c9ce3b..582a258 100644
>> --- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
>> +++ b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
>> @@ -28,24 +28,23 @@ Fixed options -b, -a and -P.
>>
>> Signed-off-by: Andreas Oberritter <obi at opendreambox.org>
>> ---
>> - networking/udhcp/dhcpc.c | 29 +++++++++++++++++++++--------
>> - 1 files changed, 21 insertions(+), 8 deletions(-)
>> + networking/udhcp/dhcpc.c | 29 ++++++++++++++++------
>> + 1 file changed, 21 insertions(+), 8 deletions(-)
>>
>> -Index: busybox-1.20.2/networking/udhcp/dhcpc.c
>> +Index: busybox-1.27.2/networking/udhcp/dhcpc.c
>> ===================================================================
>> ---- busybox-1.20.2.orig/networking/udhcp/dhcpc.c
>> -+++ busybox-1.20.2/networking/udhcp/dhcpc.c
>> -@@ -29,6 +29,9 @@
>> - #include <netpacket/packet.h>
>> - #include <linux/filter.h>
>> +--- busybox-1.27.2.orig/networking/udhcp/dhcpc.c
>> ++++ busybox-1.27.2/networking/udhcp/dhcpc.c
>> +@@ -49,6 +49,8 @@ struct tpacket_auxdata {
>> + };
>> + #endif
>>
>> +/* option whether to down the interface when reconfiguring */
>> +static int allow_deconfig = 1;
>> -+
>> - /* "struct client_config_t client_config" is in bb_common_bufsiz1 */
>>
>> + /* "struct client_config_t client_config" is in bb_common_bufsiz1 */
>>
>> -@@ -81,8 +84,9 @@ enum {
>> +@@ -104,8 +106,9 @@ enum {
>> OPT_x = 1 << 18,
>> OPT_f = 1 << 19,
>> OPT_B = 1 << 20,
>> @@ -56,7 +55,7 @@ Index: busybox-1.20.2/networking/udhcp/dhcpc.c
>> USE_FOR_MMU( OPTBIT_b,)
>> IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
>> IF_FEATURE_UDHCP_PORT( OPTBIT_P,)
>> -@@ -1040,7 +1044,8 @@ static void perform_renew(void)
>> +@@ -1110,7 +1113,8 @@ static void perform_renew(void)
>> state = RENEW_REQUESTED;
>> break;
>> case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
>> @@ -66,36 +65,37 @@ Index: busybox-1.20.2/networking/udhcp/dhcpc.c
>> case REQUESTING:
>> case RELEASED:
>> change_listen_mode(LISTEN_RAW);
>> -@@ -1064,7 +1069,8 @@ static void perform_release(uint32_t ser
>> - bb_info_msg("Unicasting a release of %s to %s",
>> - inet_ntoa(temp_addr), buffer);
>> - send_release(server_addr, requested_ip); /* unicast */
>> -- udhcp_run_script(NULL, "deconfig");
>> -+ if (allow_deconfig)
>> -+ udhcp_run_script(NULL, "deconfig");
>> - }
>> - bb_info_msg("Entering released state");
>> +@@ -1146,7 +1150,8 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip)
>> + * Users requested to be notified in all cases, even if not in one
>> + * of the states above.
>> + */
>> +- udhcp_run_script(NULL, "deconfig");
>> ++ if (allow_deconfig)
>> ++ udhcp_run_script(NULL, "deconfig");
>>
>> -@@ -1215,7 +1221,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
>> + change_listen_mode(LISTEN_NONE);
>> + state = RELEASED;
>> +@@ -1298,7 +1303,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
>> /* O,x: list; -T,-t,-A take numeric param */
>> - opt_complementary = "O::x::T+:t+:A+" IF_UDHCP_VERBOSE(":vv") ;
>> + IF_UDHCP_VERBOSE(opt_complementary = "vv";)
>> IF_LONG_OPTS(applet_long_options = udhcpc_longopts;)
>> -- opt = getopt32(argv, "CV:H:h:F:i:np:qRr:s:T:t:SA:O:ox:fB"
>> -+ opt = getopt32(argv, "CV:H:h:F:i:np:qRr:s:T:t:SA:O:ox:fBD"
>> +- opt = getopt32(argv, "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB"
>> ++ opt = getopt32(argv, "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD"
>> USE_FOR_MMU("b")
>> - IF_FEATURE_UDHCPC_ARPING("a")
>> + IF_FEATURE_UDHCPC_ARPING("a::")
>> IF_FEATURE_UDHCP_PORT("P:")
>> -@@ -1316,6 +1322,9 @@ int udhcpc_main(int argc UNUSED_PARAM, c
>> +@@ -1409,6 +1414,10 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
>> logmode |= LOGMODE_SYSLOG;
>> }
>>
>> -+ if (opt & OPT_D)
>> ++ if (opt & OPT_D) {
>> + allow_deconfig = 0;
>> ++ }
>> +
>> /* Make sure fd 0,1,2 are open */
>> bb_sanitize_stdio();
>> /* Equivalent of doing a fflush after every \n */
>> -@@ -1330,7 +1339,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
>> +@@ -1423,7 +1432,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
>> srand(monotonic_us());
>>
>> state = INIT_SELECTING;
>> @@ -105,17 +105,17 @@ Index: busybox-1.20.2/networking/udhcp/dhcpc.c
>> change_listen_mode(LISTEN_RAW);
>> packet_num = 0;
>> timeout = 0;
>> -@@ -1484,7 +1494,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
>> +@@ -1577,7 +1587,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
>> }
>> /* Timed out, enter init state */
>> - bb_info_msg("Lease lost, entering init state");
>> + bb_error_msg("lease lost, entering init state");
>> - udhcp_run_script(NULL, "deconfig");
>> + if (allow_deconfig)
>> + udhcp_run_script(NULL, "deconfig");
>> state = INIT_SELECTING;
>> client_config.first_secs = 0; /* make secs field count from 0 */
>> /*timeout = 0; - already is */
>> -@@ -1667,7 +1678,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
>> +@@ -1770,7 +1781,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
>> send_decline(/*xid,*/ server_addr, packet.yiaddr);
>>
>> if (state != REQUESTING)
>> @@ -125,8 +125,8 @@ Index: busybox-1.20.2/networking/udhcp/dhcpc.c
>> change_listen_mode(LISTEN_RAW);
>> state = INIT_SELECTING;
>> client_config.first_secs = 0; /* make secs field count from 0 */
>> -@@ -1711,7 +1723,8 @@ int udhcpc_main(int argc UNUSED_PARAM, c
>> - bb_info_msg("Received DHCP NAK");
>> +@@ -1840,7 +1852,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
>> + bb_error_msg("received %s", "DHCP NAK");
>> udhcp_run_script(&packet, "nak");
>> if (state != REQUESTING)
>> - udhcp_run_script(NULL, "deconfig");
>> diff --git a/meta/recipes-core/busybox/busybox/commit-applet_tables-fix-commit-0dddbc1.patch b/meta/recipes-core/busybox/busybox/commit-applet_tables-fix-commit-0dddbc1.patch
>> deleted file mode 100644
>> index 7f80a1d..0000000
>> --- a/meta/recipes-core/busybox/busybox/commit-applet_tables-fix-commit-0dddbc1.patch
>> +++ /dev/null
>> @@ -1,61 +0,0 @@
>> -Upstream-Status: Backport
>> -
>> -Patch addressing a parallel make race in Busybox
>> -
>> - http://git.busybox.net/busybox/commit/?id=0dddbc1a59795a77679d8c5ef48a2795cb470563
>> -
>> -Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
>> -
>> -From 0dddbc1a59795a77679d8c5ef48a2795cb470563 Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Tue, 23 Aug 2016 20:21:36 +0200
>> -Subject: build system: always rewrite NUM_APPLETS.h
>> -
>> -Conditional rewrite can keep NUM_APPLETS.h mtime old,
>> -this causes make to try to regenerate it at every invocation.
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -
>> -diff --git a/applets/applet_tables.c b/applets/applet_tables.c
>> -index 8401a15..ef911a4 100644
>> ---- a/applets/applet_tables.c
>> -+++ b/applets/applet_tables.c
>> -@@ -192,27 +192,28 @@ int main(int argc, char **argv)
>> - printf("};\n");
>> - #endif
>> - //printf("#endif /* SKIP_definitions */\n");
>> -+
>> - // printf("\n");
>> - // printf("#define MAX_APPLET_NAME_LEN %u\n", MAX_APPLET_NAME_LEN);
>> -
>> - if (argv[2]) {
>> -- char line_old[80];
>> -- char line_new[80];
>> - FILE *fp;
>> -+ char line_new[80];
>> -+// char line_old[80];
>> -
>> -- line_old[0] = 0;
>> -- fp = fopen(argv[2], "r");
>> -- if (fp) {
>> -- fgets(line_old, sizeof(line_old), fp);
>> -- fclose(fp);
>> -- }
>> - sprintf(line_new, "#define NUM_APPLETS %u\n", NUM_APPLETS);
>> -- if (strcmp(line_old, line_new) != 0) {
>> -+// line_old[0] = 0;
>> -+// fp = fopen(argv[2], "r");
>> -+// if (fp) {
>> -+// fgets(line_old, sizeof(line_old), fp);
>> -+// fclose(fp);
>> -+// }
>> -+// if (strcmp(line_old, line_new) != 0) {
>> - fp = fopen(argv[2], "w");
>> - if (!fp)
>> - return 1;
>> - fputs(line_new, fp);
>> -- }
>> -+// }
>> - }
>> -
>> - return 0;
>> diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig
>> index cc68bea..fbb5fd8 100644
>> --- a/meta/recipes-core/busybox/busybox/defconfig
>> +++ b/meta/recipes-core/busybox/busybox/defconfig
>> @@ -1,43 +1,25 @@
>> #
>> # Automatically generated make config: don't edit
>> -# Busybox version: 1.24.1
>> -# Tue Oct 31 11:00:00 2015
>> +# Busybox version: 1.27.2
>> +# Wed Sep 27 08:56:13 2017
>> #
>> CONFIG_HAVE_DOT_CONFIG=y
>>
>> #
>> # Busybox Settings
>> #
>> -
>> -#
>> -# General Configuration
>> -#
>> # CONFIG_DESKTOP is not set
>> # CONFIG_EXTRA_COMPAT is not set
>> +# CONFIG_FEDORA_COMPAT is not set
>> # CONFIG_INCLUDE_SUSv2 is not set
>> # CONFIG_USE_PORTABLE_CODE is not set
>> -CONFIG_PLATFORM_LINUX=y
>> -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
>> -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
>> -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
>> CONFIG_SHOW_USAGE=y
>> # CONFIG_FEATURE_VERBOSE_USAGE is not set
>> CONFIG_FEATURE_COMPRESS_USAGE=y
>> +CONFIG_BUSYBOX=y
>> # CONFIG_FEATURE_INSTALLER is not set
>> # CONFIG_INSTALL_NO_USR is not set
>> -# CONFIG_LOCALE_SUPPORT is not set
>> -# CONFIG_UNICODE_SUPPORT is not set
>> -# CONFIG_UNICODE_USING_LOCALE is not set
>> -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
>> -CONFIG_SUBST_WCHAR=0
>> -CONFIG_LAST_SUPPORTED_WCHAR=0
>> -# CONFIG_UNICODE_COMBINING_WCHARS is not set
>> -# CONFIG_UNICODE_WIDE_WCHARS is not set
>> -# CONFIG_UNICODE_BIDI_SUPPORT is not set
>> -# CONFIG_UNICODE_NEUTRAL_TABLE is not set
>> -# CONFIG_UNICODE_PRESERVE_BROKEN is not set
>> # CONFIG_PAM is not set
>> -CONFIG_FEATURE_USE_SENDFILE=y
>> CONFIG_LONG_OPTS=y
>> CONFIG_FEATURE_DEVPTS=y
>> # CONFIG_FEATURE_CLEAN_UP is not set
>> @@ -53,6 +35,7 @@ CONFIG_FEATURE_SUID_CONFIG_QUIET=y
>> CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
>> CONFIG_FEATURE_SYSLOG=y
>> # CONFIG_FEATURE_HAVE_RPC is not set
>> +CONFIG_PLATFORM_LINUX=y
>>
>> #
>> # Build Options
>> @@ -71,17 +54,6 @@ CONFIG_EXTRA_LDFLAGS=""
>> CONFIG_EXTRA_LDLIBS=""
>>
>> #
>> -# Debugging Options
>> -#
>> -# CONFIG_DEBUG is not set
>> -# CONFIG_DEBUG_PESSIMIZE is not set
>> -# CONFIG_UNIT_TEST is not set
>> -# CONFIG_WERROR is not set
>> -CONFIG_NO_DEBUG_LIB=y
>> -# CONFIG_DMALLOC is not set
>> -# CONFIG_EFENCE is not set
>> -
>> -#
>> # Installation Options ("make install" behavior)
>> #
>> CONFIG_INSTALL_APPLET_SYMLINKS=y
>> @@ -94,16 +66,30 @@ CONFIG_INSTALL_APPLET_SYMLINKS=y
>> CONFIG_PREFIX="./_install"
>>
>> #
>> +# Debugging Options
>> +#
>> +# CONFIG_DEBUG is not set
>> +# CONFIG_DEBUG_PESSIMIZE is not set
>> +# CONFIG_DEBUG_SANITIZE is not set
>> +# CONFIG_UNIT_TEST is not set
>> +# CONFIG_WERROR is not set
>> +CONFIG_NO_DEBUG_LIB=y
>> +# CONFIG_DMALLOC is not set
>> +# CONFIG_EFENCE is not set
>> +
>> +#
>> # Busybox Library Tuning
>> #
>> -CONFIG_FEATURE_SYSTEMD=y
>> +# CONFIG_FEATURE_USE_BSS_TAIL is not set
>> CONFIG_FEATURE_RTMINMAX=y
>> +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
>> +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
>> +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
>> CONFIG_PASSWORD_MINLEN=6
>> CONFIG_MD5_SMALL=1
>> CONFIG_SHA3_SMALL=1
>> CONFIG_FEATURE_FAST_TOP=y
>> # CONFIG_FEATURE_ETC_NETWORKS is not set
>> -CONFIG_FEATURE_USE_TERMIOS=y
>> CONFIG_FEATURE_EDITING=y
>> CONFIG_FEATURE_EDITING_MAX_LEN=1024
>> # CONFIG_FEATURE_EDITING_VI is not set
>> @@ -115,8 +101,20 @@ CONFIG_FEATURE_TAB_COMPLETION=y
>> CONFIG_FEATURE_USERNAME_COMPLETION=y
>> CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
>> # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
>> +# CONFIG_LOCALE_SUPPORT is not set
>> +# CONFIG_UNICODE_SUPPORT is not set
>> +# CONFIG_UNICODE_USING_LOCALE is not set
>> +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
>> +CONFIG_SUBST_WCHAR=0
>> +CONFIG_LAST_SUPPORTED_WCHAR=0
>> +# CONFIG_UNICODE_COMBINING_WCHARS is not set
>> +# CONFIG_UNICODE_WIDE_WCHARS is not set
>> +# CONFIG_UNICODE_BIDI_SUPPORT is not set
>> +# CONFIG_UNICODE_NEUTRAL_TABLE is not set
>> +# CONFIG_UNICODE_PRESERVE_BROKEN is not set
>> CONFIG_FEATURE_NON_POSIX_CP=y
>> # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
>> +CONFIG_FEATURE_USE_SENDFILE=y
>> CONFIG_FEATURE_COPYBUF_KB=4
>> CONFIG_FEATURE_SKIP_ROOTFS=y
>> CONFIG_MONOTONIC_SYSCALL=y
>> @@ -140,76 +138,59 @@ CONFIG_FEATURE_SEAMLESS_Z=y
>> # CONFIG_FEATURE_AR_CREATE is not set
>> # CONFIG_UNCOMPRESS is not set
>> CONFIG_GUNZIP=y
>> +CONFIG_ZCAT=y
>> +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y
>> CONFIG_BUNZIP2=y
>> +CONFIG_BZCAT=y
>> # CONFIG_UNLZMA is not set
>> -# CONFIG_FEATURE_LZMA_FAST is not set
>> +CONFIG_LZCAT=y
>> # CONFIG_LZMA is not set
>> +# CONFIG_FEATURE_LZMA_FAST is not set
>> # CONFIG_UNXZ is not set
>> +CONFIG_XZCAT=y
>> # CONFIG_XZ is not set
>> # CONFIG_BZIP2 is not set
>> +CONFIG_FEATURE_BZIP2_DECOMPRESS=y
>> CONFIG_CPIO=y
>> # CONFIG_FEATURE_CPIO_O is not set
>> # CONFIG_FEATURE_CPIO_P is not set
>> # CONFIG_DPKG is not set
>> # CONFIG_DPKG_DEB is not set
>> -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
>> CONFIG_GZIP=y
>> # CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
>> CONFIG_GZIP_FAST=0
>> # CONFIG_FEATURE_GZIP_LEVELS is not set
>> +CONFIG_FEATURE_GZIP_DECOMPRESS=y
>> # CONFIG_LZOP is not set
>> +# CONFIG_UNLZOP is not set
>> +# CONFIG_LZOPCAT is not set
>> # CONFIG_LZOP_COMPR_HIGH is not set
>> # CONFIG_RPM is not set
>> # CONFIG_RPM2CPIO is not set
>> CONFIG_TAR=y
>> +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
>> CONFIG_FEATURE_TAR_CREATE=y
>> CONFIG_FEATURE_TAR_AUTODETECT=y
>> CONFIG_FEATURE_TAR_FROM=y
>> CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
>> # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
>> CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
>> -# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
>> # CONFIG_FEATURE_TAR_TO_COMMAND is not set
>> # CONFIG_FEATURE_TAR_UNAME_GNAME is not set
>> CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
>> # CONFIG_FEATURE_TAR_SELINUX is not set
>> CONFIG_UNZIP=y
>> +CONFIG_FEATURE_UNZIP_CDF=y
>> +# CONFIG_FEATURE_UNZIP_BZIP2 is not set
>> +# CONFIG_FEATURE_UNZIP_LZMA is not set
>> +# CONFIG_FEATURE_UNZIP_XZ is not set
>>
>> #
>> # Coreutils
>> #
>> CONFIG_BASENAME=y
>> CONFIG_CAT=y
>> -CONFIG_DATE=y
>> -# CONFIG_FEATURE_DATE_ISOFMT is not set
>> -# CONFIG_FEATURE_DATE_NANO is not set
>> -CONFIG_FEATURE_DATE_COMPAT=y
>> -CONFIG_DD=y
>> -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
>> -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
>> -# CONFIG_FEATURE_DD_IBS_OBS is not set
>> -# CONFIG_FEATURE_DD_STATUS is not set
>> -# CONFIG_HOSTID is not set
>> -CONFIG_ID=y
>> -CONFIG_GROUPS=y
>> -CONFIG_SHUF=y
>> -CONFIG_SYNC=y
>> -# CONFIG_FEATURE_SYNC_FANCY is not set
>> -CONFIG_TEST=y
>> -CONFIG_FEATURE_TEST_64=y
>> -CONFIG_TOUCH=y
>> -CONFIG_FEATURE_TOUCH_NODEREF=y
>> -CONFIG_FEATURE_TOUCH_SUSV3=y
>> -CONFIG_TR=y
>> -CONFIG_FEATURE_TR_CLASSES=y
>> -# CONFIG_FEATURE_TR_EQUIV is not set
>> -# CONFIG_TRUNCATE is not set
>> -CONFIG_UNLINK=y
>> -# CONFIG_BASE64 is not set
>> -CONFIG_WHO=y
>> -CONFIG_USERS=y
>> -# CONFIG_CAL is not set
>> -# CONFIG_CATV is not set
>> +# CONFIG_FEATURE_CATV is not set
>> CONFIG_CHGRP=y
>> CONFIG_CHMOD=y
>> CONFIG_CHOWN=y
>> @@ -220,6 +201,15 @@ CONFIG_CHROOT=y
>> CONFIG_CP=y
>> # CONFIG_FEATURE_CP_LONG_OPTIONS is not set
>> CONFIG_CUT=y
>> +CONFIG_DATE=y
>> +# CONFIG_FEATURE_DATE_ISOFMT is not set
>> +# CONFIG_FEATURE_DATE_NANO is not set
>> +CONFIG_FEATURE_DATE_COMPAT=y
>> +CONFIG_DD=y
>> +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
>> +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
>> +# CONFIG_FEATURE_DD_IBS_OBS is not set
>> +# CONFIG_FEATURE_DD_STATUS is not set
>> CONFIG_DF=y
>> # CONFIG_FEATURE_DF_FANCY is not set
>> CONFIG_DIRNAME=y
>> @@ -233,36 +223,57 @@ CONFIG_ENV=y
>> CONFIG_FEATURE_ENV_LONG_OPTIONS=y
>> # CONFIG_EXPAND is not set
>> # CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
>> +# CONFIG_UNEXPAND is not set
>> +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
>> CONFIG_EXPR=y
>> CONFIG_EXPR_MATH_SUPPORT_64=y
>> +# CONFIG_FACTOR is not set
>> CONFIG_FALSE=y
>> # CONFIG_FOLD is not set
>> # CONFIG_FSYNC is not set
>> CONFIG_HEAD=y
>> # CONFIG_FEATURE_FANCY_HEAD is not set
>> +# CONFIG_HOSTID is not set
>> +CONFIG_ID=y
>> +CONFIG_GROUPS=y
>> # CONFIG_INSTALL is not set
>> # CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
>> +# CONFIG_LINK is not set
>> CONFIG_LN=y
>> CONFIG_LOGNAME=y
>> CONFIG_LS=y
>> CONFIG_FEATURE_LS_FILETYPES=y
>> CONFIG_FEATURE_LS_FOLLOWLINKS=y
>> CONFIG_FEATURE_LS_RECURSIVE=y
>> +CONFIG_FEATURE_LS_WIDTH=y
>> CONFIG_FEATURE_LS_SORTFILES=y
>> CONFIG_FEATURE_LS_TIMESTAMPS=y
>> CONFIG_FEATURE_LS_USERNAME=y
>> CONFIG_FEATURE_LS_COLOR=y
>> # CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
>> CONFIG_MD5SUM=y
>> +# CONFIG_SHA1SUM is not set
>> +# CONFIG_SHA256SUM is not set
>> +# CONFIG_SHA512SUM is not set
>> +# CONFIG_SHA3SUM is not set
>> +
>> +#
>> +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
>> +#
>> +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
>> CONFIG_MKDIR=y
>> CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
>> CONFIG_MKFIFO=y
>> CONFIG_MKNOD=y
>> +CONFIG_MKTEMP=y
>> CONFIG_MV=y
>> # CONFIG_FEATURE_MV_LONG_OPTIONS is not set
>> # CONFIG_NICE is not set
>> +# CONFIG_NL is not set
>> CONFIG_NOHUP=y
>> +CONFIG_NPROC=y
>> CONFIG_OD=y
>> +# CONFIG_PASTE is not set
>> # CONFIG_PRINTENV is not set
>> CONFIG_PRINTF=y
>> CONFIG_PWD=y
>> @@ -273,10 +284,8 @@ CONFIG_RM=y
>> CONFIG_RMDIR=y
>> # CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
>> CONFIG_SEQ=y
>> -# CONFIG_SHA1SUM is not set
>> -# CONFIG_SHA256SUM is not set
>> -# CONFIG_SHA512SUM is not set
>> -# CONFIG_SHA3SUM is not set
>> +# CONFIG_SHRED is not set
>> +CONFIG_SHUF=y
>> CONFIG_SLEEP=y
>> CONFIG_FEATURE_FANCY_SLEEP=y
>> CONFIG_FEATURE_FLOAT_SLEEP=y
>> @@ -286,25 +295,43 @@ CONFIG_FEATURE_SORT_BIG=y
>> # CONFIG_FEATURE_SPLIT_FANCY is not set
>> CONFIG_STAT=y
>> CONFIG_FEATURE_STAT_FORMAT=y
>> +CONFIG_FEATURE_STAT_FILESYSTEM=y
>> CONFIG_STTY=y
>> # CONFIG_SUM is not set
>> +CONFIG_SYNC=y
>> +# CONFIG_FEATURE_SYNC_FANCY is not set
>> # CONFIG_TAC is not set
>> CONFIG_TAIL=y
>> CONFIG_FEATURE_FANCY_TAIL=y
>> CONFIG_TEE=y
>> # CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
>> +CONFIG_TEST=y
>> +CONFIG_TEST1=y
>> +CONFIG_TEST2=y
>> +CONFIG_FEATURE_TEST_64=y
>> +# CONFIG_TIMEOUT is not set
>> +CONFIG_TOUCH=y
>> +CONFIG_FEATURE_TOUCH_NODEREF=y
>> +CONFIG_FEATURE_TOUCH_SUSV3=y
>> +CONFIG_TR=y
>> +CONFIG_FEATURE_TR_CLASSES=y
>> +# CONFIG_FEATURE_TR_EQUIV is not set
>> CONFIG_TRUE=y
>> +# CONFIG_TRUNCATE is not set
>> CONFIG_TTY=y
>> CONFIG_UNAME=y
>> CONFIG_UNAME_OSNAME="GNU/Linux"
>> -# CONFIG_UNEXPAND is not set
>> -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
>> CONFIG_UNIQ=y
>> +CONFIG_UNLINK=y
>> CONFIG_USLEEP=y
>> # CONFIG_UUDECODE is not set
>> +# CONFIG_BASE64 is not set
>> # CONFIG_UUENCODE is not set
>> CONFIG_WC=y
>> # CONFIG_FEATURE_WC_LARGE is not set
>> +CONFIG_WHO=y
>> +# CONFIG_W is not set
>> +CONFIG_USERS=y
>> CONFIG_WHOAMI=y
>> CONFIG_YES=y
>>
>> @@ -319,30 +346,29 @@ CONFIG_FEATURE_VERBOSE=y
>> # CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
>>
>> #
>> -# Common options for ls, more and telnet
>> -#
>> -CONFIG_FEATURE_AUTOWIDTH=y
>> -
>> -#
>> # Common options for df, du, ls
>> #
>> CONFIG_FEATURE_HUMAN_READABLE=y
>>
>> #
>> -# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
>> -#
>> -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
>> -
>> -#
>> # Console Utilities
>> #
>> CONFIG_CHVT=y
>> -# CONFIG_FGCONSOLE is not set
>> CONFIG_CLEAR=y
>> CONFIG_DEALLOCVT=y
>> CONFIG_DUMPKMAP=y
>> +# CONFIG_FGCONSOLE is not set
>> # CONFIG_KBD_MODE is not set
>> CONFIG_LOADFONT=y
>> +# CONFIG_SETFONT is not set
>> +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
>> +CONFIG_DEFAULT_SETFONT_DIR=""
>> +
>> +#
>> +# Common options for loadfont and setfont
>> +#
>> +# CONFIG_FEATURE_LOADFONT_PSF2 is not set
>> +# CONFIG_FEATURE_LOADFONT_RAW is not set
>> CONFIG_LOADKMAP=y
>> CONFIG_OPENVT=y
>> CONFIG_RESET=y
>> @@ -350,30 +376,20 @@ CONFIG_RESET=y
>> # CONFIG_FEATURE_RESIZE_PRINT is not set
>> CONFIG_SETCONSOLE=y
>> # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
>> -# CONFIG_SETFONT is not set
>> -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
>> -CONFIG_DEFAULT_SETFONT_DIR=""
>> # CONFIG_SETKEYCODES is not set
>> # CONFIG_SETLOGCONS is not set
>> # CONFIG_SHOWKEY is not set
>>
>> #
>> -# Common options for loadfont and setfont
>> -#
>> -# CONFIG_FEATURE_LOADFONT_PSF2 is not set
>> -# CONFIG_FEATURE_LOADFONT_RAW is not set
>> -
>> -#
>> # Debian Utilities
>> #
>> -CONFIG_MKTEMP=y
>> # CONFIG_PIPE_PROGRESS is not set
>> CONFIG_RUN_PARTS=y
>> CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
>> # CONFIG_FEATURE_RUN_PARTS_FANCY is not set
>> CONFIG_START_STOP_DAEMON=y
>> -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
>> CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
>> +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
>> CONFIG_WHICH=y
>>
>> #
>> @@ -436,8 +452,8 @@ CONFIG_FEATURE_FIND_REGEX=y
>> # CONFIG_FEATURE_FIND_CONTEXT is not set
>> # CONFIG_FEATURE_FIND_LINKS is not set
>> CONFIG_GREP=y
>> -CONFIG_FEATURE_GREP_EGREP_ALIAS=y
>> -CONFIG_FEATURE_GREP_FGREP_ALIAS=y
>> +CONFIG_EGREP=y
>> +CONFIG_FGREP=y
>> CONFIG_FEATURE_GREP_CONTEXT=y
>> CONFIG_XARGS=y
>> # CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
>> @@ -453,40 +469,45 @@ CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
>> # CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
>> # CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
>> CONFIG_HALT=y
>> +CONFIG_POWEROFF=y
>> +CONFIG_REBOOT=y
>> # CONFIG_FEATURE_CALL_TELINIT is not set
>> CONFIG_TELINIT_PATH=""
>> # CONFIG_INIT is not set
>> +# CONFIG_LINUXRC is not set
>> # CONFIG_FEATURE_USE_INITTAB is not set
>> # CONFIG_FEATURE_KILL_REMOVED is not set
>> CONFIG_FEATURE_KILL_DELAY=0
>> # CONFIG_FEATURE_INIT_SCTTY is not set
>> # CONFIG_FEATURE_INIT_SYSLOG is not set
>> -# CONFIG_FEATURE_EXTRA_QUIET is not set
>> +# CONFIG_FEATURE_INIT_QUIET is not set
>> # CONFIG_FEATURE_INIT_COREDUMPS is not set
>> -# CONFIG_FEATURE_INITRD is not set
>> CONFIG_INIT_TERMINAL_TYPE=""
>> -CONFIG_MESG=y
>> -# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
>> +# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set
>>
>> #
>> # Login/Password Management Utilities
>> #
>> -# CONFIG_ADD_SHELL is not set
>> -# CONFIG_REMOVE_SHELL is not set
>> # CONFIG_FEATURE_SHADOWPASSWDS is not set
>> # CONFIG_USE_BB_PWD_GRP is not set
>> # CONFIG_USE_BB_SHADOW is not set
>> CONFIG_USE_BB_CRYPT=y
>> # CONFIG_USE_BB_CRYPT_SHA is not set
>> +# CONFIG_ADD_SHELL is not set
>> +# CONFIG_REMOVE_SHELL is not set
>> +# CONFIG_ADDGROUP is not set
>> +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
>> +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
>> # CONFIG_ADDUSER is not set
>> # CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
>> # CONFIG_FEATURE_CHECK_NAMES is not set
>> CONFIG_LAST_ID=60000
>> CONFIG_FIRST_SYSTEM_ID=100
>> CONFIG_LAST_SYSTEM_ID=999
>> -# CONFIG_ADDGROUP is not set
>> -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
>> -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
>> +# CONFIG_CHPASSWD is not set
>> +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
>> +# CONFIG_CRYPTPW is not set
>> +# CONFIG_MKPASSWD is not set
>> # CONFIG_DELUSER is not set
>> # CONFIG_DELGROUP is not set
>> # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
>> @@ -498,12 +519,10 @@ CONFIG_LAST_SYSTEM_ID=999
>> # CONFIG_FEATURE_SECURETTY is not set
>> # CONFIG_PASSWD is not set
>> # CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
>> -# CONFIG_CRYPTPW is not set
>> -# CONFIG_CHPASSWD is not set
>> -CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
>> # CONFIG_SU is not set
>> # CONFIG_FEATURE_SU_SYSLOG is not set
>> # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
>> +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
>> # CONFIG_SULOGIN is not set
>> # CONFIG_VLOCK is not set
>>
>> @@ -518,29 +537,29 @@ CONFIG_FSCK=y
>> #
>> # Linux Module Utilities
>> #
>> -# CONFIG_MODINFO is not set
>> # CONFIG_MODPROBE_SMALL is not set
>> -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
>> -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
>> +CONFIG_DEPMOD=y
>> CONFIG_INSMOD=y
>> -CONFIG_RMMOD=y
>> CONFIG_LSMOD=y
>> # CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
>> +# CONFIG_MODINFO is not set
>> CONFIG_MODPROBE=y
>> # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
>> -CONFIG_DEPMOD=y
>> +CONFIG_RMMOD=y
>>
>> #
>> # Options common to multiple modutils
>> #
>> +CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y
>> +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
>> # CONFIG_FEATURE_2_4_MODULES is not set
>> -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
>> # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
>> # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
>> # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
>> # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
>> # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
>> CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
>> +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
>> CONFIG_FEATURE_MODUTILS_ALIAS=y
>> CONFIG_FEATURE_MODUTILS_SYMBOLS=y
>> CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
>> @@ -549,40 +568,23 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
>> #
>> # Linux System Utilities
>> #
>> -# CONFIG_BLOCKDEV is not set
>> -# CONFIG_FATATTR is not set
>> -CONFIG_FSTRIM=y
>> -# CONFIG_MDEV is not set
>> -# CONFIG_FEATURE_MDEV_CONF is not set
>> -# CONFIG_FEATURE_MDEV_RENAME is not set
>> -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
>> -# CONFIG_FEATURE_MDEV_EXEC is not set
>> -# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
>> -CONFIG_MOUNT=y
>> -# CONFIG_FEATURE_MOUNT_FAKE is not set
>> -# CONFIG_FEATURE_MOUNT_VERBOSE is not set
>> -# CONFIG_FEATURE_MOUNT_HELPERS is not set
>> -# CONFIG_FEATURE_MOUNT_LABEL is not set
>> -# CONFIG_FEATURE_MOUNT_NFS is not set
>> -# CONFIG_FEATURE_MOUNT_CIFS is not set
>> -CONFIG_FEATURE_MOUNT_FLAGS=y
>> -CONFIG_FEATURE_MOUNT_FSTAB=y
>> -# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
>> -# CONFIG_REV is not set
>> -# CONFIG_UEVENT is not set
>> # CONFIG_ACPID is not set
>> # CONFIG_FEATURE_ACPID_COMPAT is not set
>> +# CONFIG_BLKDISCARD is not set
>> # CONFIG_BLKID is not set
>> # CONFIG_FEATURE_BLKID_TYPE is not set
>> +# CONFIG_BLOCKDEV is not set
>> +# CONFIG_CAL is not set
>> CONFIG_DMESG=y
>> CONFIG_FEATURE_DMESG_PRETTY=y
>> +# CONFIG_FALLOCATE is not set
>> +# CONFIG_FATATTR is not set
>> CONFIG_FBSET=y
>> CONFIG_FEATURE_FBSET_FANCY=y
>> CONFIG_FEATURE_FBSET_READMODE=y
>> -# CONFIG_FDFLUSH is not set
>> # CONFIG_FDFORMAT is not set
>> CONFIG_FDISK=y
>> -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
>> +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
>> CONFIG_FEATURE_FDISK_WRITABLE=y
>> # CONFIG_FEATURE_AIX_LABEL is not set
>> # CONFIG_FEATURE_SGI_LABEL is not set
>> @@ -592,43 +594,82 @@ CONFIG_FEATURE_FDISK_WRITABLE=y
>> # CONFIG_FEATURE_FDISK_ADVANCED is not set
>> # CONFIG_FINDFS is not set
>> CONFIG_FLOCK=y
>> +# CONFIG_FDFLUSH is not set
>> # CONFIG_FREERAMDISK is not set
>> # CONFIG_FSCK_MINIX is not set
>> -# CONFIG_MKFS_EXT2 is not set
>> -# CONFIG_MKFS_MINIX is not set
>> -# CONFIG_FEATURE_MINIX2 is not set
>> -# CONFIG_MKFS_REISER is not set
>> -# CONFIG_MKFS_VFAT is not set
>> +# CONFIG_FSFREEZE is not set
>> +CONFIG_FSTRIM=y
>> # CONFIG_GETOPT is not set
>> # CONFIG_FEATURE_GETOPT_LONG is not set
>> CONFIG_HEXDUMP=y
>> # CONFIG_FEATURE_HEXDUMP_REVERSE is not set
>> # CONFIG_HD is not set
>> +# CONFIG_XXD is not set
>> CONFIG_HWCLOCK=y
>> CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
>> CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
>> # CONFIG_IPCRM is not set
>> # CONFIG_IPCS is not set
>> +# CONFIG_LAST is not set
>> +# CONFIG_FEATURE_LAST_FANCY is not set
>> CONFIG_LOSETUP=y
>> # CONFIG_LSPCI is not set
>> # CONFIG_LSUSB is not set
>> +# CONFIG_MDEV is not set
>> +# CONFIG_FEATURE_MDEV_CONF is not set
>> +# CONFIG_FEATURE_MDEV_RENAME is not set
>> +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
>> +# CONFIG_FEATURE_MDEV_EXEC is not set
>> +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
>> +CONFIG_MESG=y
>> +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
>> +# CONFIG_MKE2FS is not set
>> +# CONFIG_MKFS_EXT2 is not set
>> +# CONFIG_MKFS_MINIX is not set
>> +# CONFIG_FEATURE_MINIX2 is not set
>> +# CONFIG_MKFS_REISER is not set
>> +# CONFIG_MKDOSFS is not set
>> +# CONFIG_MKFS_VFAT is not set
>> CONFIG_MKSWAP=y
>> # CONFIG_FEATURE_MKSWAP_UUID is not set
>> CONFIG_MORE=y
>> +CONFIG_MOUNT=y
>> +# CONFIG_FEATURE_MOUNT_FAKE is not set
>> +# CONFIG_FEATURE_MOUNT_VERBOSE is not set
>> +# CONFIG_FEATURE_MOUNT_HELPERS is not set
>> +# CONFIG_FEATURE_MOUNT_LABEL is not set
>> +# CONFIG_FEATURE_MOUNT_NFS is not set
>> +# CONFIG_FEATURE_MOUNT_CIFS is not set
>> +CONFIG_FEATURE_MOUNT_FLAGS=y
>> +CONFIG_FEATURE_MOUNT_FSTAB=y
>> +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
>> +# CONFIG_NSENTER is not set
>> +# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set
>> CONFIG_PIVOT_ROOT=y
>> CONFIG_RDATE=y
>> # CONFIG_RDEV is not set
>> # CONFIG_READPROFILE is not set
>> +CONFIG_RENICE=y
>> +# CONFIG_REV is not set
>> # CONFIG_RTCWAKE is not set
>> # CONFIG_SCRIPT is not set
>> # CONFIG_SCRIPTREPLAY is not set
>> # CONFIG_SETARCH is not set
>> -CONFIG_SWAPONOFF=y
>> +# CONFIG_LINUX32 is not set
>> +# CONFIG_LINUX64 is not set
>> +# CONFIG_SETPRIV is not set
>> +CONFIG_SWAPON=y
>> CONFIG_FEATURE_SWAPON_DISCARD=y
>> CONFIG_FEATURE_SWAPON_PRI=y
>> +CONFIG_SWAPOFF=y
>> CONFIG_SWITCH_ROOT=y
>> +# CONFIG_TASKSET is not set
>> +# CONFIG_FEATURE_TASKSET_FANCY is not set
>> +# CONFIG_UEVENT is not set
>> CONFIG_UMOUNT=y
>> CONFIG_FEATURE_UMOUNT_ALL=y
>> +# CONFIG_UNSHARE is not set
>> +# CONFIG_WALL is not set
>>
>> #
>> # Common options for mount/umount
>> @@ -637,6 +678,7 @@ CONFIG_FEATURE_MOUNT_LOOP=y
>> CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
>> # CONFIG_FEATURE_MTAB_SUPPORT is not set
>> # CONFIG_VOLUMEID is not set
>> +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set
>> # CONFIG_FEATURE_VOLUMEID_BTRFS is not set
>> # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
>> # CONFIG_FEATURE_VOLUMEID_EXFAT is not set
>> @@ -656,17 +698,33 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
>> # CONFIG_FEATURE_VOLUMEID_ROMFS is not set
>> # CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
>> # CONFIG_FEATURE_VOLUMEID_SYSV is not set
>> +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set
>> # CONFIG_FEATURE_VOLUMEID_UDF is not set
>> # CONFIG_FEATURE_VOLUMEID_XFS is not set
>>
>> #
>> # Miscellaneous Utilities
>> #
>> +# CONFIG_BEEP is not set
>> +CONFIG_FEATURE_BEEP_FREQ=0
>> +CONFIG_FEATURE_BEEP_LENGTH_MS=0
>> # CONFIG_CONSPY is not set
>> # CONFIG_CROND is not set
>> # CONFIG_FEATURE_CROND_D is not set
>> # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
>> CONFIG_FEATURE_CROND_DIR=""
>> +# CONFIG_DEVFSD is not set
>> +# CONFIG_DEVFSD_MODLOAD is not set
>> +# CONFIG_DEVFSD_FG_NP is not set
>> +# CONFIG_DEVFSD_VERBOSE is not set
>> +# CONFIG_FEATURE_DEVFS is not set
>> +# CONFIG_HDPARM is not set
>> +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
>> +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
>> +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
>> +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
>> +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
>> +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
>> # CONFIG_I2CGET is not set
>> # CONFIG_I2CSET is not set
>> # CONFIG_I2CDUMP is not set
>> @@ -682,19 +740,19 @@ CONFIG_FEATURE_LESS_FLAGS=y
>> # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
>> # CONFIG_FEATURE_LESS_DASHCMD is not set
>> # CONFIG_FEATURE_LESS_LINENUMS is not set
>> +# CONFIG_LSSCSI is not set
>> # CONFIG_NANDWRITE is not set
>> # CONFIG_NANDDUMP is not set
>> +# CONFIG_PARTPROBE is not set
>> CONFIG_RFKILL=y
>> # CONFIG_SETSERIAL is not set
>> -# CONFIG_TASKSET is not set
>> -# CONFIG_FEATURE_TASKSET_FANCY is not set
>> # CONFIG_UBIATTACH is not set
>> # CONFIG_UBIDETACH is not set
>> # CONFIG_UBIMKVOL is not set
>> # CONFIG_UBIRMVOL is not set
>> # CONFIG_UBIRSVOL is not set
>> # CONFIG_UBIUPDATEVOL is not set
>> -# CONFIG_WALL is not set
>> +# CONFIG_UBIRENAME is not set
>> # CONFIG_ADJTIMEX is not set
>> # CONFIG_BBCONFIG is not set
>> # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
>> @@ -729,7 +787,6 @@ CONFIG_DC=y
>> # CONFIG_IONICE is not set
>> # CONFIG_INOTIFYD is not set
>> # CONFIG_LAST is not set
>> -# CONFIG_FEATURE_LAST_SMALL is not set
>> # CONFIG_FEATURE_LAST_FANCY is not set
>> # CONFIG_HDPARM is not set
>> # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
>> @@ -760,24 +817,6 @@ CONFIG_TIME=y
>> #
>> # Networking Utilities
>> #
>> -# CONFIG_NAMEIF is not set
>> -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
>> -# CONFIG_NBDCLIENT is not set
>> -CONFIG_NC=y
>> -# CONFIG_NC_SERVER is not set
>> -# CONFIG_NC_EXTRA is not set
>> -# CONFIG_NC_110_COMPAT is not set
>> -CONFIG_PING=y
>> -CONFIG_PING6=y
>> -CONFIG_FEATURE_FANCY_PING=y
>> -CONFIG_WGET=y
>> -CONFIG_FEATURE_WGET_STATUSBAR=y
>> -CONFIG_FEATURE_WGET_AUTHENTICATION=y
>> -CONFIG_FEATURE_WGET_LONG_OPTIONS=y
>> -CONFIG_FEATURE_WGET_TIMEOUT=y
>> -# CONFIG_FEATURE_WGET_OPENSSL is not set
>> -# CONFIG_FEATURE_WGET_SSL_HELPER is not set
>> -# CONFIG_WHOIS is not set
>> CONFIG_FEATURE_IPV6=y
>> # CONFIG_FEATURE_UNIX_LOCAL is not set
>> CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
>> @@ -789,15 +828,15 @@ CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
>> # CONFIG_FEATURE_BRCTL_SHOW is not set
>> # CONFIG_DNSD is not set
>> # CONFIG_ETHER_WAKE is not set
>> -# CONFIG_FAKEIDENTD is not set
>> # CONFIG_FTPD is not set
>> -# CONFIG_FEATURE_FTP_WRITE is not set
>> +# CONFIG_FEATURE_FTPD_WRITE is not set
>> # CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
>> -# CONFIG_FEATURE_FTP_AUTHENTICATION is not set
>> +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set
>> # CONFIG_FTPGET is not set
>> # CONFIG_FTPPUT is not set
>> # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
>> CONFIG_HOSTNAME=y
>> +CONFIG_DNSDOMAINNAME=y
>> # CONFIG_HTTPD is not set
>> # CONFIG_FEATURE_HTTPD_RANGES is not set
>> # CONFIG_FEATURE_HTTPD_SETUID is not set
>> @@ -818,11 +857,10 @@ CONFIG_FEATURE_IFCONFIG_HW=y
>> # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
>> # CONFIG_IFENSLAVE is not set
>> # CONFIG_IFPLUGD is not set
>> -CONFIG_IFUPDOWN=y
>> +CONFIG_IFUP=y
>> +CONFIG_IFDOWN=y
>> CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
>> CONFIG_FEATURE_IFUPDOWN_IP=y
>> -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
>> -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
>> CONFIG_FEATURE_IFUPDOWN_IPV4=y
>> CONFIG_FEATURE_IFUPDOWN_IPV6=y
>> CONFIG_FEATURE_IFUPDOWN_MAPPING=y
>> @@ -835,22 +873,31 @@ CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
>> # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
>> # CONFIG_FEATURE_INETD_RPC is not set
>> CONFIG_IP=y
>> +# CONFIG_IPADDR is not set
>> +# CONFIG_IPLINK is not set
>> +# CONFIG_IPROUTE is not set
>> +# CONFIG_IPTUNNEL is not set
>> +# CONFIG_IPRULE is not set
>> +# CONFIG_IPNEIGH is not set
>> CONFIG_FEATURE_IP_ADDRESS=y
>> CONFIG_FEATURE_IP_LINK=y
>> CONFIG_FEATURE_IP_ROUTE=y
>> CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
>> CONFIG_FEATURE_IP_TUNNEL=y
>> # CONFIG_FEATURE_IP_RULE is not set
>> -# CONFIG_FEATURE_IP_SHORT_FORMS is not set
>> +# CONFIG_FEATURE_IP_NEIGH is not set
>> # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
>> -# CONFIG_IPADDR is not set
>> -# CONFIG_IPLINK is not set
>> -# CONFIG_IPROUTE is not set
>> -# CONFIG_IPTUNNEL is not set
>> -# CONFIG_IPRULE is not set
>> # CONFIG_IPCALC is not set
>> -# CONFIG_FEATURE_IPCALC_FANCY is not set
>> # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
>> +# CONFIG_FEATURE_IPCALC_FANCY is not set
>> +# CONFIG_FAKEIDENTD is not set
>> +# CONFIG_NAMEIF is not set
>> +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
>> +# CONFIG_NBDCLIENT is not set
>> +CONFIG_NC=y
>> +# CONFIG_NC_SERVER is not set
>> +# CONFIG_NC_EXTRA is not set
>> +# CONFIG_NC_110_COMPAT is not set
>> CONFIG_NETSTAT=y
>> # CONFIG_FEATURE_NETSTAT_WIDE is not set
>> # CONFIG_FEATURE_NETSTAT_PRG is not set
>> @@ -858,13 +905,19 @@ CONFIG_NSLOOKUP=y
>> # CONFIG_NTPD is not set
>> # CONFIG_FEATURE_NTPD_SERVER is not set
>> # CONFIG_FEATURE_NTPD_CONF is not set
>> +CONFIG_PING=y
>> +CONFIG_PING6=y
>> +CONFIG_FEATURE_FANCY_PING=y
>> # CONFIG_PSCAN is not set
>> CONFIG_ROUTE=y
>> # CONFIG_SLATTACH is not set
>> +# CONFIG_SSL_CLIENT is not set
>> # CONFIG_TCPSVD is not set
>> +# CONFIG_UDPSVD is not set
>> CONFIG_TELNET=y
>> # CONFIG_FEATURE_TELNET_TTYPE is not set
>> CONFIG_FEATURE_TELNET_AUTOLOGIN=y
>> +CONFIG_FEATURE_TELNET_WIDTH=y
>> # CONFIG_TELNETD is not set
>> # CONFIG_FEATURE_TELNETD_STANDALONE is not set
>> # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
>> @@ -879,33 +932,43 @@ CONFIG_FEATURE_TFTP_PUT=y
>> # CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
>> # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
>> # CONFIG_TFTP_DEBUG is not set
>> +CONFIG_TLS=y
>> CONFIG_TRACEROUTE=y
>> # CONFIG_TRACEROUTE6 is not set
>> # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
>> -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
>> # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
>> # CONFIG_TUNCTL is not set
>> # CONFIG_FEATURE_TUNCTL_UG is not set
>> +# CONFIG_VCONFIG is not set
>> +CONFIG_WGET=y
>> +CONFIG_FEATURE_WGET_LONG_OPTIONS=y
>> +CONFIG_FEATURE_WGET_STATUSBAR=y
>> +CONFIG_FEATURE_WGET_AUTHENTICATION=y
>> +CONFIG_FEATURE_WGET_TIMEOUT=y
>> +CONFIG_FEATURE_WGET_HTTPS=y
>> +# CONFIG_FEATURE_WGET_OPENSSL is not set
>> +# CONFIG_WHOIS is not set
>> +# CONFIG_ZCIP is not set
>> # CONFIG_UDHCPC6 is not set
>> +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set
>> +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set
>> +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set
>> CONFIG_UDHCPD=y
>> -# CONFIG_DHCPRELAY is not set
>> -CONFIG_DUMPLEASES=y
>> # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
>> # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
>> CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
>> +CONFIG_DUMPLEASES=y
>> +# CONFIG_DHCPRELAY is not set
>> CONFIG_UDHCPC=y
>> CONFIG_FEATURE_UDHCPC_ARPING=y
>> CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
>> +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
>> # CONFIG_FEATURE_UDHCP_PORT is not set
>> CONFIG_UDHCP_DEBUG=0
>> # CONFIG_FEATURE_UDHCP_RFC3397 is not set
>> # CONFIG_FEATURE_UDHCP_8021Q is not set
>> -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
>> CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
>> -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
>> -# CONFIG_UDPSVD is not set
>> -# CONFIG_VCONFIG is not set
>> -# CONFIG_ZCIP is not set
>> +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"
>>
>> #
>> # Print Utilities
>> @@ -918,26 +981,45 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
>> # Mail Utilities
>> #
>> # CONFIG_MAKEMIME is not set
>> -CONFIG_FEATURE_MIME_CHARSET=""
>> # CONFIG_POPMAILDIR is not set
>> # CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
>> # CONFIG_REFORMIME is not set
>> # CONFIG_FEATURE_REFORMIME_COMPAT is not set
>> # CONFIG_SENDMAIL is not set
>> +CONFIG_FEATURE_MIME_CHARSET=""
>>
>> #
>> # Process Utilities
>> #
>> +CONFIG_FREE=y
>> +CONFIG_FUSER=y
>> # CONFIG_IOSTAT is not set
>> +CONFIG_KILL=y
>> +CONFIG_KILLALL=y
>> +# CONFIG_KILLALL5 is not set
>> # CONFIG_LSOF is not set
>> # CONFIG_MPSTAT is not set
>> # CONFIG_NMETER is not set
>> +# CONFIG_PGREP is not set
>> +# CONFIG_PKILL is not set
>> +CONFIG_PIDOF=y
>> +# CONFIG_FEATURE_PIDOF_SINGLE is not set
>> +# CONFIG_FEATURE_PIDOF_OMIT is not set
>> # CONFIG_PMAP is not set
>> # CONFIG_POWERTOP is not set
>> +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set
>> +CONFIG_PS=y
>> +CONFIG_FEATURE_PS_WIDE=y
>> +CONFIG_FEATURE_PS_LONG=y
>> +# CONFIG_FEATURE_PS_TIME is not set
>> +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
>> +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
>> # CONFIG_PSTREE is not set
>> # CONFIG_PWDX is not set
>> # CONFIG_SMEMCAP is not set
>> +CONFIG_BB_SYSCTL=y
>> CONFIG_TOP=y
>> +# CONFIG_FEATURE_TOP_INTERACTIVE is not set
>> CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
>> CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
>> # CONFIG_FEATURE_TOP_SMP_CPU is not set
>> @@ -946,84 +1028,69 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
>> # CONFIG_FEATURE_TOPMEM is not set
>> CONFIG_UPTIME=y
>> # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
>> -CONFIG_FREE=y
>> -CONFIG_FUSER=y
>> -CONFIG_KILL=y
>> -CONFIG_KILLALL=y
>> -# CONFIG_KILLALL5 is not set
>> -# CONFIG_PGREP is not set
>> -CONFIG_PIDOF=y
>> -# CONFIG_FEATURE_PIDOF_SINGLE is not set
>> -# CONFIG_FEATURE_PIDOF_OMIT is not set
>> -# CONFIG_PKILL is not set
>> -CONFIG_PS=y
>> -CONFIG_FEATURE_PS_WIDE=y
>> -CONFIG_FEATURE_PS_LONG=y
>> -# CONFIG_FEATURE_PS_TIME is not set
>> -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
>> -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
>> -CONFIG_RENICE=y
>> -CONFIG_BB_SYSCTL=y
>> -# CONFIG_FEATURE_SHOW_THREADS is not set
>> CONFIG_WATCH=y
>> +# CONFIG_FEATURE_SHOW_THREADS is not set
>>
>> #
>> # Runit Utilities
>> #
>> +# CONFIG_CHPST is not set
>> +# CONFIG_SETUIDGID is not set
>> +# CONFIG_ENVUIDGID is not set
>> +# CONFIG_ENVDIR is not set
>> +# CONFIG_SOFTLIMIT is not set
>> # CONFIG_RUNSV is not set
>> # CONFIG_RUNSVDIR is not set
>> # CONFIG_FEATURE_RUNSVDIR_LOG is not set
>> # CONFIG_SV is not set
>> CONFIG_SV_DEFAULT_SERVICE_DIR=""
>> +# CONFIG_SVC is not set
>> # CONFIG_SVLOGD is not set
>> -# CONFIG_CHPST is not set
>> -# CONFIG_SETUIDGID is not set
>> -# CONFIG_ENVUIDGID is not set
>> -# CONFIG_ENVDIR is not set
>> -# CONFIG_SOFTLIMIT is not set
>> -
>> -#
>> -# SELinux utilities
>> -#
>> # CONFIG_CHCON is not set
>> # CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
>> # CONFIG_GETENFORCE is not set
>> # CONFIG_GETSEBOOL is not set
>> # CONFIG_LOAD_POLICY is not set
>> # CONFIG_MATCHPATHCON is not set
>> -# CONFIG_RESTORECON is not set
>> # CONFIG_RUNCON is not set
>> # CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
>> # CONFIG_SELINUXENABLED is not set
>> +# CONFIG_SESTATUS is not set
>> # CONFIG_SETENFORCE is not set
>> # CONFIG_SETFILES is not set
>> # CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
>> +# CONFIG_RESTORECON is not set
>> # CONFIG_SETSEBOOL is not set
>> -# CONFIG_SESTATUS is not set
>>
>> #
>> # Shells
>> #
>> +CONFIG_SH_IS_ASH=y
>> +# CONFIG_SH_IS_HUSH is not set
>> +# CONFIG_SH_IS_NONE is not set
>> +# CONFIG_BASH_IS_ASH is not set
>> +# CONFIG_BASH_IS_HUSH is not set
>> +CONFIG_BASH_IS_NONE=y
>> CONFIG_ASH=y
>> +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
>> +CONFIG_ASH_INTERNAL_GLOB=y
>> CONFIG_ASH_BASH_COMPAT=y
>> -# CONFIG_ASH_IDLE_TIMEOUT is not set
>> CONFIG_ASH_JOB_CONTROL=y
>> CONFIG_ASH_ALIAS=y
>> -CONFIG_ASH_GETOPTS=y
>> -CONFIG_ASH_BUILTIN_ECHO=y
>> -CONFIG_ASH_BUILTIN_PRINTF=y
>> -CONFIG_ASH_BUILTIN_TEST=y
>> -CONFIG_ASH_HELP=y
>> -CONFIG_ASH_CMDCMD=y
>> -# CONFIG_ASH_MAIL is not set
>> -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
>> # CONFIG_ASH_RANDOM_SUPPORT is not set
>> CONFIG_ASH_EXPAND_PRMT=y
>> +# CONFIG_ASH_IDLE_TIMEOUT is not set
>> +# CONFIG_ASH_MAIL is not set
>> +CONFIG_ASH_ECHO=y
>> +CONFIG_ASH_PRINTF=y
>> +CONFIG_ASH_TEST=y
>> +CONFIG_ASH_HELP=y
>> +CONFIG_ASH_GETOPTS=y
>> +CONFIG_ASH_CMDCMD=y
>> # CONFIG_CTTYHACK is not set
>> # CONFIG_HUSH is not set
>> # CONFIG_HUSH_BASH_COMPAT is not set
>> # CONFIG_HUSH_BRACE_EXPANSION is not set
>> -# CONFIG_HUSH_HELP is not set
>> # CONFIG_HUSH_INTERACTIVE is not set
>> # CONFIG_HUSH_SAVEHISTORY is not set
>> # CONFIG_HUSH_JOB is not set
>> @@ -1034,17 +1101,30 @@ CONFIG_ASH_EXPAND_PRMT=y
>> # CONFIG_HUSH_FUNCTIONS is not set
>> # CONFIG_HUSH_LOCAL is not set
>> # CONFIG_HUSH_RANDOM_SUPPORT is not set
>> -# CONFIG_HUSH_EXPORT_N is not set
>> # CONFIG_HUSH_MODE_X is not set
>> +# CONFIG_HUSH_ECHO is not set
>> +# CONFIG_HUSH_PRINTF is not set
>> +# CONFIG_HUSH_TEST is not set
>> +# CONFIG_HUSH_HELP is not set
>> +# CONFIG_HUSH_EXPORT is not set
>> +# CONFIG_HUSH_EXPORT_N is not set
>> +# CONFIG_HUSH_KILL is not set
>> +# CONFIG_HUSH_WAIT is not set
>> +# CONFIG_HUSH_TRAP is not set
>> +# CONFIG_HUSH_TYPE is not set
>> +# CONFIG_HUSH_READ is not set
>> +# CONFIG_HUSH_SET is not set
>> +# CONFIG_HUSH_UNSET is not set
>> +# CONFIG_HUSH_ULIMIT is not set
>> +# CONFIG_HUSH_UMASK is not set
>> +# CONFIG_HUSH_MEMLEAK is not set
>> # CONFIG_MSH is not set
>> -CONFIG_FEATURE_SH_IS_ASH=y
>> -# CONFIG_FEATURE_SH_IS_HUSH is not set
>> -# CONFIG_FEATURE_SH_IS_NONE is not set
>> -# CONFIG_FEATURE_BASH_IS_ASH is not set
>> -# CONFIG_FEATURE_BASH_IS_HUSH is not set
>> -CONFIG_FEATURE_BASH_IS_NONE=y
>> -CONFIG_SH_MATH_SUPPORT=y
>> -# CONFIG_SH_MATH_SUPPORT_64 is not set
>> +
>> +#
>> +# Options common to all shells
>> +#
>> +CONFIG_FEATURE_SH_MATH=y
>> +# CONFIG_FEATURE_SH_MATH_64 is not set
>> CONFIG_FEATURE_SH_EXTRA_QUIET=y
>> # CONFIG_FEATURE_SH_STANDALONE is not set
>> # CONFIG_FEATURE_SH_NOFORK is not set
>> @@ -1053,19 +1133,17 @@ CONFIG_FEATURE_SH_HISTFILESIZE=y
>> #
>> # System Logging Utilities
>> #
>> +CONFIG_KLOGD=y
>> +CONFIG_FEATURE_KLOGD_KLOGCTL=y
>> +CONFIG_LOGGER=y
>> +# CONFIG_LOGREAD is not set
>> +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
>> # CONFIG_SYSLOGD is not set
>> # CONFIG_FEATURE_ROTATE_LOGFILE is not set
>> # CONFIG_FEATURE_REMOTE_LOG is not set
>> # CONFIG_FEATURE_SYSLOGD_DUP is not set
>> # CONFIG_FEATURE_SYSLOGD_CFG is not set
>> +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
>> # CONFIG_FEATURE_IPC_SYSLOG is not set
>> -# CONFIG_LOGREAD is not set
>> -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
>> +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
>> # CONFIG_FEATURE_KMSG_SYSLOG is not set
>> -CONFIG_KLOGD=y
>> -
>> -#
>> -# klogd should not be used together with syslog to kernel printk buffer
>> -#
>> -CONFIG_FEATURE_KLOGD_KLOGCTL=y
>> -CONFIG_LOGGER=y
>> diff --git a/meta/recipes-core/busybox/busybox/ip_fix_problem_on_mips64_n64_big_endian_musl_systems.patch b/meta/recipes-core/busybox/busybox/ip_fix_problem_on_mips64_n64_big_endian_musl_systems.patch
>> deleted file mode 100644
>> index 41c5656..0000000
>> --- a/meta/recipes-core/busybox/busybox/ip_fix_problem_on_mips64_n64_big_endian_musl_systems.patch
>> +++ /dev/null
>> @@ -1,90 +0,0 @@
>> -From 4ab372d49a6e82b0bf097dedb96d26330c5f2d5f Mon Sep 17 00:00:00 2001
>> -From: Szabolcs Nagy <nsz at port70.net>
>> -Date: Sun, 24 Apr 2016 17:39:02 +0200
>> -Subject: [PATCH] ip: fix problem on mips64 n64 big endian musl systems
>> -
>> -Use designated initializers for struct msghdr.
>> -The struct layout is non-portable and musl libc does not match what busybox expects.
>> -
>> -Signed-off-by: Szabolcs Nagy <nsz at port70.net>
>> -Tested-by: Waldemar Brodkorb <wbx at openadk.org>
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> -
>> -Upstream-Status: Backport
>> -
>> -https://git.busybox.net/busybox/commit/?id=4ab372d49a6e82b0bf097dedb96d26330c5f2d5f
>> -
>> -Signed-off-by: Armin Kuster <akuster at mvista.com>
>> -
>> ----
>> - networking/libiproute/libnetlink.c | 37 ++++++++++++++++++++++++-------------
>> - 1 file changed, 24 insertions(+), 13 deletions(-)
>> -
>> -diff --git a/networking/libiproute/libnetlink.c b/networking/libiproute/libnetlink.c
>> -index c7533a4..cbb5daf 100644
>> ---- a/networking/libiproute/libnetlink.c
>> -+++ b/networking/libiproute/libnetlink.c
>> -@@ -71,11 +71,15 @@ int FAST_FUNC rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, in
>> - struct nlmsghdr nlh;
>> - struct sockaddr_nl nladdr;
>> - struct iovec iov[2] = { { &nlh, sizeof(nlh) }, { req, len } };
>> -+ /* Use designated initializers, struct layout is non-portable */
>> - struct msghdr msg = {
>> -- (void*)&nladdr, sizeof(nladdr),
>> -- iov, 2,
>> -- NULL, 0,
>> -- 0
>> -+ .msg_name = (void*)&nladdr,
>> -+ .msg_namelen = sizeof(nladdr),
>> -+ .msg_iov = iov,
>> -+ .msg_iovlen = 2,
>> -+ .msg_control = NULL,
>> -+ .msg_controllen = 0,
>> -+ .msg_flags = 0
>> - };
>> -
>> - memset(&nladdr, 0, sizeof(nladdr));
>> -@@ -104,12 +108,15 @@ static int rtnl_dump_filter(struct rtnl_handle *rth,
>> - while (1) {
>> - int status;
>> - struct nlmsghdr *h;
>> --
>> -+ /* Use designated initializers, struct layout is non-portable */
>> - struct msghdr msg = {
>> -- (void*)&nladdr, sizeof(nladdr),
>> -- &iov, 1,
>> -- NULL, 0,
>> -- 0
>> -+ .msg_name = (void*)&nladdr,
>> -+ .msg_namelen = sizeof(nladdr),
>> -+ .msg_iov = &iov,
>> -+ .msg_iovlen = 1,
>> -+ .msg_control = NULL,
>> -+ .msg_controllen = 0,
>> -+ .msg_flags = 0
>> - };
>> -
>> - status = recvmsg(rth->fd, &msg, 0);
>> -@@ -211,11 +218,15 @@ int FAST_FUNC rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
>> - struct sockaddr_nl nladdr;
>> - struct iovec iov = { (void*)n, n->nlmsg_len };
>> - char *buf = xmalloc(8*1024); /* avoid big stack buffer */
>> -+ /* Use designated initializers, struct layout is non-portable */
>> - struct msghdr msg = {
>> -- (void*)&nladdr, sizeof(nladdr),
>> -- &iov, 1,
>> -- NULL, 0,
>> -- 0
>> -+ .msg_name = (void*)&nladdr,
>> -+ .msg_namelen = sizeof(nladdr),
>> -+ .msg_iov = &iov,
>> -+ .msg_iovlen = 1,
>> -+ .msg_control = NULL,
>> -+ .msg_controllen = 0,
>> -+ .msg_flags = 0
>> - };
>> -
>> - memset(&nladdr, 0, sizeof(nladdr));
>> ---
>> -2.3.5
>> -
>> diff --git a/meta/recipes-core/busybox/busybox/makefile-fix-backport.patch b/meta/recipes-core/busybox/busybox/makefile-fix-backport.patch
>> deleted file mode 100644
>> index 2e9842e..0000000
>> --- a/meta/recipes-core/busybox/busybox/makefile-fix-backport.patch
>> +++ /dev/null
>> @@ -1,40 +0,0 @@
>> -From 9e5820a86277818c2f83c11c2aa76d7f0a38283e Mon Sep 17 00:00:00 2001
>> -From: Denys Vlasenko <vda.linux at googlemail.com>
>> -Date: Sun, 14 Aug 2016 02:54:27 +0200
>> -Subject: build system: fix include/NUM_APPLETS.h generation
>> -
>> -TBH, it's more like "work around my bad makefile-fu" than "fix"...
>> -
>> -Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
>> ----
>> - applets/Kbuild.src | 7 ++-----
>> - 1 file changed, 2 insertions(+), 5 deletions(-)
>> -
>> -Upstream-Status: Backport
>> -
>> -diff --git a/applets/Kbuild.src b/applets/Kbuild.src
>> -index b612399..5cc1827 100644
>> ---- a/applets/Kbuild.src
>> -+++ b/applets/Kbuild.src
>> -@@ -29,7 +29,7 @@ applets/applets.o: include/usage_compressed.h include/applet_tables.h
>> -
>> - applets/applet_tables: .config include/applets.h
>> - applets/usage: .config include/applets.h
>> --applets/usage_pod: .config include/applet_tables.h include/applets.h
>> -+applets/usage_pod: .config include/applets.h include/applet_tables.h include/NUM_APPLETS.h
>> -
>> - quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
>> - cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
>> -@@ -40,8 +40,5 @@ include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compress
>> - quiet_cmd_gen_applet_tables = GEN include/applet_tables.h
>> - cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h
>> -
>> --include/applet_tables.h: applets/applet_tables
>> -- $(call cmd,gen_applet_tables)
>> --
>> --include/NUM_APPLETS.h: applets/applet_tables
>> -+include/applet_tables.h include/NUM_APPLETS.h: applets/applet_tables
>> - $(call cmd,gen_applet_tables)
>> ---
>> -cgit v0.12
>> -
>> diff --git a/meta/recipes-core/busybox/busybox_1.24.1.bb b/meta/recipes-core/busybox/busybox_1.27.2.bb
>> similarity index 57%
>> rename from meta/recipes-core/busybox/busybox_1.24.1.bb
>> rename to meta/recipes-core/busybox/busybox_1.27.2.bb
>> index 1c85808..47b4f48 100644
>> --- a/meta/recipes-core/busybox/busybox_1.24.1.bb
>> +++ b/meta/recipes-core/busybox/busybox_1.27.2.bb
>> @@ -29,10 +29,6 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
>> file://recognize_connmand.patch \
>> file://busybox-cross-menuconfig.patch \
>> file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \
>> - file://busybox-1.24.1-unzip.patch \
>> - file://busybox-1.24.1-unzip-regression.patch \
>> - file://busybox-1.24.1-truncate-open-mode.patch \
>> - file://0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch \
>> file://mount-via-label.cfg \
>> file://sha1sum.cfg \
>> file://sha256sum.cfg \
>> @@ -45,24 +41,9 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
>> file://rcS \
>> file://rcK \
>> file://runlevel \
>> - file://CVE-2016-2148.patch \
>> - file://CVE-2016-2147.patch \
>> - file://CVE-2016-2147_2.patch \
>> - file://CVE-2016-6301.patch \
>> - file://ip_fix_problem_on_mips64_n64_big_endian_musl_systems.patch \
>> - file://makefile-fix-backport.patch \
>> - file://0001-sed-fix-sed-n-flushes-pattern-space-terminates-early.patch \
>> - file://busybox-kbuild-race-fix-commit-d8e61bb.patch \
>> - file://commit-applet_tables-fix-commit-0dddbc1.patch \
>> file://makefile-libbb-race.patch \
>> - file://0001-libiproute-handle-table-ids-larger-than-255.patch \
>> - file://ifupdown-pass-interface-device-name-for-ipv6-route-c.patch \
>> - file://BUG9071_buffer_overflow_arp.patch \
>> - file://busybox-tar-add-IF_FEATURE_-checks.patch \
>> - file://0001-iproute-support-scope-.-Closes-8561.patch \
>> - file://0001-ip-fix-an-improper-optimization-req.r.rtm_scope-may-.patch \
>> "
>> SRC_URI_append_libc-musl = " file://musl.cfg "
>>
>> -SRC_URI[tarball.md5sum] = "be98a40cadf84ce2d6b05fa41a275c6a"
>> -SRC_URI[tarball.sha256sum] = "37d03132cc078937360b392170b7a1d0e5b322eee9f57c0b82292a8b1f0afe3d"
>> +SRC_URI[tarball.md5sum] = "476186f4bab81781dab2369bfd42734e"
>> +SRC_URI[tarball.sha256sum] = "9d4be516b61e6480f156b11eb42577a13529f75d3383850bb75c50c285de63df"
>
>
More information about the Openembedded-core
mailing list