summaryrefslogtreecommitdiffstats
path: root/yocto-poky/meta/recipes-core/busybox/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/meta/recipes-core/busybox/busybox')
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/0001-Switch-to-POSIX-utmpx-API.patch388
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/0001-chown-fix-help-text.patch34
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/0001-ifconfig-fix-double-free-fatal-error-in-INET_sprint.patch67
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/0001-randconfig-fix.patch33
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/0002-Passthrough-r-to-linker.patch32
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch81
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch143
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch118
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch37
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/defconfig63
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/fail_on_no_media.patch3
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/get_header_tar.patch22
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/init.cfg3
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/mdev.cfg11
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/musl.cfg12
-rw-r--r--yocto-poky/meta/recipes-core/busybox/busybox/resize.cfg2
16 files changed, 411 insertions, 638 deletions
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/0001-Switch-to-POSIX-utmpx-API.patch b/yocto-poky/meta/recipes-core/busybox/busybox/0001-Switch-to-POSIX-utmpx-API.patch
deleted file mode 100644
index 1d299eec9..000000000
--- a/yocto-poky/meta/recipes-core/busybox/busybox/0001-Switch-to-POSIX-utmpx-API.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-From 86a7f18f211af1abda5c855d2674b0fcb53de524 Mon Sep 17 00:00:00 2001
-From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-Date: Thu, 2 Apr 2015 23:03:46 +0200
-Subject: [PATCH] *: Switch to POSIX utmpx API
-
-UTMP is SVID legacy, UTMPX is mandated by POSIX.
-
-Glibc and uClibc have identical layout of UTMP and UTMPX, both of these
-libc treat _PATH_UTMPX as _PATH_UTMP so from a user-perspective nothing
-changes except the names of the API entrypoints.
-
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
-Upstream-Status: Backport
-
- coreutils/who.c | 8 ++++----
- include/libbb.h | 2 +-
- init/halt.c | 4 ++--
- libbb/utmp.c | 44 ++++++++++++++++++++++----------------------
- miscutils/last.c | 8 ++++----
- miscutils/last_fancy.c | 16 ++++++++++------
- miscutils/runlevel.c | 12 ++++++------
- miscutils/wall.c | 8 ++++----
- procps/uptime.c | 6 +++---
- 9 files changed, 56 insertions(+), 52 deletions(-)
-
-diff --git a/coreutils/who.c b/coreutils/who.c
-index f955ce6..8337212 100644
---- a/coreutils/who.c
-+++ b/coreutils/who.c
-@@ -73,7 +73,7 @@ static void idle_string(char *str6, time_t t)
- int who_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int who_main(int argc UNUSED_PARAM, char **argv)
- {
-- struct utmp *ut;
-+ struct utmpx *ut;
- unsigned opt;
- int do_users = (ENABLE_USERS && (!ENABLE_WHO || applet_name[0] == 'u'));
- const char *fmt = "%s";
-@@ -83,8 +83,8 @@ int who_main(int argc UNUSED_PARAM, char **argv)
- if (opt & 2) // -H
- printf("USER\t\tTTY\t\tIDLE\tTIME\t\t HOST\n");
-
-- setutent();
-- while ((ut = getutent()) != NULL) {
-+ setutxent();
-+ while ((ut = getutxent()) != NULL) {
- if (ut->ut_user[0]
- && ((opt & 1) || ut->ut_type == USER_PROCESS)
- ) {
-@@ -126,6 +126,6 @@ int who_main(int argc UNUSED_PARAM, char **argv)
- if (do_users)
- bb_putchar('\n');
- if (ENABLE_FEATURE_CLEAN_UP)
-- endutent();
-+ endutxent();
- return EXIT_SUCCESS;
- }
-diff --git a/include/libbb.h b/include/libbb.h
-index 26b6868..0f8363b 100644
---- a/include/libbb.h
-+++ b/include/libbb.h
-@@ -84,7 +84,7 @@
- # include <selinux/av_permissions.h>
- #endif
- #if ENABLE_FEATURE_UTMP
--# include <utmp.h>
-+# include <utmpx.h>
- #endif
- #if ENABLE_LOCALE_SUPPORT
- # include <locale.h>
-diff --git a/init/halt.c b/init/halt.c
-index 7974adb..ad12d91 100644
---- a/init/halt.c
-+++ b/init/halt.c
-@@ -74,7 +74,7 @@
-
- static void write_wtmp(void)
- {
-- struct utmp utmp;
-+ struct utmpx utmp;
- struct utsname uts;
- /* "man utmp" says wtmp file should *not* be created automagically */
- /*if (access(bb_path_wtmp_file, R_OK|W_OK) == -1) {
-@@ -88,7 +88,7 @@ static void write_wtmp(void)
- utmp.ut_line[0] = '~'; utmp.ut_line[1] = '~'; /* = strcpy(utmp.ut_line, "~~"); */
- uname(&uts);
- safe_strncpy(utmp.ut_host, uts.release, sizeof(utmp.ut_host));
-- updwtmp(bb_path_wtmp_file, &utmp);
-+ updwtmpx(bb_path_wtmp_file, &utmp);
- }
- #else
- #define write_wtmp() ((void)0)
-diff --git a/libbb/utmp.c b/libbb/utmp.c
-index 8ad9ba2..bd07670 100644
---- a/libbb/utmp.c
-+++ b/libbb/utmp.c
-@@ -16,7 +16,7 @@ static void touch(const char *filename)
-
- void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, const char *username, const char *hostname)
- {
-- struct utmp utent;
-+ struct utmpx utent;
- char *id;
- unsigned width;
-
-@@ -45,17 +45,17 @@ void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, con
- tty_name += 3;
- strncpy(id, tty_name, width);
-
-- touch(_PATH_UTMP);
-- //utmpname(_PATH_UTMP);
-- setutent();
-+ touch(_PATH_UTMPX);
-+ //utmpxname(_PATH_UTMPX);
-+ setutxent();
- /* Append new one (hopefully, unless we collide on ut_id) */
-- pututline(&utent);
-- endutent();
-+ pututxline(&utent);
-+ endutxent();
-
- #if ENABLE_FEATURE_WTMP
- /* "man utmp" says wtmp file should *not* be created automagically */
- /*touch(bb_path_wtmp_file);*/
-- updwtmp(bb_path_wtmp_file, &utent);
-+ updwtmpx(bb_path_wtmp_file, &utent);
- #endif
- }
-
-@@ -64,17 +64,17 @@ void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, con
- */
- void FAST_FUNC update_utmp(pid_t pid, int new_type, const char *tty_name, const char *username, const char *hostname)
- {
-- struct utmp utent;
-- struct utmp *utp;
-+ struct utmpx utent;
-+ struct utmpx *utp;
-
-- touch(_PATH_UTMP);
-- //utmpname(_PATH_UTMP);
-- setutent();
-+ touch(_PATH_UTMPX);
-+ //utmpxname(_PATH_UTMPX);
-+ setutxent();
-
- /* Did init/getty/telnetd/sshd/... create an entry for us?
- * It should be (new_type-1), but we'd also reuse
- * any other potentially stale xxx_PROCESS entry */
-- while ((utp = getutent()) != NULL) {
-+ while ((utp = getutxent()) != NULL) {
- if (utp->ut_pid == pid
- // && ut->ut_line[0]
- && utp->ut_id[0] /* must have nonzero id */
-@@ -88,25 +88,25 @@ void FAST_FUNC update_utmp(pid_t pid, int new_type, const char *tty_name, const
- /* Stale record. Nuke hostname */
- memset(utp->ut_host, 0, sizeof(utp->ut_host));
- }
-- /* NB: pututline (see later) searches for matching utent
-- * using getutid(utent) - we must not change ut_id
-+ /* NB: pututxline (see later) searches for matching utxent
-+ * using getutxid(utent) - we must not change ut_id
- * if we want *exactly this* record to be overwritten!
- */
- break;
- }
- }
-- //endutent(); - no need, pututline can deal with (and actually likes)
-+ //endutxent(); - no need, pututxline can deal with (and actually likes)
- //the situation when utmp file is positioned on found record
-
- if (!utp) {
- if (new_type != DEAD_PROCESS)
- write_new_utmp(pid, new_type, tty_name, username, hostname);
- else
-- endutent();
-+ endutxent();
- return;
- }
-
-- /* Make a copy. We can't use *utp, pututline's internal getutid
-+ /* Make a copy. We can't use *utp, pututxline's internal getutxid
- * will overwrite it before it is used! */
- utent = *utp;
-
-@@ -120,14 +120,14 @@ void FAST_FUNC update_utmp(pid_t pid, int new_type, const char *tty_name, const
- utent.ut_tv.tv_sec = time(NULL);
-
- /* Update, or append new one */
-- //setutent();
-- pututline(&utent);
-- endutent();
-+ //setutxent();
-+ pututxline(&utent);
-+ endutxent();
-
- #if ENABLE_FEATURE_WTMP
- /* "man utmp" says wtmp file should *not* be created automagically */
- /*touch(bb_path_wtmp_file);*/
-- updwtmp(bb_path_wtmp_file, &utent);
-+ updwtmpx(bb_path_wtmp_file, &utent);
- #endif
- }
-
-diff --git a/miscutils/last.c b/miscutils/last.c
-index a144c7e..6d8b584 100644
---- a/miscutils/last.c
-+++ b/miscutils/last.c
-@@ -32,21 +32,21 @@
-
- #if defined UT_LINESIZE \
- && ((UT_LINESIZE != 32) || (UT_NAMESIZE != 32) || (UT_HOSTSIZE != 256))
--#error struct utmp member char[] size(s) have changed!
-+#error struct utmpx member char[] size(s) have changed!
- #elif defined __UT_LINESIZE \
- && ((__UT_LINESIZE != 32) || (__UT_NAMESIZE != 64) || (__UT_HOSTSIZE != 256))
--#error struct utmp member char[] size(s) have changed!
-+#error struct utmpx member char[] size(s) have changed!
- #endif
-
- #if EMPTY != 0 || RUN_LVL != 1 || BOOT_TIME != 2 || NEW_TIME != 3 || \
- OLD_TIME != 4
--#error Values for the ut_type field of struct utmp changed
-+#error Values for the ut_type field of struct utmpx changed
- #endif
-
- int last_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int last_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
- {
-- struct utmp ut;
-+ struct utmpx ut;
- int n, file = STDIN_FILENO;
- time_t t_tmp;
- off_t pos;
-diff --git a/miscutils/last_fancy.c b/miscutils/last_fancy.c
-index 16ed9e9..8194e31 100644
---- a/miscutils/last_fancy.c
-+++ b/miscutils/last_fancy.c
-@@ -22,6 +22,10 @@
- #define HEADER_LINE_WIDE "USER", "TTY", \
- INET6_ADDRSTRLEN, INET6_ADDRSTRLEN, "HOST", "LOGIN", " TIME", ""
-
-+#if !defined __UT_LINESIZE && defined UT_LINESIZE
-+# define __UT_LINESIZE UT_LINESIZE
-+#endif
-+
- enum {
- NORMAL,
- LOGGED,
-@@ -39,7 +43,7 @@ enum {
-
- #define show_wide (option_mask32 & LAST_OPT_W)
-
--static void show_entry(struct utmp *ut, int state, time_t dur_secs)
-+static void show_entry(struct utmpx *ut, int state, time_t dur_secs)
- {
- unsigned days, hours, mins;
- char duration[sizeof("(%u+02:02)") + sizeof(int)*3];
-@@ -104,7 +108,7 @@ static void show_entry(struct utmp *ut, int state, time_t dur_secs)
- duration_str);
- }
-
--static int get_ut_type(struct utmp *ut)
-+static int get_ut_type(struct utmpx *ut)
- {
- if (ut->ut_line[0] == '~') {
- if (strcmp(ut->ut_user, "shutdown") == 0) {
-@@ -142,7 +146,7 @@ static int get_ut_type(struct utmp *ut)
- return ut->ut_type;
- }
-
--static int is_runlevel_shutdown(struct utmp *ut)
-+static int is_runlevel_shutdown(struct utmpx *ut)
- {
- if (((ut->ut_pid & 255) == '0') || ((ut->ut_pid & 255) == '6')) {
- return 1;
-@@ -154,7 +158,7 @@ static int is_runlevel_shutdown(struct utmp *ut)
- int last_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int last_main(int argc UNUSED_PARAM, char **argv)
- {
-- struct utmp ut;
-+ struct utmpx ut;
- const char *filename = _PATH_WTMP;
- llist_t *zlist;
- off_t pos;
-@@ -242,9 +246,9 @@ int last_main(int argc UNUSED_PARAM, char **argv)
- {
- llist_t *el, *next;
- for (el = zlist; el; el = next) {
-- struct utmp *up = (struct utmp *)el->data;
-+ struct utmpx *up = (struct utmpx *)el->data;
- next = el->link;
-- if (strncmp(up->ut_line, ut.ut_line, UT_LINESIZE) == 0) {
-+ if (strncmp(up->ut_line, ut.ut_line, __UT_LINESIZE) == 0) {
- if (show) {
- show_entry(&ut, NORMAL, up->ut_tv.tv_sec);
- show = 0;
-diff --git a/miscutils/runlevel.c b/miscutils/runlevel.c
-index 76231df..8558db8 100644
---- a/miscutils/runlevel.c
-+++ b/miscutils/runlevel.c
-@@ -29,19 +29,19 @@
- int runlevel_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int runlevel_main(int argc UNUSED_PARAM, char **argv)
- {
-- struct utmp *ut;
-+ struct utmpx *ut;
- char prev;
-
-- if (argv[1]) utmpname(argv[1]);
-+ if (argv[1]) utmpxname(argv[1]);
-
-- setutent();
-- while ((ut = getutent()) != NULL) {
-+ setutxent();
-+ while ((ut = getutxent()) != NULL) {
- if (ut->ut_type == RUN_LVL) {
- prev = ut->ut_pid / 256;
- if (prev == 0) prev = 'N';
- printf("%c %c\n", prev, ut->ut_pid % 256);
- if (ENABLE_FEATURE_CLEAN_UP)
-- endutent();
-+ endutxent();
- return 0;
- }
- }
-@@ -49,6 +49,6 @@ int runlevel_main(int argc UNUSED_PARAM, char **argv)
- puts("unknown");
-
- if (ENABLE_FEATURE_CLEAN_UP)
-- endutent();
-+ endutxent();
- return 1;
- }
-diff --git a/miscutils/wall.c b/miscutils/wall.c
-index bb709ee..50658f4 100644
---- a/miscutils/wall.c
-+++ b/miscutils/wall.c
-@@ -32,7 +32,7 @@
- int wall_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int wall_main(int argc UNUSED_PARAM, char **argv)
- {
-- struct utmp *ut;
-+ struct utmpx *ut;
- char *msg;
- int fd;
-
-@@ -46,8 +46,8 @@ int wall_main(int argc UNUSED_PARAM, char **argv)
- msg = xmalloc_read(fd, NULL);
- if (ENABLE_FEATURE_CLEAN_UP && argv[1])
- close(fd);
-- setutent();
-- while ((ut = getutent()) != NULL) {
-+ setutxent();
-+ while ((ut = getutxent()) != NULL) {
- char *line;
- if (ut->ut_type != USER_PROCESS)
- continue;
-@@ -56,7 +56,7 @@ int wall_main(int argc UNUSED_PARAM, char **argv)
- free(line);
- }
- if (ENABLE_FEATURE_CLEAN_UP) {
-- endutent();
-+ endutxent();
- free(msg);
- }
- return EXIT_SUCCESS;
-diff --git a/procps/uptime.c b/procps/uptime.c
-index 778812a..149bae6 100644
---- a/procps/uptime.c
-+++ b/procps/uptime.c
-@@ -81,10 +81,10 @@ int uptime_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
-
- #if ENABLE_FEATURE_UPTIME_UTMP_SUPPORT
- {
-- struct utmp *ut;
-+ struct utmpx *ut;
- unsigned users = 0;
-- while ((ut = getutent()) != NULL) {
-- if ((ut->ut_type == USER_PROCESS) && (ut->ut_name[0] != '\0'))
-+ while ((ut = getutxent()) != NULL) {
-+ if ((ut->ut_type == USER_PROCESS) && (ut->ut_user[0] != '\0'))
- users++;
- }
- printf(", %u users", users);
---
-2.5.1
-
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/0001-chown-fix-help-text.patch b/yocto-poky/meta/recipes-core/busybox/busybox/0001-chown-fix-help-text.patch
deleted file mode 100644
index 429979966..000000000
--- a/yocto-poky/meta/recipes-core/busybox/busybox/0001-chown-fix-help-text.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d291c2fdd5cb8616605c67ecbfb04274fa094242 Mon Sep 17 00:00:00 2001
-From: Junling Zheng <zhengjunling@huawei.com>
-Date: Sun, 7 Jun 2015 02:32:23 +0200
-Subject: [PATCH] chown: fix help text
-
-Derived from:
-http://git.busybox.net/busybox/commit/?id=d291c2fdd5cb8616605c67ecbfb04274fa094242.
-
-Only when DESKTOP is enabled, chown has -L, -H and -P options.
-
-Upstream-Status: Backport
-
-Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- coreutils/chown.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/coreutils/chown.c b/coreutils/chown.c
-index cb07bbc..679c0d8 100644
---- a/coreutils/chown.c
-+++ b/coreutils/chown.c
-@@ -11,7 +11,7 @@
- /* http://www.opengroup.org/onlinepubs/007904975/utilities/chown.html */
-
- //usage:#define chown_trivial_usage
--//usage: "[-RhLHP"IF_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..."
-+//usage: "[-Rh"IF_DESKTOP("LHPcvf")"]... OWNER[<.|:>[GROUP]] FILE..."
- //usage:#define chown_full_usage "\n\n"
- //usage: "Change the owner and/or group of each FILE to OWNER and/or GROUP\n"
- //usage: "\n -R Recurse"
---
-1.8.3.4
-
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/0001-ifconfig-fix-double-free-fatal-error-in-INET_sprint.patch b/yocto-poky/meta/recipes-core/busybox/busybox/0001-ifconfig-fix-double-free-fatal-error-in-INET_sprint.patch
deleted file mode 100644
index 2d729b1b0..000000000
--- a/yocto-poky/meta/recipes-core/busybox/busybox/0001-ifconfig-fix-double-free-fatal-error-in-INET_sprint.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From a97777889328157bb7d06ec618bad16712a9c345 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Tue, 3 Feb 2015 12:11:30 +0100
-Subject: [PATCH] ifconfig: fix double free fatal error in INET_sprint
-
-Derived from:
-http://git.busybox.net/busybox/commit/?id=a97777889328157bb7d06ec618bad16712a9c345.
-
-While INET_sprint or INET6_sprint is called circularly by keeping
-ifconfiging, sap->sa_family would be cleaned by other parallel processes
-such as dhclient sometimes, and then there would be a double free error
-like the following:
-
- *** glibc detected *** ifconfig: double free or corruption (fasttop): 0x000a6008 ***
- ======= Backtrace: =========
- /lib/libc.so.6(+0x6bc84)[0x40133c84]
- /lib/libc.so.6(cfree+0x94)[0x40138684]
- ifconfig[0x1c460]
- ifconfig[0x1c6a0]
- ifconfig[0x1ccf4]
- ifconfig[0x187c8]
- ifconfig[0xd544]
- ifconfig[0xd5dc]
- ifconfig[0xdca8]
- /lib/libc.so.6(__libc_start_main+0x110)[0x400df258]
- ======= Memory map: ========
- 00008000-0009c000 r-xp 00000000 1f:05 444328 /bin/busybox
- 000a3000-000a4000 rw-p 00093000 1f:05 444328 /bin/busybox
-
-This patch moved free() two lines down to address this problem.
-
-Upstream-Status: Backport
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- networking/interface.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/networking/interface.c b/networking/interface.c
-index bf7d2b1..b0572d0 100644
---- a/networking/interface.c
-+++ b/networking/interface.c
-@@ -91,9 +91,9 @@ static const char* FAST_FUNC INET_sprint(struct sockaddr *sap, int numeric)
- {
- static char *buff; /* defaults to NULL */
-
-- free(buff);
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return "[NONE SET]";
-+ free(buff);
- buff = INET_rresolve((struct sockaddr_in *) sap, numeric, 0xffffff00);
- return buff;
- }
-@@ -173,9 +173,9 @@ static const char* FAST_FUNC INET6_sprint(struct sockaddr *sap, int numeric)
- {
- static char *buff;
-
-- free(buff);
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return "[NONE SET]";
-+ free(buff);
- buff = INET6_rresolve((struct sockaddr_in6 *) sap, numeric);
- return buff;
- }
---
-1.8.3.4
-
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/0001-randconfig-fix.patch b/yocto-poky/meta/recipes-core/busybox/busybox/0001-randconfig-fix.patch
deleted file mode 100644
index 415ec3409..000000000
--- a/yocto-poky/meta/recipes-core/busybox/busybox/0001-randconfig-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-If CONFIG_FEATURE_LAST_SMALL is enabled the build fails because of a broken
-__UT_NAMESIZE test.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 932302666b0354ede63504d1bef8393cab28db8b Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Sun, 11 Oct 2015 16:58:18 +0200
-Subject: [PATCH] randconfig fix
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- miscutils/last.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/miscutils/last.c b/miscutils/last.c
-index 6d8b584..f8f3437 100644
---- a/miscutils/last.c
-+++ b/miscutils/last.c
-@@ -34,7 +34,8 @@
- && ((UT_LINESIZE != 32) || (UT_NAMESIZE != 32) || (UT_HOSTSIZE != 256))
- #error struct utmpx member char[] size(s) have changed!
- #elif defined __UT_LINESIZE \
-- && ((__UT_LINESIZE != 32) || (__UT_NAMESIZE != 64) || (__UT_HOSTSIZE != 256))
-+ && ((__UT_LINESIZE != 32) || (__UT_NAMESIZE != 32) || (__UT_HOSTSIZE != 256))
-+/* __UT_NAMESIZE was checked with 64 above, but glibc-2.11 definitely uses 32! */
- #error struct utmpx member char[] size(s) have changed!
- #endif
-
---
-2.6.4
-
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/0002-Passthrough-r-to-linker.patch b/yocto-poky/meta/recipes-core/busybox/busybox/0002-Passthrough-r-to-linker.patch
deleted file mode 100644
index de286fb74..000000000
--- a/yocto-poky/meta/recipes-core/busybox/busybox/0002-Passthrough-r-to-linker.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From df2cc76cdebc4773361477f3db203790f6986e3b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Aug 2015 23:42:40 -0700
-Subject: [PATCH 2/2] Passthrough -r to linker
-
-clang does not have -r switch and it does not pass it down to linker
-either, LDFLAGS_RELOCATABLE is used when CC is used for LD, so this
-should not cause side effects
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 9da02cb..10dd4a9 100644
---- a/Makefile
-+++ b/Makefile
-@@ -309,7 +309,7 @@ CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise $(C
- MODFLAGS = -DMODULE
- CFLAGS_MODULE = $(MODFLAGS)
- AFLAGS_MODULE = $(MODFLAGS)
--LDFLAGS_RELOCATABLE = -r -nostdlib
-+LDFLAGS_RELOCATABLE = -Xlinker -r -nostdlib
- LDFLAGS_MODULE = $(LDFLAGS_RELOCATABLE)
- CFLAGS_KERNEL =
- AFLAGS_KERNEL =
---
-2.1.4
-
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch b/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch
new file mode 100644
index 000000000..cdc91082b
--- /dev/null
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-truncate-open-mode.patch
@@ -0,0 +1,81 @@
+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@gmail.com>
+
+From be729c1d3b5c923f10871dd68ea94156d0f8c803 Mon Sep 17 00:00:00 2001
+From: Ari Sundholm <ari@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@tuxera.com>
+Signed-off-by: Mike Frysinger <vapier@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/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch b/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch
new file mode 100644
index 000000000..e3c502091
--- /dev/null
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip-regression.patch
@@ -0,0 +1,143 @@
+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@gmail.com>
+
+From 092fabcf1df5d46cd22be4ffcd3b871f6180eb9c Mon Sep 17 00:00:00 2001
+From: Denys Vlasenko <vda.linux@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@googlemail.com>
+(cherry picked from commit 6bd3fff51aa74e2ee2d87887b12182a3b09792ef)
+Signed-off-by: Mike Frysinger <vapier@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/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch b/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch
new file mode 100644
index 000000000..718672695
--- /dev/null
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/busybox-1.24.1-unzip.patch
@@ -0,0 +1,118 @@
+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@gmail.com>
+
+From 1de25a6e87e0e627aa34298105a3d17c60a1f44e Mon Sep 17 00:00:00 2001
+From: Denys Vlasenko <vda.linux@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@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/yocto-poky/meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch b/yocto-poky/meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch
deleted file mode 100644
index de2dbcceb..000000000
--- a/yocto-poky/meta/recipes-core/busybox/busybox/busybox-appletlib-dependency.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Pending
-
-# copy commit message from OE as the patch comment:
-# commit 98c24291aa165f53423c27ae033831ce0b3bb676
-# Author: Roman I Khimov <khimov@altell.ru>
-# Date: Thu Mar 26 23:03:58 2009 +0000
-#
-# busybox: update appletlib dependency patch
-#
-# Previous version still failed from time to time on clean-start builds
-# with 4 bitbake threads and '-j16'. Building busybox as sole target worked
-# well.
-#
-# The reason is that previous version introduced a race between applets make
-# processes spawned from top-level Makefile and from libbb Makefile.
-#
-# Fix it with high-level dependency that doesn't create races.
-#
-# Signed-off-by: Koen Kooi <koen@openembedded.org>
-#
-# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
-
-Index: busybox-1.13.2/Makefile
-===================================================================
---- busybox-1.13.2.orig/Makefile 2009-03-19 15:44:37.419270265 +0300
-+++ busybox-1.13.2/Makefile 2009-03-19 15:45:57.737521296 +0300
-@@ -471,6 +471,10 @@
- util-linux/ \
- util-linux/volume_id/ \
-
-+# Lib interdeps
-+# libbb uses headers generated in applets
-+libbb: applets
-+
- endif # KBUILD_EXTMOD
-
- ifeq ($(dot-config),1)
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/defconfig b/yocto-poky/meta/recipes-core/busybox/busybox/defconfig
index 4f5df9ebe..ffea6be87 100644
--- a/yocto-poky/meta/recipes-core/busybox/busybox/defconfig
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.23.2
-# Thu Jul 30 11:00:00 2015
+# Busybox version: 1.24.1
+# Tue Oct 31 11:00:00 2015
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -52,7 +52,7 @@ CONFIG_FEATURE_SUID_CONFIG_QUIET=y
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
+# CONFIG_FEATURE_HAVE_RPC is not set
#
# Build Options
@@ -64,9 +64,9 @@ CONFIG_FEATURE_HAVE_RPC=y
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
-# CONFIG_CROSS_COMPILER_PREFIX is not set
+CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
-# CONFIG_EXTRA_CFLAGS is not set
+CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
@@ -156,6 +156,7 @@ CONFIG_CPIO=y
CONFIG_GZIP=y
# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
CONFIG_GZIP_FAST=0
+# CONFIG_FEATURE_GZIP_LEVELS is not set
# CONFIG_LZOP is not set
# CONFIG_LZOP_COMPR_HIGH is not set
# CONFIG_RPM is not set
@@ -183,10 +184,17 @@ 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
@@ -195,6 +203,7 @@ 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
@@ -211,10 +220,6 @@ CONFIG_CHROOT=y
CONFIG_CP=y
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
CONFIG_CUT=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_DF=y
# CONFIG_FEATURE_DF_FANCY is not set
CONFIG_DIRNAME=y
@@ -283,7 +288,6 @@ CONFIG_STAT=y
CONFIG_FEATURE_STAT_FORMAT=y
CONFIG_STTY=y
# CONFIG_SUM is not set
-CONFIG_SYNC=y
# CONFIG_TAC is not set
CONFIG_TAIL=y
CONFIG_FEATURE_FANCY_TAIL=y
@@ -292,6 +296,7 @@ CONFIG_TEE=y
CONFIG_TRUE=y
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
@@ -553,7 +558,18 @@ CONFIG_FSTRIM=y
# 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_BLKID is not set
@@ -599,15 +615,6 @@ CONFIG_LOSETUP=y
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=y
-# CONFIG_FEATURE_MOUNT_CIFS is not set
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_PIVOT_ROOT=y
CONFIG_RDATE=y
# CONFIG_RDEV is not set
@@ -660,10 +667,15 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
CONFIG_FEATURE_CROND_DIR=""
+# CONFIG_I2CGET is not set
+# CONFIG_I2CSET is not set
+# CONFIG_I2CDUMP is not set
+# CONFIG_I2CDETECT is not set
CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_TRUNCATE is not set
# CONFIG_FEATURE_LESS_MARKS is not set
# CONFIG_FEATURE_LESS_REGEXP is not set
# CONFIG_FEATURE_LESS_WINCH is not set
@@ -758,6 +770,13 @@ CONFIG_NC=y
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
@@ -819,6 +838,7 @@ CONFIG_IP=y
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
@@ -885,11 +905,6 @@ 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_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
# CONFIG_ZCIP is not set
#
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/fail_on_no_media.patch b/yocto-poky/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
index 6745f169f..820acc268 100644
--- a/yocto-poky/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
@@ -1,4 +1,5 @@
-Upstream-Status: Pending
+Upstream-Status: Denied
+[https://www.mail-archive.com/busybox@busybox.net/msg22354.html]
The current behaviour of busybox is to try all fstype when automounting
even when no media exists. The util-linux mount command bails when no
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/get_header_tar.patch b/yocto-poky/meta/recipes-core/busybox/busybox/get_header_tar.patch
deleted file mode 100644
index 0e528ff91..000000000
--- a/yocto-poky/meta/recipes-core/busybox/busybox/get_header_tar.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream-Status: Pending
-
-# copy commit message from OE as the patch comment:
-# commit 5a0e1d473ca7aca5ffefffe9a2ec44ae7a1f35bc
-# Author: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
-# Date: Wed Feb 11 22:40:21 2009 +0100
-#
-# busybox: fix tar problem with filenames that are exactly 100 bytes
-#
-# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
-
---- busybox-1.13.2/archival/libarchive/get_header_tar.c.orig 2008-11-09 18:28:02.000000000 +0100
-+++ busybox-1.13.2/archival/libarchive/get_header_tar.c 2009-02-11 22:34:52.000000000 +0100
-@@ -252,6 +252,8 @@
- file_header->name = concat_path_file(tar.prefix, tar.name);
- } else
- file_header->name = xstrdup(tar.name);
-+ if (strlen(file_header->name) > 100)
-+ file_header->name[100] = 0;
- }
-
- /* Set bits 12-15 of the files mode */
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/init.cfg b/yocto-poky/meta/recipes-core/busybox/busybox/init.cfg
new file mode 100644
index 000000000..006d4c633
--- /dev/null
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/init.cfg
@@ -0,0 +1,3 @@
+CONFIG_INIT=y
+CONFIG_FEATURE_USE_INITTAB=y
+
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/mdev.cfg b/yocto-poky/meta/recipes-core/busybox/busybox/mdev.cfg
new file mode 100644
index 000000000..6aefe90e4
--- /dev/null
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/mdev.cfg
@@ -0,0 +1,11 @@
+CONFIG_MDEV=y
+CONFIG_FEATURE_MDEV_CONF=y
+CONFIG_FEATURE_MDEV_RENAME=y
+CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
+CONFIG_FEATURE_MDEV_EXEC=y
+CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
+
+CONFIG_SETSID=y
+CONFIG_CTTYHACK=y
+
+CONFIG_FEATURE_SHADOWPASSWDS=y
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/musl.cfg b/yocto-poky/meta/recipes-core/busybox/busybox/musl.cfg
new file mode 100644
index 000000000..facfe8544
--- /dev/null
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/musl.cfg
@@ -0,0 +1,12 @@
+# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_HAVE_RPC is not set
+# CONFIG_WERROR is not set
+# CONFIG_FEATURE_SYSTEMD is not set
+# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
+# CONFIG_PAM is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_FEATURE_MOUNT_NFS is not set
+# CONFIG_FEATURE_UTMP is not set
+
diff --git a/yocto-poky/meta/recipes-core/busybox/busybox/resize.cfg b/yocto-poky/meta/recipes-core/busybox/busybox/resize.cfg
new file mode 100644
index 000000000..a1d9c95b2
--- /dev/null
+++ b/yocto-poky/meta/recipes-core/busybox/busybox/resize.cfg
@@ -0,0 +1,2 @@
+CONFIG_RESIZE=y
+CONFIG_FEATURE_RESIZE_PRINT=y
OpenPOWER on IntegriCloud