summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/busybox')
-rw-r--r--meta/recipes-core/busybox/busybox-inittab_1.32.0.bb85
-rw-r--r--meta/recipes-core/busybox/busybox-inittab_1.36.1.bb63
-rw-r--r--meta/recipes-core/busybox/busybox.inc167
-rw-r--r--meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch114
-rw-r--r--meta/recipes-core/busybox/busybox/0001-depmod-Ignore-.debug-directories.patch32
-rw-r--r--meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch41
-rw-r--r--meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch6
-rw-r--r--meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch69
-rw-r--r--meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch143
-rw-r--r--meta/recipes-core/busybox/busybox/defconfig215
-rw-r--r--meta/recipes-core/busybox/busybox/fail_on_no_media.patch28
-rw-r--r--meta/recipes-core/busybox/busybox/longopts.cfg15
-rw-r--r--meta/recipes-core/busybox/busybox/mount-via-label.cfg2
-rw-r--r--meta/recipes-core/busybox/busybox/musl.cfg1
-rw-r--r--meta/recipes-core/busybox/busybox/recognize_connmand.patch10
-rw-r--r--meta/recipes-core/busybox/busybox/sha1sum.cfg1
-rw-r--r--meta/recipes-core/busybox/busybox/sha_accel.cfg2
-rw-r--r--meta/recipes-core/busybox/busybox/start-stop-false.patch35
-rw-r--r--meta/recipes-core/busybox/busybox_1.36.1.bb (renamed from meta/recipes-core/busybox/busybox_1.33.0.bb)20
-rw-r--r--meta/recipes-core/busybox/files/syslog2
20 files changed, 515 insertions, 536 deletions
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb b/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb
deleted file mode 100644
index 3804f4f7b2..0000000000
--- a/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb
+++ /dev/null
@@ -1,85 +0,0 @@
1SUMMARY = "inittab configuration for BusyBox"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
4
5SRC_URI = "file://inittab"
6
7S = "${WORKDIR}"
8
9INHIBIT_DEFAULT_DEPS = "1"
10
11do_compile() {
12 :
13}
14
15do_install() {
16 install -d ${D}${sysconfdir}
17 install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
18 tmp="${SERIAL_CONSOLES}"
19 [ -n "$tmp" ] && echo >> ${D}${sysconfdir}/inittab
20 for i in $tmp
21 do
22 j=`echo ${i} | sed s/\;/\ /g`
23 id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
24 echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
25 done
26 if [ "${USE_VT}" = "1" ]; then
27 cat <<EOF >>${D}${sysconfdir}/inittab
28# ${base_sbindir}/getty invocations for the runlevels.
29#
30# The "id" field MUST be the same as the last
31# characters of the device (after "tty").
32#
33# Format:
34# <id>:<runlevels>:<action>:<process>
35#
36
37EOF
38
39 for n in ${SYSVINIT_ENABLED_GETTYS}
40 do
41 echo "tty$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
42 done
43 echo "" >> ${D}${sysconfdir}/inittab
44 fi
45
46}
47
48pkg_postinst_${PN} () {
49# run this on host and on target
50if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
51 exit 0
52fi
53}
54
55pkg_postinst_ontarget_${PN} () {
56# run this on the target
57if [ -e /proc/consoles ]; then
58 tmp="${SERIAL_CONSOLES_CHECK}"
59 for i in $tmp
60 do
61 j=`echo ${i} | sed -e s/^.*\;//g -e s/\:.*//g`
62 k=`echo ${i} | sed s/^.*\://g`
63 if [ -z "`grep ${j} /proc/consoles`" ]; then
64 if [ -z "${k}" ] || [ -z "`grep ${k} /proc/consoles`" ] || [ ! -e /dev/${j} ]; then
65 sed -i -e /^.*${j}\ /d -e /^.*${j}$/d /etc/inittab
66 fi
67 fi
68 done
69 kill -HUP 1
70else
71 exit 1
72fi
73}
74
75# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
76# Set PACKAGE_ARCH appropriately.
77PACKAGE_ARCH = "${MACHINE_ARCH}"
78
79FILES_${PN} = "${sysconfdir}/inittab"
80CONFFILES_${PN} = "${sysconfdir}/inittab"
81
82RCONFLICTS_${PN} = "sysvinit-inittab"
83
84USE_VT ?= "1"
85SYSVINIT_ENABLED_GETTYS ?= "1"
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb b/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb
new file mode 100644
index 0000000000..1f179d8560
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb
@@ -0,0 +1,63 @@
1SUMMARY = "inittab configuration for BusyBox"
2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
4
5SRC_URI = "file://inittab"
6
7S = "${WORKDIR}"
8
9INHIBIT_DEFAULT_DEPS = "1"
10
11do_compile() {
12 :
13}
14
15do_install() {
16 install -d ${D}${sysconfdir}
17 install -D -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab
18
19 CONSOLES="${SERIAL_CONSOLES}"
20 for s in $CONSOLES
21 do
22 speed=$(echo $s | cut -d\; -f 1)
23 device=$(echo $s | cut -d\; -f 2)
24 label=$(echo $device | sed -e 's/tty//' | tail --bytes=5)
25
26 echo "$device::respawn:${sbindir}/ttyrun $device ${base_sbindir}/getty $speed $device" >> ${D}${sysconfdir}/inittab
27 done
28
29 if [ "${USE_VT}" = "1" ]; then
30 cat <<EOF >>${D}${sysconfdir}/inittab
31# ${base_sbindir}/getty invocations for the runlevels.
32#
33# The "id" field MUST be the same as the last
34# characters of the device (after "tty").
35#
36# Format:
37# <id>:<runlevels>:<action>:<process>
38#
39
40EOF
41
42 for n in ${SYSVINIT_ENABLED_GETTYS}
43 do
44 echo "tty$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
45 done
46 echo "" >> ${D}${sysconfdir}/inittab
47 fi
48
49}
50
51
52# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
53# Set PACKAGE_ARCH appropriately.
54PACKAGE_ARCH = "${MACHINE_ARCH}"
55
56FILES:${PN} = "${sysconfdir}/inittab"
57CONFFILES:${PN} = "${sysconfdir}/inittab"
58
59RDEPENDS:${PN} = "ttyrun"
60RCONFLICTS:${PN} = "sysvinit-inittab"
61
62USE_VT ?= "1"
63SYSVINIT_ENABLED_GETTYS ?= "1"
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index 47fcb59302..67a9111e5b 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -7,7 +7,7 @@ DEPENDS += "kern-tools-native virtual/crypt"
7 7
8# bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source 8# bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source
9# the GPL is version 2 only 9# the GPL is version 2 only
10LICENSE = "GPLv2 & bzip2-1.0.4" 10LICENSE = "GPL-2.0-only & bzip2-1.0.4"
11LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \ 11LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \
12 file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae" 12 file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae"
13 13
@@ -23,39 +23,40 @@ EXTRA_OEMAKE = "CC='${CC}' LD='${CCLD}' V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${
23 23
24PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock" 24PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock"
25 25
26FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" 26FILES:${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
27FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog" 27FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_system_unitdir}/syslog.service ${sysconfdir}/default/busybox-syslog"
28FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*" 28FILES:${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*"
29FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" 29FILES:${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
30FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc" 30FILES:${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
31FILES_${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh" 31FILES:${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh"
32 32
33INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev ${PN}-hwclock" 33INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev ${PN}-hwclock"
34 34
35INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd" 35INITSCRIPT_NAME:${PN}-httpd = "busybox-httpd"
36INITSCRIPT_NAME_${PN}-hwclock = "hwclock.sh" 36INITSCRIPT_NAME:${PN}-hwclock = "hwclock.sh"
37INITSCRIPT_NAME_${PN}-mdev = "mdev" 37INITSCRIPT_PARAMS:${PN}-hwclock = "start 40 S . stop 20 0 1 6 ."
38INITSCRIPT_PARAMS_${PN}-mdev = "start 04 S ." 38INITSCRIPT_NAME:${PN}-mdev = "mdev"
39INITSCRIPT_NAME_${PN}-syslog = "syslog" 39INITSCRIPT_PARAMS:${PN}-mdev = "start 04 S ."
40INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd" 40INITSCRIPT_NAME:${PN}-syslog = "syslog"
41INITSCRIPT_NAME:${PN}-udhcpd = "busybox-udhcpd"
41 42
42SYSTEMD_PACKAGES = "${PN}-syslog" 43SYSTEMD_PACKAGES = "${PN}-syslog"
43SYSTEMD_SERVICE_${PN}-syslog = "${@bb.utils.contains('SRC_URI', 'file://syslog.cfg', 'busybox-syslog.service', '', d)}" 44SYSTEMD_SERVICE:${PN}-syslog = "${@bb.utils.contains('SRC_URI', 'file://syslog.cfg', 'busybox-syslog.service', '', d)}"
44 45
45RDEPENDS_${PN}-syslog = "busybox" 46RDEPENDS:${PN}-syslog = "busybox"
46CONFFILES_${PN}-syslog = "${sysconfdir}/syslog-startup.conf" 47CONFFILES:${PN}-syslog = "${sysconfdir}/syslog-startup.conf"
47RCONFLICTS_${PN}-syslog = "rsyslog sysklogd syslog-ng" 48RCONFLICTS:${PN}-syslog = "rsyslog sysklogd syslog-ng"
48 49
49CONFFILES_${PN}-mdev = "${sysconfdir}/mdev.conf" 50CONFFILES:${PN}-mdev = "${sysconfdir}/mdev.conf"
50 51
51RRECOMMENDS_${PN} = "${PN}-udhcpc" 52RRECOMMENDS:${PN} = "${PN}-udhcpc"
52 53
53RDEPENDS_${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]}" 54RDEPENDS:${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]}"
54 55
55inherit cml1 systemd update-rc.d ptest 56inherit cml1 systemd update-rc.d ptest
56 57
57# busybox's unzip test case needs zip command, which busybox itself does not provide 58# busybox's unzip test case needs zip command, which busybox itself does not provide
58RDEPENDS_${PN}-ptest = "zip" 59RDEPENDS:${PN}-ptest = "zip"
59 60
60# internal helper 61# internal helper
61def busybox_cfg(feature, tokens, cnf, rem): 62def busybox_cfg(feature, tokens, cnf, rem):
@@ -97,12 +98,12 @@ DO_IPv6 := "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 1, 0, d)}"
97 98
98python () { 99python () {
99 if "${OE_DEL}": 100 if "${OE_DEL}":
100 d.setVar('configmangle_append', "${OE_DEL}" + "\n") 101 d.setVar('configmangle:append', "${OE_DEL}" + "\n")
101 if "${OE_FEATURES}": 102 if "${OE_FEATURES}":
102 d.setVar('configmangle_append', 103 d.setVar('configmangle:append',
103 "/^### DISTRO FEATURES$/a\\\n%s\n\n" % 104 "/^### DISTRO FEATURES$/a\\\n%s\n\n" %
104 ("\\n".join((d.expand("${OE_FEATURES}").split("\n"))))) 105 ("\\n".join((d.expand("${OE_FEATURES}").split("\n")))))
105 d.setVar('configmangle_append', 106 d.setVar('configmangle:append',
106 "/^### CROSS$/a\\\n%s\n" % 107 "/^### CROSS$/a\\\n%s\n" %
107 ("\\n".join(["CONFIG_EXTRA_CFLAGS=\"${CFLAGS} ${HOST_CC_ARCH}\"" 108 ("\\n".join(["CONFIG_EXTRA_CFLAGS=\"${CFLAGS} ${HOST_CC_ARCH}\""
108 ]) 109 ])
@@ -110,11 +111,10 @@ python () {
110} 111}
111 112
112do_prepare_config () { 113do_prepare_config () {
113 if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then 114 export KCONFIG_NOTIMESTAMP=1
114 export KCONFIG_NOTIMESTAMP=1 115
115 fi
116 sed -e '/CONFIG_STATIC/d' \ 116 sed -e '/CONFIG_STATIC/d' \
117 < ${WORKDIR}/defconfig > ${S}/.config 117 < ${UNPACKDIR}/defconfig > ${S}/.config
118 echo "# CONFIG_STATIC is not set" >> .config 118 echo "# CONFIG_STATIC is not set" >> .config
119 for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \ 119 for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \
120 ${S}/.config 120 ${S}/.config
@@ -139,20 +139,26 @@ do_configure () {
139 do_prepare_config 139 do_prepare_config
140 merge_config.sh -m .config ${@" ".join(find_cfgs(d))} 140 merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
141 cml1_do_configure 141 cml1_do_configure
142
143 # Save a copy of .config and autoconf.h.
144 cp .config .config.orig
145 cp include/autoconf.h include/autoconf.h.orig
142} 146}
143 147
144do_compile() { 148do_compile() {
145 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 149 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
146 if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then 150 export KCONFIG_NOTIMESTAMP=1
147 export KCONFIG_NOTIMESTAMP=1 151
148 fi 152 # Ensure we start do_compile with the original .config and autoconf.h.
153 # These files should always have matching timestamps.
154 cp .config.orig .config
155 cp include/autoconf.h.orig include/autoconf.h
156
149 if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then 157 if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then
158 # Guard againt interrupted do_compile: clean temporary files.
159 rm -f .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps
160
150 # split the .config into two parts, and make two busybox binaries 161 # split the .config into two parts, and make two busybox binaries
151 if [ -e .config.orig ]; then
152 # Need to guard again an interrupted do_compile - restore any backup
153 cp .config.orig .config
154 fi
155 cp .config .config.orig
156 oe_runmake busybox.cfg.suid 162 oe_runmake busybox.cfg.suid
157 oe_runmake busybox.cfg.nosuid 163 oe_runmake busybox.cfg.nosuid
158 164
@@ -189,15 +195,18 @@ do_compile() {
189 bbfatal "busybox suid binary incorrectly provides /bin/sh" 195 bbfatal "busybox suid binary incorrectly provides /bin/sh"
190 fi 196 fi
191 197
192 # copy .config.orig back to .config, because the install process may check this file
193 cp .config.orig .config
194 # cleanup 198 # cleanup
195 rm .config.orig .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps 199 rm .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps
196 else 200 else
197 oe_runmake busybox_unstripped 201 oe_runmake busybox_unstripped
198 cp busybox_unstripped busybox 202 cp busybox_unstripped busybox
199 oe_runmake busybox.links 203 oe_runmake busybox.links
200 fi 204 fi
205
206 # restore original .config and autoconf.h, because the install process
207 # may check these files
208 cp .config.orig .config
209 cp include/autoconf.h.orig include/autoconf.h
201} 210}
202 211
203do_install () { 212do_install () {
@@ -271,67 +280,67 @@ do_install () {
271 fi 280 fi
272 281
273 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then 282 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
274 install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog 283 install -m 0755 ${UNPACKDIR}/syslog ${D}${sysconfdir}/init.d/syslog
275 install -m 644 ${WORKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf 284 install -m 644 ${UNPACKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf
276 install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf 285 install -m 644 ${UNPACKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf
277 fi 286 fi
278 if grep -q "CONFIG_CROND=y" ${B}/.config; then 287 if grep -q "CONFIG_CROND=y" ${B}/.config; then
279 install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ 288 install -m 0755 ${UNPACKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
280 fi 289 fi
281 if grep -q "CONFIG_HTTPD=y" ${B}/.config; then 290 if grep -q "CONFIG_HTTPD=y" ${B}/.config; then
282 install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ 291 install -m 0755 ${UNPACKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
283 install -d ${D}/srv/www 292 install -d ${D}/srv/www
284 fi 293 fi
285 if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then 294 if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then
286 install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ 295 install -m 0755 ${UNPACKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
287 fi 296 fi
288 if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then 297 if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then
289 install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ 298 install -m 0755 ${UNPACKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
290 fi 299 fi
291 if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then 300 if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then
292 install -d ${D}${sysconfdir}/udhcpc.d 301 install -d ${D}${sysconfdir}/udhcpc.d
293 install -d ${D}${datadir}/udhcpc 302 install -d ${D}${datadir}/udhcpc
294 install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default 303 install -m 0755 ${UNPACKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default
295 sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default 304 sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default
296 install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script 305 install -m 0755 ${UNPACKDIR}/default.script ${D}${datadir}/udhcpc/default.script
297 fi 306 fi
298 if grep -q "CONFIG_INETD=y" ${B}/.config; then 307 if grep -q "CONFIG_INETD=y" ${B}/.config; then
299 install -m 0755 ${WORKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN} 308 install -m 0755 ${UNPACKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN}
300 sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN} 309 sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN}
301 install -m 0644 ${WORKDIR}/inetd.conf ${D}${sysconfdir}/ 310 install -m 0644 ${UNPACKDIR}/inetd.conf ${D}${sysconfdir}/
302 fi 311 fi
303 if grep -q "CONFIG_MDEV=y" ${B}/.config; then 312 if grep -q "CONFIG_MDEV=y" ${B}/.config; then
304 install -m 0755 ${WORKDIR}/mdev ${D}${sysconfdir}/init.d/mdev 313 install -m 0755 ${UNPACKDIR}/mdev ${D}${sysconfdir}/init.d/mdev
305 if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then 314 if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then
306 install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf 315 install -m 644 ${UNPACKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf
307 install -d ${D}${sysconfdir}/mdev 316 install -d ${D}${sysconfdir}/mdev
308 install -m 0755 ${WORKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev 317 install -m 0755 ${UNPACKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev
309 install -m 0755 ${WORKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev 318 install -m 0755 ${UNPACKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev
310 fi 319 fi
311 fi 320 fi
312 if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then 321 if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then
313 install -D -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS 322 install -D -m 0755 ${UNPACKDIR}/rcS ${D}${sysconfdir}/init.d/rcS
314 install -D -m 0755 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK 323 install -D -m 0755 ${UNPACKDIR}/rcK ${D}${sysconfdir}/init.d/rcK
315 install -D -m 0755 ${WORKDIR}/rcS.default ${D}${sysconfdir}/default/rcS 324 install -D -m 0755 ${UNPACKDIR}/rcS.default ${D}${sysconfdir}/default/rcS
316 fi 325 fi
317 326
318 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 327 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
319 if grep -q "CONFIG_KLOGD=y" ${B}/.config; then 328 if grep -q "CONFIG_KLOGD=y" ${B}/.config; then
320 install -d ${D}${systemd_unitdir}/system 329 install -d ${D}${systemd_system_unitdir}
321 sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \ 330 sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-klogd.service.in \
322 > ${D}${systemd_unitdir}/system/busybox-klogd.service 331 > ${D}${systemd_system_unitdir}/busybox-klogd.service
323 fi 332 fi
324 333
325 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then 334 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
326 install -d ${D}${systemd_unitdir}/system 335 install -d ${D}${systemd_system_unitdir}
327 sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \ 336 sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-syslog.service.in \
328 > ${D}${systemd_unitdir}/system/busybox-syslog.service 337 > ${D}${systemd_system_unitdir}/busybox-syslog.service
329 if [ ! -e ${D}${systemd_unitdir}/system/busybox-klogd.service ] ; then 338 if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then
330 sed -i '/klog/d' ${D}${systemd_unitdir}/system/busybox-syslog.service 339 sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service
331 fi 340 fi
332 if [ -f ${WORKDIR}/busybox-syslog.default ] ; then 341 if [ -f ${UNPACKDIR}/busybox-syslog.default ] ; then
333 install -d ${D}${sysconfdir}/default 342 install -d ${D}${sysconfdir}/default
334 install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog 343 install -m 0644 ${UNPACKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog
335 fi 344 fi
336 fi 345 fi
337 fi 346 fi
@@ -349,14 +358,14 @@ do_install_ptest () {
349 # These access the internet which is not guaranteed to work on machines running the tests 358 # These access the internet which is not guaranteed to work on machines running the tests
350 rm -rf ${D}${PTEST_PATH}/testsuite/wget 359 rm -rf ${D}${PTEST_PATH}/testsuite/wget
351 sort ${B}/.config > ${D}${PTEST_PATH}/.config 360 sort ${B}/.config > ${D}${PTEST_PATH}/.config
352 ln -s /bin/busybox ${D}${PTEST_PATH}/busybox 361 ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/busybox
353} 362}
354 363
355inherit update-alternatives 364inherit update-alternatives
356 365
357ALTERNATIVE_PRIORITY = "50" 366ALTERNATIVE_PRIORITY = "50"
358 367
359python do_package_prepend () { 368python do_package:prepend () {
360 # We need to load the full set of busybox provides from the /etc/busybox.links 369 # We need to load the full set of busybox provides from the /etc/busybox.links
361 # Use this to see the update-alternatives with the right information 370 # Use this to see the update-alternatives with the right information
362 371
@@ -373,9 +382,9 @@ python do_package_prepend () {
373 if alt_name == '[': 382 if alt_name == '[':
374 alt_name = 'lbracket' 383 alt_name = 'lbracket'
375 if alt_name == 'klogd' or alt_name == 'syslogd': 384 if alt_name == 'klogd' or alt_name == 'syslogd':
376 d.appendVar('ALTERNATIVE_%s-syslog' % (pn), ' ' + alt_name) 385 d.appendVar('ALTERNATIVE:%s-syslog' % (pn), ' ' + alt_name)
377 else: 386 else:
378 d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name) 387 d.appendVar('ALTERNATIVE:%s' % (pn), ' ' + alt_name)
379 d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name) 388 d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
380 if os.path.exists('%s%s' % (dvar, target)): 389 if os.path.exists('%s%s' % (dvar, target)):
381 d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target) 390 d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
@@ -395,7 +404,7 @@ python do_package_prepend () {
395# These symlinks will later be updated by update-alternatives calls. 404# These symlinks will later be updated by update-alternatives calls.
396# The update-alternatives.bbclass' postinst script runs firstly before other 405# The update-alternatives.bbclass' postinst script runs firstly before other
397# postinst, but this part of code needs run firstly, so add this funtion. 406# postinst, but this part of code needs run firstly, so add this funtion.
398python populate_packages_updatealternatives_append() { 407python populate_packages_updatealternatives:append() {
399 postinst = """ 408 postinst = """
400test -n 2 > /dev/null || alias test='busybox test' 409test -n 2 > /dev/null || alias test='busybox test'
401if test "x$D" = "x"; then 410if test "x$D" = "x"; then
@@ -422,10 +431,10 @@ if grep -q "^${base_bindir}/bash$" $D${sysconfdir}/busybox.links*; then
422fi 431fi
423 432
424""" 433"""
425 d.prependVar('pkg_postinst_%s' % pkg, postinst) 434 d.prependVar('pkg_postinst:%s' % pkg, postinst)
426} 435}
427 436
428pkg_postinst_${PN}_prepend () { 437pkg_postinst:${PN}:prepend () {
429 # Need path to saved utils, but they may have be removed on upgrade of busybox 438 # Need path to saved utils, but they may have be removed on upgrade of busybox
430 # Only use shell to get paths. Also capture if busybox was saved. 439 # Only use shell to get paths. Also capture if busybox was saved.
431 BUSYBOX="" 440 BUSYBOX=""
@@ -441,7 +450,7 @@ pkg_postinst_${PN}_prepend () {
441 fi 450 fi
442} 451}
443 452
444pkg_postinst_${PN}_append () { 453pkg_postinst:${PN}:append () {
445 # If busybox exists in the remove directory it is because it was the only shell left. 454 # If busybox exists in the remove directory it is because it was the only shell left.
446 if [ "x$D" = "x" ] ; then 455 if [ "x$D" = "x" ] ; then
447 if [ "x$BUSYBOX" != "x" ] ; then 456 if [ "x$BUSYBOX" != "x" ] ; then
@@ -451,7 +460,7 @@ pkg_postinst_${PN}_append () {
451 fi 460 fi
452} 461}
453 462
454pkg_prerm_${PN} () { 463pkg_prerm:${PN} () {
455 # This is so you can make busybox commit suicide - removing busybox with no other packages 464 # This is so you can make busybox commit suicide - removing busybox with no other packages
456 # providing its files, this will make update-alternatives work, but the update-rc.d part 465 # providing its files, this will make update-alternatives work, but the update-rc.d part
457 # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh 466 # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
@@ -481,7 +490,7 @@ pkg_prerm_${PN} () {
481 fi 490 fi
482} 491}
483 492
484pkg_postrm_${PN} () { 493pkg_postrm:${PN} () {
485 # Add path to remove dir in case we removed our only grep 494 # Add path to remove dir in case we removed our only grep
486 if [ "x$D" = "x" ] ; then 495 if [ "x$D" = "x" ] ; then
487 for busybox_rmdir in /tmp/busyboxrm-*; do 496 for busybox_rmdir in /tmp/busyboxrm-*; do
@@ -496,7 +505,7 @@ pkg_postrm_${PN} () {
496 fi 505 fi
497} 506}
498 507
499pkg_prerm_${PN}-syslog () { 508pkg_prerm:${PN}-syslog () {
500 # remove syslog 509 # remove syslog
501 if test "x$D" = "x"; then 510 if test "x$D" = "x"; then
502 if test "$1" = "upgrade" -o "$1" = "remove"; then 511 if test "$1" = "upgrade" -o "$1" = "remove"; then
@@ -505,4 +514,4 @@ pkg_prerm_${PN}-syslog () {
505 fi 514 fi
506} 515}
507 516
508RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/ash', '', d)}" 517RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/ash', '', d)}"
diff --git a/meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch b/meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch
deleted file mode 100644
index 2bf2b91c7e..0000000000
--- a/meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch
+++ /dev/null
@@ -1,114 +0,0 @@
1From a9333eb6a7b8dbda735947cd5bc981ff9352a2c9 Mon Sep 17 00:00:00 2001
2From: Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
3Date: Thu, 10 Mar 2011 00:27:08 -0500
4Subject: [PATCH 1/2] Use $(CC) when linking instead of $(LD) and use $(CFLAGS)
5 and $(EXTRA_CFLAGS) when linking.
6
7This fixes the issue where LDFLAGS escaped with -Wl are ignored during
8compilation. It also simplifies using CFLAGS or EXTRA_CFLAGS (such as
9-m32 on x86_64 or -flto) which apply to both compilation and linking
10situations.
11
12Signed-off-by: Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
13---
14Upstream-Status: Pending
15
16 Makefile | 7 ++++---
17 scripts/Makefile.build | 8 ++++----
18 scripts/Makefile.lib | 13 +++----------
19 3 files changed, 11 insertions(+), 17 deletions(-)
20
21Index: busybox-1.23.2/Makefile
22===================================================================
23--- busybox-1.23.2.orig/Makefile
24+++ busybox-1.23.2/Makefile
25@@ -309,7 +309,8 @@ CHECKFLAGS := -D__linux__ -Dlinux -D
26 MODFLAGS = -DMODULE
27 CFLAGS_MODULE = $(MODFLAGS)
28 AFLAGS_MODULE = $(MODFLAGS)
29-LDFLAGS_MODULE = -r
30+LDFLAGS_RELOCATABLE = -r -nostdlib
31+LDFLAGS_MODULE = $(LDFLAGS_RELOCATABLE)
32 CFLAGS_KERNEL =
33 AFLAGS_KERNEL =
34
35@@ -331,7 +332,7 @@ KERNELVERSION = $(VERSION).$(PATCHLEVEL)
36 export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \
37 ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
38 CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
39- HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
40+ HOSTCXX HOSTCXXFLAGS LDFLAGS_RELOCATABLE LDFLAGS_MODULE CHECK CHECKFLAGS
41
42 export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
43 export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
44@@ -610,7 +611,7 @@ quiet_cmd_busybox__ ?= LINK $@
45 cmd_busybox__ ?= $(srctree)/scripts/trylink \
46 "$@" \
47 "$(CC)" \
48- "$(CFLAGS) $(CFLAGS_busybox)" \
49+ "$(CFLAGS) $(CFLAGS_busybox) $(EXTRA_CFLAGS)" \
50 "$(LDFLAGS) $(EXTRA_LDFLAGS)" \
51 "$(core-y)" \
52 "$(libs-y)" \
53Index: busybox-1.23.2/scripts/Makefile.build
54===================================================================
55--- busybox-1.23.2.orig/scripts/Makefile.build
56+++ busybox-1.23.2/scripts/Makefile.build
57@@ -174,7 +174,7 @@ cmd_modversions = \
58 | $(GENKSYMS) -a $(ARCH) \
59 > $(@D)/.tmp_$(@F:.o=.ver); \
60 \
61- $(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \
62+ $(CC) $(ld_flags_partial) $(LDFLAGS_RELOCATABLE) -o $@ $(@D)/.tmp_$(@F) \
63 -T $(@D)/.tmp_$(@F:.o=.ver); \
64 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \
65 else \
66@@ -257,7 +257,7 @@ quiet_cmd_link_o_target = LD $@
67 # If the list of objects to link is empty, just create an empty built-in.o
68 # -nostdlib is added to make "make LD=gcc ..." work (some people use that)
69 cmd_link_o_target = $(if $(strip $(obj-y)),\
70- $(LD) -nostdlib $(ld_flags) -r -o $@ $(filter $(obj-y), $^),\
71+ $(CC) $(ld_flags_partial) $(LDFLAGS_RELOCATABLE) -o $@ $(filter $(obj-y), $^),\
72 rm -f $@; $(AR) rcs $@)
73
74 $(builtin-target): $(obj-y) FORCE
75@@ -292,10 +292,10 @@ $($(subst $(obj)/,,$(@:.o=-objs))) \
76 $($(subst $(obj)/,,$(@:.o=-y)))), $^)
77
78 quiet_cmd_link_multi-y = LD $@
79-cmd_link_multi-y = $(LD) $(ld_flags) -r -o $@ $(link_multi_deps)
80+cmd_link_multi-y = $(CC) $(ld_flags_partial) $(LDFLAGS_RELOCATABLE) -o $@ $(link_multi_deps)
81
82 quiet_cmd_link_multi-m = LD [M] $@
83-cmd_link_multi-m = $(LD) $(ld_flags) $(LDFLAGS_MODULE) -o $@ $(link_multi_deps)
84+cmd_link_multi-m = $(CC) $(ld_flags) $(LDFLAGS_MODULE) -o $@ $(link_multi_deps)
85
86 # We would rather have a list of rules like
87 # foo.o: $(foo-objs)
88Index: busybox-1.23.2/scripts/Makefile.lib
89===================================================================
90--- busybox-1.23.2.orig/scripts/Makefile.lib
91+++ busybox-1.23.2/scripts/Makefile.lib
92@@ -121,7 +121,8 @@ cpp_flags = -Wp,-MD,$(depfile) $(NO
93 # yet ld_flags is fed to ld.
94 #ld_flags = $(LDFLAGS) $(EXTRA_LDFLAGS)
95 # Remove the -Wl, prefix from linker options normally passed through gcc
96-ld_flags = $(filter-out -Wl$(comma)%,$(LDFLAGS) $(EXTRA_LDFLAGS))
97+ld_flags = $(filter-out -Wl$(comma)%,$(LDFLAGS) $(EXTRA_LDFLAGS) $(CFLAGS) $(EXTRA_CFLAGS))
98+ld_flags_partial = $($(filter-out -shared%, $(filter-out -pie%,$(ld_flags))))
99
100
101 # Finds the multi-part object the current object will be linked into
102@@ -151,10 +152,8 @@ $(obj)/%:: $(src)/%_shipped
103 # Linking
104 # ---------------------------------------------------------------------------
105
106-# TODO: LDFLAGS usually is supposed to contain gcc's flags, not ld's.
107-# but here we feed them to ld!
108-quiet_cmd_ld = LD $@
109-cmd_ld = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) \
110+quiet_cmd_ld = CC $@
111+cmd_ld = $(CC) $(ld_flags) $(LDFLAGS_$(@F)) \
112 $(filter-out FORCE,$^) -o $@
113
114 # Objcopy
diff --git a/meta/recipes-core/busybox/busybox/0001-depmod-Ignore-.debug-directories.patch b/meta/recipes-core/busybox/busybox/0001-depmod-Ignore-.debug-directories.patch
new file mode 100644
index 0000000000..d76118f85b
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/0001-depmod-Ignore-.debug-directories.patch
@@ -0,0 +1,32 @@
1From 5f6ed003f10ee0bd4a508d5f59129a29f0920dfc Mon Sep 17 00:00:00 2001
2From: Saul Wold <saul.wold@windriver.com>
3Date: Thu, 31 Mar 2022 11:21:45 -0700
4Subject: [PATCH] depmod: Ignore .debug directories
5
6The .debug/<module>.ko files do not have the correct symbol information
7since it's split away from the actual <module>.ko file. Just ignore it.
8
9Upstream-Status: Pending
10
11Signed-off-by: Saul Wold <saul.wold@windriver.com>
12---
13 modutils/depmod.c | 3 +++
14 1 file changed, 3 insertions(+)
15
16diff --git a/modutils/depmod.c b/modutils/depmod.c
17index bb42bbe..aa5a2de 100644
18--- a/modutils/depmod.c
19+++ b/modutils/depmod.c
20@@ -43,6 +43,9 @@ static int FAST_FUNC parse_module(struct recursive_state *state,
21 /* Arbitrary. Was sb->st_size, but that breaks .gz etc */
22 size_t len = (64*1024*1024 - 4096);
23
24+ if (strstr(fname, ".debug") != NULL)
25+ return TRUE;
26+
27 if (strrstr(fname, ".ko") == NULL)
28 return TRUE;
29
30--
312.31.1
32
diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch
new file mode 100644
index 0000000000..ceb3ad7250
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch
@@ -0,0 +1,41 @@
1From 0c8da1bead8ffaf270b4b723ead2c517371405d7 Mon Sep 17 00:00:00 2001
2From: Ariadne Conill <ariadne@dereferenced.org>
3Date: Sun, 3 Apr 2022 12:14:33 +0000
4Subject: [PATCH 1/2] libbb: sockaddr2str: ensure only printable characters are
5 returned for the hostname part
6
7CVE: CVE-2022-28391
8Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001]
9Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
10Signed-off-by: Steve Sakoman <steve@sakoman.com>
11---
12 libbb/xconnect.c | 5 +++--
13 1 file changed, 3 insertions(+), 2 deletions(-)
14
15diff --git a/libbb/xconnect.c b/libbb/xconnect.c
16index 0e0b247b8..02c061e67 100644
17--- a/libbb/xconnect.c
18+++ b/libbb/xconnect.c
19@@ -497,8 +497,9 @@ static char* FAST_FUNC sockaddr2str(const struct sockaddr *sa, int flags)
20 );
21 if (rc)
22 return NULL;
23+ /* ensure host contains only printable characters */
24 if (flags & IGNORE_PORT)
25- return xstrdup(host);
26+ return xstrdup(printable_string(host));
27 #if ENABLE_FEATURE_IPV6
28 if (sa->sa_family == AF_INET6) {
29 if (strchr(host, ':')) /* heh, it's not a resolved hostname */
30@@ -509,7 +510,7 @@ static char* FAST_FUNC sockaddr2str(const struct sockaddr *sa, int flags)
31 #endif
32 /* For now we don't support anything else, so it has to be INET */
33 /*if (sa->sa_family == AF_INET)*/
34- return xasprintf("%s:%s", host, serv);
35+ return xasprintf("%s:%s", printable_string(host), serv);
36 /*return xstrdup(host);*/
37 }
38
39--
402.35.1
41
diff --git a/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch b/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
index 25472f0bbd..d4bda3c12f 100644
--- a/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
+++ b/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
@@ -18,13 +18,13 @@ diff --git a/testsuite/tar.tests b/testsuite/tar.tests
18index d71a349..8c88567 100755 18index d71a349..8c88567 100755
19--- a/testsuite/tar.tests 19--- a/testsuite/tar.tests
20+++ b/testsuite/tar.tests 20+++ b/testsuite/tar.tests
21@@ -336,7 +336,7 @@ SKIP= 21@@ -339,7 +339,7 @@ cd .. || exit 1; rm -rf tar.tempdir 2>/d
22 cd .. || exit 1; rm -rf tar.tempdir 2>/dev/null 22 fi
23 23
24 mkdir tar.tempdir && cd tar.tempdir || exit 1 24 mkdir tar.tempdir && cd tar.tempdir || exit 1
25-optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS 25-optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS
26+optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE 26+optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE
27 testing "Symlink attack: create symlink and then write through it" '\ 27 testing "tar Symlink attack: create symlink and then write through it" '\
28 exec 2>&1 28 exec 2>&1
29 uudecode -o input && tar xvf input; echo $? 29 uudecode -o input && tar xvf input; echo $?
30diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests 30diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
diff --git a/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch
new file mode 100644
index 0000000000..1dbc3388a4
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch
@@ -0,0 +1,69 @@
1From 812b407e545b70b16cf32aade135b5c32eaf674f Mon Sep 17 00:00:00 2001
2From: Ariadne Conill <ariadne@dereferenced.org>
3Date: Sun, 3 Apr 2022 12:16:45 +0000
4Subject: [PATCH 2/2] nslookup: sanitize all printed strings with
5 printable_string
6
7Otherwise, terminal sequences can be injected, which enables various terminal injection
8attacks from DNS results.
9
10CVE: CVE-2022-28391
11Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001]
12Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
13Signed-off-by: Steve Sakoman <steve@sakoman.com>
14---
15 networking/nslookup.c | 10 +++++-----
16 1 file changed, 5 insertions(+), 5 deletions(-)
17
18diff --git a/networking/nslookup.c b/networking/nslookup.c
19index 6da97baf4..4bdcde1b8 100644
20--- a/networking/nslookup.c
21+++ b/networking/nslookup.c
22@@ -407,7 +407,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len)
23 //printf("Unable to uncompress domain: %s\n", strerror(errno));
24 return -1;
25 }
26- printf(format, ns_rr_name(rr), dname);
27+ printf(format, ns_rr_name(rr), printable_string(dname));
28 break;
29
30 case ns_t_mx:
31@@ -422,7 +422,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len)
32 //printf("Cannot uncompress MX domain: %s\n", strerror(errno));
33 return -1;
34 }
35- printf("%s\tmail exchanger = %d %s\n", ns_rr_name(rr), n, dname);
36+ printf("%s\tmail exchanger = %d %s\n", ns_rr_name(rr), n, printable_string(dname));
37 break;
38
39 case ns_t_txt:
40@@ -434,7 +434,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len)
41 if (n > 0) {
42 memset(dname, 0, sizeof(dname));
43 memcpy(dname, ns_rr_rdata(rr) + 1, n);
44- printf("%s\ttext = \"%s\"\n", ns_rr_name(rr), dname);
45+ printf("%s\ttext = \"%s\"\n", ns_rr_name(rr), printable_string(dname));
46 }
47 break;
48
49@@ -454,7 +454,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len)
50 }
51
52 printf("%s\tservice = %u %u %u %s\n", ns_rr_name(rr),
53- ns_get16(cp), ns_get16(cp + 2), ns_get16(cp + 4), dname);
54+ ns_get16(cp), ns_get16(cp + 2), ns_get16(cp + 4), printable_string(dname));
55 break;
56
57 case ns_t_soa:
58@@ -483,7 +483,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len)
59 return -1;
60 }
61
62- printf("\tmail addr = %s\n", dname);
63+ printf("\tmail addr = %s\n", printable_string(dname));
64 cp += n;
65
66 printf("\tserial = %lu\n", ns_get32(cp));
67--
682.35.1
69
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
deleted file mode 100644
index 35e981d6a2..0000000000
--- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
+++ /dev/null
@@ -1,143 +0,0 @@
1From 53626cd06a3ef05ed847daea802ef0aa9661caa7 Mon Sep 17 00:00:00 2001
2From: Anders Darander <anders@chargestorm.se>
3Date: Thu, 3 Nov 2011 08:51:31 +0100
4Subject: [PATCH] busybox-udhcpc-no_deconfig.patch
5
6Upstream-Status: Pending
7
8Add a new option -D to the udhcpc client that allows for
9dhcp renewal to occur without having to down the interface
10in the process.
11
12Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com>
13
14Updated to latest Busybox 1.17.3
15
16Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
17
18Updated to Busybox 1.18.4
19option spec is changed
20
21Signed-off-by: Qing He <qing.he@intel.com>
22
23Updated to Busybox 1.19.3
24
25Signed-off-by: Anders Darander <anders@chargestorm.se>
26
27Fixed options -b, -a and -P.
28
29Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
30---
31 networking/udhcp/dhcpc.c | 29 ++++++++++++++++------
32 1 file changed, 21 insertions(+), 8 deletions(-)
33
34Index: busybox-1.32.0/networking/udhcp/dhcpc.c
35===================================================================
36--- busybox-1.32.0.orig/networking/udhcp/dhcpc.c
37+++ busybox-1.32.0/networking/udhcp/dhcpc.c
38@@ -48,6 +48,8 @@ struct tpacket_auxdata {
39 };
40 #endif
41
42+/* option whether to down the interface when reconfiguring */
43+static int allow_deconfig = 1;
44
45 /* "struct client_data_t client_data" is in bb_common_bufsiz1 */
46
47@@ -103,8 +105,10 @@
48 OPT_x = 1 << 18,
49 OPT_f = 1 << 19,
50 OPT_B = 1 << 20,
51+ OPT_D = 1 << 21,
52 /* The rest has variable bit positions, need to be clever */
53 OPTBIT_B = 20,
54+ OPTBIT_D = 21,
55 USE_FOR_MMU( OPTBIT_b,)
56 IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
57 IF_FEATURE_UDHCP_PORT( OPTBIT_P,)
58@@ -1084,7 +1088,8 @@
59 client_data.state = RENEW_REQUESTED;
60 break;
61 case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
62- udhcp_run_script(NULL, "deconfig");
63+ if (allow_deconfig)
64+ udhcp_run_script(NULL, "deconfig");
65 case REQUESTING:
66 case RELEASED:
67 change_listen_mode(LISTEN_RAW);
68@@ -1120,7 +1125,8 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip)
69 * Users requested to be notified in all cases, even if not in one
70 * of the states above.
71 */
72- udhcp_run_script(NULL, "deconfig");
73+ if (allow_deconfig)
74+ udhcp_run_script(NULL, "deconfig");
75
76 change_listen_mode(LISTEN_NONE);
77 client_data.state = RELEASED;
78@@ -1238,7 +1244,7 @@
79 /* Parse command line */
80 opt = getopt32long(argv, "^"
81 /* O,x: list; -T,-t,-A take numeric param */
82- "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB"
83+ "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD"
84 USE_FOR_MMU("b")
85 IF_FEATURE_UDHCPC_ARPING("a::")
86 IF_FEATURE_UDHCP_PORT("P:")
87@@ -1349,6 +1355,10 @@
88 logmode |= LOGMODE_SYSLOG;
89 }
90
91+ if (opt & OPT_D) {
92+ allow_deconfig = 0;
93+ }
94+
95 /* Create pidfile */
96 write_pidfile(client_data.pidfile);
97 /* Goes to stdout (unless NOMMU) and possibly syslog */
98@@ -1357,7 +1367,8 @@
99 srand(monotonic_us());
100
101 client_data.state = INIT_SELECTING;
102- udhcp_run_script(NULL, "deconfig");
103+ if (allow_deconfig)
104+ udhcp_run_script(NULL, "deconfig");
105 change_listen_mode(LISTEN_RAW);
106 packet_num = 0;
107 timeout = 0;
108@@ -1530,7 +1541,8 @@
109 }
110 /* Timed out, enter init state */
111 bb_simple_info_msg("lease lost, entering init state");
112- udhcp_run_script(NULL, "deconfig");
113+ if (allow_deconfig)
114+ udhcp_run_script(NULL, "deconfig");
115 client_data.state = INIT_SELECTING;
116 client_data.first_secs = 0; /* make secs field count from 0 */
117 /*timeout = 0; - already is */
118@@ -1722,8 +1734,10 @@
119 "(got ARP reply), declining");
120 send_decline(/*xid,*/ server_addr, packet.yiaddr);
121
122- if (client_data.state != REQUESTING)
123- udhcp_run_script(NULL, "deconfig");
124+ if (client_data.state != REQUESTING) {
125+ if (allow_deconfig)
126+ udhcp_run_script(NULL, "deconfig");
127+ }
128 change_listen_mode(LISTEN_RAW);
129 client_data.state = INIT_SELECTING;
130 client_data.first_secs = 0; /* make secs field count from 0 */
131@@ -1792,8 +1806,10 @@
132 /* return to init state */
133 bb_info_msg("received %s", "DHCP NAK");
134 udhcp_run_script(&packet, "nak");
135- if (client_data.state != REQUESTING)
136- udhcp_run_script(NULL, "deconfig");
137+ if (client_data.state != REQUESTING) {
138+ if (allow_deconfig)
139+ udhcp_run_script(NULL, "deconfig");
140+ }
141 change_listen_mode(LISTEN_RAW);
142 sleep(3); /* avoid excessive network traffic */
143 client_data.state = INIT_SELECTING;
diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig
index 4334a9d738..f3d545dc3f 100644
--- a/meta/recipes-core/busybox/busybox/defconfig
+++ b/meta/recipes-core/busybox/busybox/defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.30.1 3# Busybox version: 1.36.0
4# Sun Feb 17 18:12:27 2019 4# Tue Jan 3 14:17:01 2023
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7 7
@@ -34,8 +34,8 @@ CONFIG_FEATURE_SUID_CONFIG_QUIET=y
34CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 34CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
35# CONFIG_SELINUX is not set 35# CONFIG_SELINUX is not set
36# CONFIG_FEATURE_CLEAN_UP is not set 36# CONFIG_FEATURE_CLEAN_UP is not set
37CONFIG_FEATURE_SYSLOG_INFO=y
37CONFIG_FEATURE_SYSLOG=y 38CONFIG_FEATURE_SYSLOG=y
38CONFIG_PLATFORM_LINUX=y
39 39
40# 40#
41# Build Options 41# Build Options
@@ -54,6 +54,7 @@ CONFIG_EXTRA_LDFLAGS=""
54CONFIG_EXTRA_LDLIBS="" 54CONFIG_EXTRA_LDLIBS=""
55# CONFIG_USE_PORTABLE_CODE is not set 55# CONFIG_USE_PORTABLE_CODE is not set
56CONFIG_STACK_OPTIMIZATION_386=y 56CONFIG_STACK_OPTIMIZATION_386=y
57CONFIG_STATIC_LIBGCC=y
57 58
58# 59#
59# Installation Options ("make install" behavior) 60# Installation Options ("make install" behavior)
@@ -75,6 +76,7 @@ CONFIG_PREFIX="./_install"
75# CONFIG_DEBUG_SANITIZE is not set 76# CONFIG_DEBUG_SANITIZE is not set
76# CONFIG_UNIT_TEST is not set 77# CONFIG_UNIT_TEST is not set
77# CONFIG_WERROR is not set 78# CONFIG_WERROR is not set
79# CONFIG_WARN_SIMPLE_MSG is not set
78CONFIG_NO_DEBUG_LIB=y 80CONFIG_NO_DEBUG_LIB=y
79# CONFIG_DMALLOC is not set 81# CONFIG_DMALLOC is not set
80# CONFIG_EFENCE is not set 82# CONFIG_EFENCE is not set
@@ -92,9 +94,12 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
92CONFIG_PASSWORD_MINLEN=6 94CONFIG_PASSWORD_MINLEN=6
93CONFIG_MD5_SMALL=1 95CONFIG_MD5_SMALL=1
94CONFIG_SHA3_SMALL=1 96CONFIG_SHA3_SMALL=1
95CONFIG_FEATURE_FAST_TOP=y 97CONFIG_FEATURE_NON_POSIX_CP=y
96# CONFIG_FEATURE_ETC_NETWORKS is not set 98# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
97# CONFIG_FEATURE_ETC_SERVICES is not set 99CONFIG_FEATURE_USE_SENDFILE=y
100CONFIG_FEATURE_COPYBUF_KB=4
101CONFIG_MONOTONIC_SYSCALL=y
102CONFIG_IOCTL_HEX2STR_ERROR=y
98CONFIG_FEATURE_EDITING=y 103CONFIG_FEATURE_EDITING=y
99CONFIG_FEATURE_EDITING_MAX_LEN=1024 104CONFIG_FEATURE_EDITING_MAX_LEN=1024
100# CONFIG_FEATURE_EDITING_VI is not set 105# CONFIG_FEATURE_EDITING_VI is not set
@@ -108,24 +113,19 @@ CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
108# CONFIG_FEATURE_EDITING_WINCH is not set 113# CONFIG_FEATURE_EDITING_WINCH is not set
109# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set 114# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
110# CONFIG_LOCALE_SUPPORT is not set 115# CONFIG_LOCALE_SUPPORT is not set
111# CONFIG_UNICODE_SUPPORT is not set 116CONFIG_UNICODE_SUPPORT=y
112# CONFIG_UNICODE_USING_LOCALE is not set 117# CONFIG_UNICODE_USING_LOCALE is not set
113# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set 118CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y
114CONFIG_SUBST_WCHAR=0 119CONFIG_SUBST_WCHAR=63
115CONFIG_LAST_SUPPORTED_WCHAR=0 120CONFIG_LAST_SUPPORTED_WCHAR=767
116# CONFIG_UNICODE_COMBINING_WCHARS is not set 121CONFIG_UNICODE_COMBINING_WCHARS=y
117# CONFIG_UNICODE_WIDE_WCHARS is not set 122CONFIG_UNICODE_WIDE_WCHARS=y
118# CONFIG_UNICODE_BIDI_SUPPORT is not set 123# CONFIG_UNICODE_BIDI_SUPPORT is not set
119# CONFIG_UNICODE_NEUTRAL_TABLE is not set 124# CONFIG_UNICODE_NEUTRAL_TABLE is not set
120# CONFIG_UNICODE_PRESERVE_BROKEN is not set 125# CONFIG_UNICODE_PRESERVE_BROKEN is not set
121CONFIG_FEATURE_NON_POSIX_CP=y 126# CONFIG_LOOP_CONFIGURE is not set
122# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 127# CONFIG_NO_LOOP_CONFIGURE is not set
123CONFIG_FEATURE_USE_SENDFILE=y 128CONFIG_TRY_LOOP_CONFIGURE=y
124CONFIG_FEATURE_COPYBUF_KB=4
125CONFIG_FEATURE_SKIP_ROOTFS=y
126CONFIG_MONOTONIC_SYSCALL=y
127CONFIG_IOCTL_HEX2STR_ERROR=y
128CONFIG_FEATURE_HWIB=y
129 129
130# 130#
131# Applets 131# Applets
@@ -155,10 +155,13 @@ CONFIG_LZCAT=y
155CONFIG_XZCAT=y 155CONFIG_XZCAT=y
156# CONFIG_XZ is not set 156# CONFIG_XZ is not set
157CONFIG_BZIP2=y 157CONFIG_BZIP2=y
158CONFIG_BZIP2_SMALL=8
158CONFIG_FEATURE_BZIP2_DECOMPRESS=y 159CONFIG_FEATURE_BZIP2_DECOMPRESS=y
159CONFIG_CPIO=y 160CONFIG_CPIO=y
160# CONFIG_FEATURE_CPIO_O is not set 161# CONFIG_FEATURE_CPIO_O is not set
161# CONFIG_FEATURE_CPIO_P is not set 162# CONFIG_FEATURE_CPIO_P is not set
163# CONFIG_FEATURE_CPIO_IGNORE_DEVNO is not set
164# CONFIG_FEATURE_CPIO_RENUMBER_INODES is not set
162# CONFIG_DPKG is not set 165# CONFIG_DPKG is not set
163# CONFIG_DPKG_DEB is not set 166# CONFIG_DPKG_DEB is not set
164CONFIG_GZIP=y 167CONFIG_GZIP=y
@@ -194,6 +197,22 @@ CONFIG_FEATURE_UNZIP_CDF=y
194# 197#
195# Coreutils 198# Coreutils
196# 199#
200CONFIG_FEATURE_VERBOSE=y
201
202#
203# Common options for date and touch
204#
205# CONFIG_FEATURE_TIMEZONE is not set
206
207#
208# Common options for cp and mv
209#
210# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
211
212#
213# Common options for df, du, ls
214#
215CONFIG_FEATURE_HUMAN_READABLE=y
197CONFIG_BASENAME=y 216CONFIG_BASENAME=y
198CONFIG_CAT=y 217CONFIG_CAT=y
199CONFIG_FEATURE_CATN=y 218CONFIG_FEATURE_CATN=y
@@ -204,11 +223,13 @@ CONFIG_CHOWN=y
204# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set 223# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
205CONFIG_CHROOT=y 224CONFIG_CHROOT=y
206# CONFIG_CKSUM is not set 225# CONFIG_CKSUM is not set
226CONFIG_CRC32=y
207# CONFIG_COMM is not set 227# CONFIG_COMM is not set
208CONFIG_CP=y 228CONFIG_CP=y
209# CONFIG_FEATURE_CP_LONG_OPTIONS is not set 229# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
210# CONFIG_FEATURE_CP_REFLINK is not set 230# CONFIG_FEATURE_CP_REFLINK is not set
211CONFIG_CUT=y 231CONFIG_CUT=y
232CONFIG_FEATURE_CUT_REGEX=y
212CONFIG_DATE=y 233CONFIG_DATE=y
213# CONFIG_FEATURE_DATE_ISOFMT is not set 234# CONFIG_FEATURE_DATE_ISOFMT is not set
214# CONFIG_FEATURE_DATE_NANO is not set 235# CONFIG_FEATURE_DATE_NANO is not set
@@ -220,6 +241,7 @@ CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
220# CONFIG_FEATURE_DD_STATUS is not set 241# CONFIG_FEATURE_DD_STATUS is not set
221CONFIG_DF=y 242CONFIG_DF=y
222# CONFIG_FEATURE_DF_FANCY is not set 243# CONFIG_FEATURE_DF_FANCY is not set
244# CONFIG_FEATURE_SKIP_ROOTFS is not set
223CONFIG_DIRNAME=y 245CONFIG_DIRNAME=y
224# CONFIG_DOS2UNIX is not set 246# CONFIG_DOS2UNIX is not set
225# CONFIG_UNIX2DOS is not set 247# CONFIG_UNIX2DOS is not set
@@ -235,7 +257,6 @@ CONFIG_EXPR_MATH_SUPPORT_64=y
235# CONFIG_FACTOR is not set 257# CONFIG_FACTOR is not set
236CONFIG_FALSE=y 258CONFIG_FALSE=y
237# CONFIG_FOLD is not set 259# CONFIG_FOLD is not set
238# CONFIG_FSYNC is not set
239CONFIG_HEAD=y 260CONFIG_HEAD=y
240# CONFIG_FEATURE_FANCY_HEAD is not set 261# CONFIG_FEATURE_FANCY_HEAD is not set
241# CONFIG_HOSTID is not set 262# CONFIG_HOSTID is not set
@@ -257,8 +278,8 @@ CONFIG_FEATURE_LS_USERNAME=y
257CONFIG_FEATURE_LS_COLOR=y 278CONFIG_FEATURE_LS_COLOR=y
258# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set 279# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
259CONFIG_MD5SUM=y 280CONFIG_MD5SUM=y
260# CONFIG_SHA1SUM is not set 281CONFIG_SHA1SUM=y
261# CONFIG_SHA256SUM is not set 282CONFIG_SHA256SUM=y
262# CONFIG_SHA512SUM is not set 283# CONFIG_SHA512SUM is not set
263# CONFIG_SHA3SUM is not set 284# CONFIG_SHA3SUM is not set
264 285
@@ -302,6 +323,7 @@ CONFIG_STTY=y
302# CONFIG_SUM is not set 323# CONFIG_SUM is not set
303CONFIG_SYNC=y 324CONFIG_SYNC=y
304# CONFIG_FEATURE_SYNC_FANCY is not set 325# CONFIG_FEATURE_SYNC_FANCY is not set
326# CONFIG_FSYNC is not set
305# CONFIG_TAC is not set 327# CONFIG_TAC is not set
306CONFIG_TAIL=y 328CONFIG_TAIL=y
307CONFIG_FEATURE_FANCY_TAIL=y 329CONFIG_FEATURE_FANCY_TAIL=y
@@ -313,13 +335,13 @@ CONFIG_TEST2=y
313CONFIG_FEATURE_TEST_64=y 335CONFIG_FEATURE_TEST_64=y
314# CONFIG_TIMEOUT is not set 336# CONFIG_TIMEOUT is not set
315CONFIG_TOUCH=y 337CONFIG_TOUCH=y
316CONFIG_FEATURE_TOUCH_NODEREF=y
317CONFIG_FEATURE_TOUCH_SUSV3=y 338CONFIG_FEATURE_TOUCH_SUSV3=y
318CONFIG_TR=y 339CONFIG_TR=y
319CONFIG_FEATURE_TR_CLASSES=y 340CONFIG_FEATURE_TR_CLASSES=y
320# CONFIG_FEATURE_TR_EQUIV is not set 341# CONFIG_FEATURE_TR_EQUIV is not set
321CONFIG_TRUE=y 342CONFIG_TRUE=y
322# CONFIG_TRUNCATE is not set 343# CONFIG_TRUNCATE is not set
344# CONFIG_TSORT is not set
323CONFIG_TTY=y 345CONFIG_TTY=y
324CONFIG_UNAME=y 346CONFIG_UNAME=y
325CONFIG_UNAME_OSNAME="GNU/Linux" 347CONFIG_UNAME_OSNAME="GNU/Linux"
@@ -328,32 +350,18 @@ CONFIG_UNIQ=y
328CONFIG_UNLINK=y 350CONFIG_UNLINK=y
329CONFIG_USLEEP=y 351CONFIG_USLEEP=y
330# CONFIG_UUDECODE is not set 352# CONFIG_UUDECODE is not set
353CONFIG_BASE32=y
331# CONFIG_BASE64 is not set 354# CONFIG_BASE64 is not set
332# CONFIG_UUENCODE is not set 355# CONFIG_UUENCODE is not set
333CONFIG_WC=y 356CONFIG_WC=y
334# CONFIG_FEATURE_WC_LARGE is not set 357# CONFIG_FEATURE_WC_LARGE is not set
335CONFIG_WHOAMI=y
336CONFIG_WHO=y 358CONFIG_WHO=y
337# CONFIG_W is not set 359# CONFIG_W is not set
338CONFIG_USERS=y 360CONFIG_USERS=y
361CONFIG_WHOAMI=y
339CONFIG_YES=y 362CONFIG_YES=y
340 363
341# 364#
342# Common options
343#
344CONFIG_FEATURE_VERBOSE=y
345
346#
347# Common options for cp and mv
348#
349# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
350
351#
352# Common options for df, du, ls
353#
354CONFIG_FEATURE_HUMAN_READABLE=y
355
356#
357# Console Utilities 365# Console Utilities
358# 366#
359CONFIG_CHVT=y 367CONFIG_CHVT=y
@@ -375,8 +383,8 @@ CONFIG_DEFAULT_SETFONT_DIR=""
375CONFIG_LOADKMAP=y 383CONFIG_LOADKMAP=y
376CONFIG_OPENVT=y 384CONFIG_OPENVT=y
377CONFIG_RESET=y 385CONFIG_RESET=y
378# CONFIG_RESIZE is not set 386CONFIG_RESIZE=y
379# CONFIG_FEATURE_RESIZE_PRINT is not set 387CONFIG_FEATURE_RESIZE_PRINT=y
380CONFIG_SETCONSOLE=y 388CONFIG_SETCONSOLE=y
381# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 389# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
382# CONFIG_SETKEYCODES is not set 390# CONFIG_SETKEYCODES is not set
@@ -420,6 +428,7 @@ CONFIG_VI=y
420CONFIG_FEATURE_VI_MAX_LEN=1024 428CONFIG_FEATURE_VI_MAX_LEN=1024
421CONFIG_FEATURE_VI_8BIT=y 429CONFIG_FEATURE_VI_8BIT=y
422CONFIG_FEATURE_VI_COLON=y 430CONFIG_FEATURE_VI_COLON=y
431CONFIG_FEATURE_VI_COLON_EXPAND=y
423CONFIG_FEATURE_VI_YANKMARK=y 432CONFIG_FEATURE_VI_YANKMARK=y
424CONFIG_FEATURE_VI_SEARCH=y 433CONFIG_FEATURE_VI_SEARCH=y
425# CONFIG_FEATURE_VI_REGEX_SEARCH is not set 434# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
@@ -433,6 +442,7 @@ CONFIG_FEATURE_VI_WIN_RESIZE=y
433CONFIG_FEATURE_VI_UNDO=y 442CONFIG_FEATURE_VI_UNDO=y
434CONFIG_FEATURE_VI_UNDO_QUEUE=y 443CONFIG_FEATURE_VI_UNDO_QUEUE=y
435CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 444CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
445CONFIG_FEATURE_VI_VERBOSE_STATUS=y
436CONFIG_FEATURE_ALLOW_EXEC=y 446CONFIG_FEATURE_ALLOW_EXEC=y
437 447
438# 448#
@@ -441,7 +451,11 @@ CONFIG_FEATURE_ALLOW_EXEC=y
441CONFIG_FIND=y 451CONFIG_FIND=y
442CONFIG_FEATURE_FIND_PRINT0=y 452CONFIG_FEATURE_FIND_PRINT0=y
443CONFIG_FEATURE_FIND_MTIME=y 453CONFIG_FEATURE_FIND_MTIME=y
454CONFIG_FEATURE_FIND_ATIME=y
455CONFIG_FEATURE_FIND_CTIME=y
444CONFIG_FEATURE_FIND_MMIN=y 456CONFIG_FEATURE_FIND_MMIN=y
457CONFIG_FEATURE_FIND_AMIN=y
458CONFIG_FEATURE_FIND_CMIN=y
445CONFIG_FEATURE_FIND_PERM=y 459CONFIG_FEATURE_FIND_PERM=y
446CONFIG_FEATURE_FIND_TYPE=y 460CONFIG_FEATURE_FIND_TYPE=y
447CONFIG_FEATURE_FIND_EXECUTABLE=y 461CONFIG_FEATURE_FIND_EXECUTABLE=y
@@ -449,6 +463,7 @@ CONFIG_FEATURE_FIND_XDEV=y
449CONFIG_FEATURE_FIND_MAXDEPTH=y 463CONFIG_FEATURE_FIND_MAXDEPTH=y
450CONFIG_FEATURE_FIND_NEWER=y 464CONFIG_FEATURE_FIND_NEWER=y
451# CONFIG_FEATURE_FIND_INUM is not set 465# CONFIG_FEATURE_FIND_INUM is not set
466CONFIG_FEATURE_FIND_SAMEFILE=y
452CONFIG_FEATURE_FIND_EXEC=y 467CONFIG_FEATURE_FIND_EXEC=y
453CONFIG_FEATURE_FIND_EXEC_PLUS=y 468CONFIG_FEATURE_FIND_EXEC_PLUS=y
454CONFIG_FEATURE_FIND_USER=y 469CONFIG_FEATURE_FIND_USER=y
@@ -460,6 +475,7 @@ CONFIG_FEATURE_FIND_SIZE=y
460CONFIG_FEATURE_FIND_PRUNE=y 475CONFIG_FEATURE_FIND_PRUNE=y
461CONFIG_FEATURE_FIND_QUIT=y 476CONFIG_FEATURE_FIND_QUIT=y
462# CONFIG_FEATURE_FIND_DELETE is not set 477# CONFIG_FEATURE_FIND_DELETE is not set
478CONFIG_FEATURE_FIND_EMPTY=y
463CONFIG_FEATURE_FIND_PATH=y 479CONFIG_FEATURE_FIND_PATH=y
464CONFIG_FEATURE_FIND_REGEX=y 480CONFIG_FEATURE_FIND_REGEX=y
465# CONFIG_FEATURE_FIND_CONTEXT is not set 481# CONFIG_FEATURE_FIND_CONTEXT is not set
@@ -488,32 +504,32 @@ CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
488CONFIG_REBOOT=y 504CONFIG_REBOOT=y
489# CONFIG_FEATURE_WAIT_FOR_INIT is not set 505# CONFIG_FEATURE_WAIT_FOR_INIT is not set
490# CONFIG_FEATURE_CALL_TELINIT is not set 506# CONFIG_FEATURE_CALL_TELINIT is not set
491# CONFIG_TELINIT_PATH is not set 507CONFIG_TELINIT_PATH=""
492# CONFIG_INIT is not set 508# CONFIG_INIT is not set
493# CONFIG_LINUXRC is not set 509# CONFIG_LINUXRC is not set
494# CONFIG_FEATURE_USE_INITTAB is not set 510# CONFIG_FEATURE_USE_INITTAB is not set
495# CONFIG_FEATURE_KILL_REMOVED is not set 511# CONFIG_FEATURE_KILL_REMOVED is not set
496# CONFIG_FEATURE_KILL_DELAY is not set 512CONFIG_FEATURE_KILL_DELAY=0
497# CONFIG_FEATURE_INIT_SCTTY is not set 513# CONFIG_FEATURE_INIT_SCTTY is not set
498# CONFIG_FEATURE_INIT_SYSLOG is not set 514# CONFIG_FEATURE_INIT_SYSLOG is not set
499# CONFIG_FEATURE_INIT_QUIET is not set 515# CONFIG_FEATURE_INIT_QUIET is not set
500# CONFIG_FEATURE_INIT_COREDUMPS is not set 516# CONFIG_FEATURE_INIT_COREDUMPS is not set
501# CONFIG_INIT_TERMINAL_TYPE is not set 517CONFIG_INIT_TERMINAL_TYPE=""
502# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set 518# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set
503 519
504# 520#
505# Login/Password Management Utilities 521# Login/Password Management Utilities
506# 522#
507# CONFIG_FEATURE_SHADOWPASSWDS is not set 523CONFIG_FEATURE_SHADOWPASSWDS=y
508# CONFIG_USE_BB_PWD_GRP is not set 524# CONFIG_USE_BB_PWD_GRP is not set
509# CONFIG_USE_BB_SHADOW is not set 525# CONFIG_USE_BB_SHADOW is not set
510CONFIG_USE_BB_CRYPT=y 526CONFIG_USE_BB_CRYPT=y
511# CONFIG_USE_BB_CRYPT_SHA is not set 527# CONFIG_USE_BB_CRYPT_SHA is not set
512# CONFIG_ADDGROUP is not set
513# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
514# CONFIG_ADD_SHELL is not set 528# CONFIG_ADD_SHELL is not set
515# CONFIG_REMOVE_SHELL is not set 529# CONFIG_REMOVE_SHELL is not set
516# CONFIG_ADDUSER is not set 530CONFIG_ADDGROUP=y
531# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
532CONFIG_ADDUSER=y
517# CONFIG_FEATURE_CHECK_NAMES is not set 533# CONFIG_FEATURE_CHECK_NAMES is not set
518CONFIG_LAST_ID=60000 534CONFIG_LAST_ID=60000
519CONFIG_FIRST_SYSTEM_ID=100 535CONFIG_FIRST_SYSTEM_ID=100
@@ -522,23 +538,23 @@ CONFIG_LAST_SYSTEM_ID=999
522CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" 538CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
523# CONFIG_CRYPTPW is not set 539# CONFIG_CRYPTPW is not set
524# CONFIG_MKPASSWD is not set 540# CONFIG_MKPASSWD is not set
525# CONFIG_DELUSER is not set 541CONFIG_DELUSER=y
526# CONFIG_DELGROUP is not set 542CONFIG_DELGROUP=y
527# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set 543# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
528# CONFIG_GETTY is not set 544CONFIG_GETTY=y
529# CONFIG_LOGIN is not set 545CONFIG_LOGIN=y
530# CONFIG_LOGIN_SESSION_AS_CHILD is not set 546# CONFIG_LOGIN_SESSION_AS_CHILD is not set
531# CONFIG_LOGIN_SCRIPTS is not set 547# CONFIG_LOGIN_SCRIPTS is not set
532# CONFIG_FEATURE_NOLOGIN is not set 548# CONFIG_FEATURE_NOLOGIN is not set
533# CONFIG_FEATURE_SECURETTY is not set 549# CONFIG_FEATURE_SECURETTY is not set
534# CONFIG_PASSWD is not set 550CONFIG_PASSWD=y
535# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set 551# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
536# CONFIG_SU is not set 552CONFIG_SU=y
537# CONFIG_FEATURE_SU_SYSLOG is not set 553# CONFIG_FEATURE_SU_SYSLOG is not set
538# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set 554# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
539# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set 555# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
540# CONFIG_SULOGIN is not set 556CONFIG_SULOGIN=y
541# CONFIG_VLOCK is not set 557CONFIG_VLOCK=y
542 558
543# 559#
544# Linux Ext2 FS Progs 560# Linux Ext2 FS Progs
@@ -585,8 +601,8 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
585# CONFIG_ACPID is not set 601# CONFIG_ACPID is not set
586# CONFIG_FEATURE_ACPID_COMPAT is not set 602# CONFIG_FEATURE_ACPID_COMPAT is not set
587# CONFIG_BLKDISCARD is not set 603# CONFIG_BLKDISCARD is not set
588# CONFIG_BLKID is not set 604CONFIG_BLKID=y
589# CONFIG_FEATURE_BLKID_TYPE is not set 605CONFIG_FEATURE_BLKID_TYPE=y
590# CONFIG_BLOCKDEV is not set 606# CONFIG_BLOCKDEV is not set
591# CONFIG_CAL is not set 607# CONFIG_CAL is not set
592# CONFIG_CHRT is not set 608# CONFIG_CHRT is not set
@@ -616,10 +632,9 @@ CONFIG_FLOCK=y
616# CONFIG_FSCK_MINIX is not set 632# CONFIG_FSCK_MINIX is not set
617# CONFIG_FSFREEZE is not set 633# CONFIG_FSFREEZE is not set
618CONFIG_FSTRIM=y 634CONFIG_FSTRIM=y
619# CONFIG_GETOPT is not set 635CONFIG_GETOPT=y
620# CONFIG_FEATURE_GETOPT_LONG is not set 636CONFIG_FEATURE_GETOPT_LONG=y
621CONFIG_HEXDUMP=y 637CONFIG_HEXDUMP=y
622# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
623# CONFIG_HD is not set 638# CONFIG_HD is not set
624# CONFIG_XXD is not set 639# CONFIG_XXD is not set
625CONFIG_HWCLOCK=y 640CONFIG_HWCLOCK=y
@@ -638,6 +653,7 @@ CONFIG_LOSETUP=y
638# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set 653# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
639# CONFIG_FEATURE_MDEV_EXEC is not set 654# CONFIG_FEATURE_MDEV_EXEC is not set
640# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set 655# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
656# CONFIG_FEATURE_MDEV_DAEMON is not set
641CONFIG_MESG=y 657CONFIG_MESG=y
642# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set 658# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
643# CONFIG_MKE2FS is not set 659# CONFIG_MKE2FS is not set
@@ -654,7 +670,7 @@ CONFIG_MOUNT=y
654# CONFIG_FEATURE_MOUNT_FAKE is not set 670# CONFIG_FEATURE_MOUNT_FAKE is not set
655# CONFIG_FEATURE_MOUNT_VERBOSE is not set 671# CONFIG_FEATURE_MOUNT_VERBOSE is not set
656# CONFIG_FEATURE_MOUNT_HELPERS is not set 672# CONFIG_FEATURE_MOUNT_HELPERS is not set
657# CONFIG_FEATURE_MOUNT_LABEL is not set 673CONFIG_FEATURE_MOUNT_LABEL=y
658# CONFIG_FEATURE_MOUNT_NFS is not set 674# CONFIG_FEATURE_MOUNT_NFS is not set
659# CONFIG_FEATURE_MOUNT_CIFS is not set 675# CONFIG_FEATURE_MOUNT_CIFS is not set
660CONFIG_FEATURE_MOUNT_FLAGS=y 676CONFIG_FEATURE_MOUNT_FLAGS=y
@@ -669,7 +685,7 @@ CONFIG_RDATE=y
669# CONFIG_RDEV is not set 685# CONFIG_RDEV is not set
670# CONFIG_READPROFILE is not set 686# CONFIG_READPROFILE is not set
671CONFIG_RENICE=y 687CONFIG_RENICE=y
672# CONFIG_REV is not set 688CONFIG_REV=y
673# CONFIG_RTCWAKE is not set 689# CONFIG_RTCWAKE is not set
674# CONFIG_SCRIPT is not set 690# CONFIG_SCRIPT is not set
675# CONFIG_SCRIPTREPLAY is not set 691# CONFIG_SCRIPTREPLAY is not set
@@ -689,6 +705,7 @@ CONFIG_SWAPOFF=y
689CONFIG_SWITCH_ROOT=y 705CONFIG_SWITCH_ROOT=y
690# CONFIG_TASKSET is not set 706# CONFIG_TASKSET is not set
691# CONFIG_FEATURE_TASKSET_FANCY is not set 707# CONFIG_FEATURE_TASKSET_FANCY is not set
708# CONFIG_FEATURE_TASKSET_CPULIST is not set
692# CONFIG_UEVENT is not set 709# CONFIG_UEVENT is not set
693CONFIG_UMOUNT=y 710CONFIG_UMOUNT=y
694CONFIG_FEATURE_UMOUNT_ALL=y 711CONFIG_FEATURE_UMOUNT_ALL=y
@@ -701,18 +718,19 @@ CONFIG_FEATURE_UMOUNT_ALL=y
701CONFIG_FEATURE_MOUNT_LOOP=y 718CONFIG_FEATURE_MOUNT_LOOP=y
702CONFIG_FEATURE_MOUNT_LOOP_CREATE=y 719CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
703# CONFIG_FEATURE_MTAB_SUPPORT is not set 720# CONFIG_FEATURE_MTAB_SUPPORT is not set
704# CONFIG_VOLUMEID is not set 721CONFIG_VOLUMEID=y
705 722
706# 723#
707# Filesystem/Volume identification 724# Filesystem/Volume identification
708# 725#
709# CONFIG_FEATURE_VOLUMEID_BCACHE is not set 726# CONFIG_FEATURE_VOLUMEID_BCACHE is not set
710# CONFIG_FEATURE_VOLUMEID_BTRFS is not set 727CONFIG_FEATURE_VOLUMEID_BTRFS=y
711# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 728# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
729CONFIG_FEATURE_VOLUMEID_EROFS=y
712# CONFIG_FEATURE_VOLUMEID_EXFAT is not set 730# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
713# CONFIG_FEATURE_VOLUMEID_EXT is not set 731CONFIG_FEATURE_VOLUMEID_EXT=y
714# CONFIG_FEATURE_VOLUMEID_F2FS is not set 732CONFIG_FEATURE_VOLUMEID_F2FS=y
715# CONFIG_FEATURE_VOLUMEID_FAT is not set 733CONFIG_FEATURE_VOLUMEID_FAT=y
716# CONFIG_FEATURE_VOLUMEID_HFS is not set 734# CONFIG_FEATURE_VOLUMEID_HFS is not set
717# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set 735# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
718# CONFIG_FEATURE_VOLUMEID_JFS is not set 736# CONFIG_FEATURE_VOLUMEID_JFS is not set
@@ -726,7 +744,7 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
726# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 744# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
727# CONFIG_FEATURE_VOLUMEID_REISERFS is not set 745# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
728# CONFIG_FEATURE_VOLUMEID_ROMFS is not set 746# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
729# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set 747CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
730# CONFIG_FEATURE_VOLUMEID_SYSV is not set 748# CONFIG_FEATURE_VOLUMEID_SYSV is not set
731# CONFIG_FEATURE_VOLUMEID_UBIFS is not set 749# CONFIG_FEATURE_VOLUMEID_UBIFS is not set
732# CONFIG_FEATURE_VOLUMEID_UDF is not set 750# CONFIG_FEATURE_VOLUMEID_UDF is not set
@@ -736,6 +754,7 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
736# Miscellaneous Utilities 754# Miscellaneous Utilities
737# 755#
738# CONFIG_ADJTIMEX is not set 756# CONFIG_ADJTIMEX is not set
757CONFIG_ASCII=y
739# CONFIG_BBCONFIG is not set 758# CONFIG_BBCONFIG is not set
740# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set 759# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
741# CONFIG_BC is not set 760# CONFIG_BC is not set
@@ -769,10 +788,10 @@ CONFIG_FEATURE_CROND_DIR=""
769# CONFIG_FEATURE_DEVFS is not set 788# CONFIG_FEATURE_DEVFS is not set
770# CONFIG_DEVMEM is not set 789# CONFIG_DEVMEM is not set
771# CONFIG_FBSPLASH is not set 790# CONFIG_FBSPLASH is not set
772# CONFIG_FLASHCP is not set
773# CONFIG_FLASH_ERASEALL is not set 791# CONFIG_FLASH_ERASEALL is not set
774# CONFIG_FLASH_LOCK is not set 792# CONFIG_FLASH_LOCK is not set
775# CONFIG_FLASH_UNLOCK is not set 793# CONFIG_FLASH_UNLOCK is not set
794# CONFIG_FLASHCP is not set
776# CONFIG_HDPARM is not set 795# CONFIG_HDPARM is not set
777# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set 796# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
778# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 797# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
@@ -806,6 +825,7 @@ CONFIG_FEATURE_LESS_FLAGS=y
806# CONFIG_FEATURE_MAKEDEVS_TABLE is not set 825# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
807# CONFIG_MAN is not set 826# CONFIG_MAN is not set
808CONFIG_MICROCOM=y 827CONFIG_MICROCOM=y
828# CONFIG_MIM is not set
809# CONFIG_MT is not set 829# CONFIG_MT is not set
810# CONFIG_NANDWRITE is not set 830# CONFIG_NANDWRITE is not set
811# CONFIG_NANDDUMP is not set 831# CONFIG_NANDDUMP is not set
@@ -815,20 +835,24 @@ CONFIG_MICROCOM=y
815CONFIG_RFKILL=y 835CONFIG_RFKILL=y
816# CONFIG_RUNLEVEL is not set 836# CONFIG_RUNLEVEL is not set
817# CONFIG_RX is not set 837# CONFIG_RX is not set
838# CONFIG_SEEDRNG is not set
818# CONFIG_SETFATTR is not set 839# CONFIG_SETFATTR is not set
819# CONFIG_SETSERIAL is not set 840# CONFIG_SETSERIAL is not set
820CONFIG_STRINGS=y 841CONFIG_STRINGS=y
821CONFIG_TIME=y 842CONFIG_TIME=y
843# CONFIG_TREE is not set
844CONFIG_TS=y
822# CONFIG_TTYSIZE is not set 845# CONFIG_TTYSIZE is not set
823# CONFIG_UBIRENAME is not set
824# CONFIG_UBIATTACH is not set 846# CONFIG_UBIATTACH is not set
825# CONFIG_UBIDETACH is not set 847# CONFIG_UBIDETACH is not set
826# CONFIG_UBIMKVOL is not set 848# CONFIG_UBIMKVOL is not set
827# CONFIG_UBIRMVOL is not set 849# CONFIG_UBIRMVOL is not set
828# CONFIG_UBIRSVOL is not set 850# CONFIG_UBIRSVOL is not set
829# CONFIG_UBIUPDATEVOL is not set 851# CONFIG_UBIUPDATEVOL is not set
852# CONFIG_UBIRENAME is not set
830# CONFIG_VOLNAME is not set 853# CONFIG_VOLNAME is not set
831# CONFIG_WATCHDOG is not set 854# CONFIG_WATCHDOG is not set
855# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set
832 856
833# 857#
834# Networking Utilities 858# Networking Utilities
@@ -837,6 +861,9 @@ CONFIG_FEATURE_IPV6=y
837# CONFIG_FEATURE_UNIX_LOCAL is not set 861# CONFIG_FEATURE_UNIX_LOCAL is not set
838CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 862CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
839# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 863# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
864# CONFIG_FEATURE_ETC_NETWORKS is not set
865# CONFIG_FEATURE_ETC_SERVICES is not set
866CONFIG_FEATURE_HWIB=y
840# CONFIG_FEATURE_TLS_SHA1 is not set 867# CONFIG_FEATURE_TLS_SHA1 is not set
841# CONFIG_ARP is not set 868# CONFIG_ARP is not set
842# CONFIG_ARPING is not set 869# CONFIG_ARPING is not set
@@ -866,6 +893,10 @@ CONFIG_DNSDOMAINNAME=y
866# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set 893# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
867# CONFIG_FEATURE_HTTPD_PROXY is not set 894# CONFIG_FEATURE_HTTPD_PROXY is not set
868# CONFIG_FEATURE_HTTPD_GZIP is not set 895# CONFIG_FEATURE_HTTPD_GZIP is not set
896# CONFIG_FEATURE_HTTPD_ETAG is not set
897# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set
898# CONFIG_FEATURE_HTTPD_DATE is not set
899# CONFIG_FEATURE_HTTPD_ACL_IP is not set
869CONFIG_IFCONFIG=y 900CONFIG_IFCONFIG=y
870CONFIG_FEATURE_IFCONFIG_STATUS=y 901CONFIG_FEATURE_IFCONFIG_STATUS=y
871# CONFIG_FEATURE_IFCONFIG_SLIP is not set 902# CONFIG_FEATURE_IFCONFIG_SLIP is not set
@@ -946,6 +977,7 @@ CONFIG_FEATURE_TELNET_WIDTH=y
946# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set 977# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
947CONFIG_TFTP=y 978CONFIG_TFTP=y
948# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set 979# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
980CONFIG_FEATURE_TFTP_HPA_COMPAT=y
949# CONFIG_TFTPD is not set 981# CONFIG_TFTPD is not set
950CONFIG_FEATURE_TFTP_GET=y 982CONFIG_FEATURE_TFTP_GET=y
951CONFIG_FEATURE_TFTP_PUT=y 983CONFIG_FEATURE_TFTP_PUT=y
@@ -962,6 +994,7 @@ CONFIG_TRACEROUTE=y
962CONFIG_WGET=y 994CONFIG_WGET=y
963CONFIG_FEATURE_WGET_LONG_OPTIONS=y 995CONFIG_FEATURE_WGET_LONG_OPTIONS=y
964CONFIG_FEATURE_WGET_STATUSBAR=y 996CONFIG_FEATURE_WGET_STATUSBAR=y
997CONFIG_FEATURE_WGET_FTP=y
965CONFIG_FEATURE_WGET_AUTHENTICATION=y 998CONFIG_FEATURE_WGET_AUTHENTICATION=y
966CONFIG_FEATURE_WGET_TIMEOUT=y 999CONFIG_FEATURE_WGET_TIMEOUT=y
967CONFIG_FEATURE_WGET_HTTPS=y 1000CONFIG_FEATURE_WGET_HTTPS=y
@@ -990,6 +1023,7 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
990# CONFIG_FEATURE_UDHCP_PORT is not set 1023# CONFIG_FEATURE_UDHCP_PORT is not set
991CONFIG_UDHCP_DEBUG=0 1024CONFIG_UDHCP_DEBUG=0
992CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 1025CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
1026CONFIG_FEATURE_UDHCP_RFC3397=y
993# CONFIG_FEATURE_UDHCP_8021Q is not set 1027# CONFIG_FEATURE_UDHCP_8021Q is not set
994CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b" 1028CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"
995 1029
@@ -1003,17 +1037,19 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"
1003# 1037#
1004# Mail Utilities 1038# Mail Utilities
1005# 1039#
1040CONFIG_FEATURE_MIME_CHARSET=""
1006# CONFIG_MAKEMIME is not set 1041# CONFIG_MAKEMIME is not set
1007# CONFIG_POPMAILDIR is not set 1042# CONFIG_POPMAILDIR is not set
1008# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set 1043# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
1009# CONFIG_REFORMIME is not set 1044# CONFIG_REFORMIME is not set
1010# CONFIG_FEATURE_REFORMIME_COMPAT is not set 1045# CONFIG_FEATURE_REFORMIME_COMPAT is not set
1011# CONFIG_SENDMAIL is not set 1046# CONFIG_SENDMAIL is not set
1012CONFIG_FEATURE_MIME_CHARSET=""
1013 1047
1014# 1048#
1015# Process Utilities 1049# Process Utilities
1016# 1050#
1051CONFIG_FEATURE_FAST_TOP=y
1052# CONFIG_FEATURE_SHOW_THREADS is not set
1017CONFIG_FREE=y 1053CONFIG_FREE=y
1018CONFIG_FUSER=y 1054CONFIG_FUSER=y
1019# CONFIG_IOSTAT is not set 1055# CONFIG_IOSTAT is not set
@@ -1023,7 +1059,7 @@ CONFIG_KILLALL=y
1023# CONFIG_LSOF is not set 1059# CONFIG_LSOF is not set
1024# CONFIG_MPSTAT is not set 1060# CONFIG_MPSTAT is not set
1025# CONFIG_NMETER is not set 1061# CONFIG_NMETER is not set
1026# CONFIG_PGREP is not set 1062CONFIG_PGREP=y
1027# CONFIG_PKILL is not set 1063# CONFIG_PKILL is not set
1028CONFIG_PIDOF=y 1064CONFIG_PIDOF=y
1029# CONFIG_FEATURE_PIDOF_SINGLE is not set 1065# CONFIG_FEATURE_PIDOF_SINGLE is not set
@@ -1052,7 +1088,6 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
1052CONFIG_UPTIME=y 1088CONFIG_UPTIME=y
1053# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set 1089# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
1054CONFIG_WATCH=y 1090CONFIG_WATCH=y
1055# CONFIG_FEATURE_SHOW_THREADS is not set
1056 1091
1057# 1092#
1058# Runit Utilities 1093# Runit Utilities
@@ -1093,6 +1128,7 @@ CONFIG_SH_IS_ASH=y
1093# CONFIG_BASH_IS_ASH is not set 1128# CONFIG_BASH_IS_ASH is not set
1094# CONFIG_BASH_IS_HUSH is not set 1129# CONFIG_BASH_IS_HUSH is not set
1095CONFIG_BASH_IS_NONE=y 1130CONFIG_BASH_IS_NONE=y
1131CONFIG_SHELL_ASH=y
1096CONFIG_ASH=y 1132CONFIG_ASH=y
1097CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 1133CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
1098CONFIG_ASH_INTERNAL_GLOB=y 1134CONFIG_ASH_INTERNAL_GLOB=y
@@ -1113,10 +1149,11 @@ CONFIG_ASH_GETOPTS=y
1113CONFIG_ASH_CMDCMD=y 1149CONFIG_ASH_CMDCMD=y
1114# CONFIG_CTTYHACK is not set 1150# CONFIG_CTTYHACK is not set
1115# CONFIG_HUSH is not set 1151# CONFIG_HUSH is not set
1152# CONFIG_SHELL_HUSH is not set
1116# CONFIG_HUSH_BASH_COMPAT is not set 1153# CONFIG_HUSH_BASH_COMPAT is not set
1117# CONFIG_HUSH_BRACE_EXPANSION is not set 1154# CONFIG_HUSH_BRACE_EXPANSION is not set
1118# CONFIG_HUSH_LINENO_VAR is not set
1119# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set 1155# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
1156# CONFIG_HUSH_LINENO_VAR is not set
1120# CONFIG_HUSH_INTERACTIVE is not set 1157# CONFIG_HUSH_INTERACTIVE is not set
1121# CONFIG_HUSH_SAVEHISTORY is not set 1158# CONFIG_HUSH_SAVEHISTORY is not set
1122# CONFIG_HUSH_JOB is not set 1159# CONFIG_HUSH_JOB is not set
@@ -1153,7 +1190,8 @@ CONFIG_ASH_CMDCMD=y
1153# Options common to all shells 1190# Options common to all shells
1154# 1191#
1155CONFIG_FEATURE_SH_MATH=y 1192CONFIG_FEATURE_SH_MATH=y
1156# CONFIG_FEATURE_SH_MATH_64 is not set 1193CONFIG_FEATURE_SH_MATH_64=y
1194CONFIG_FEATURE_SH_MATH_BASE=y
1157CONFIG_FEATURE_SH_EXTRA_QUIET=y 1195CONFIG_FEATURE_SH_EXTRA_QUIET=y
1158# CONFIG_FEATURE_SH_STANDALONE is not set 1196# CONFIG_FEATURE_SH_STANDALONE is not set
1159# CONFIG_FEATURE_SH_NOFORK is not set 1197# CONFIG_FEATURE_SH_NOFORK is not set
@@ -1171,14 +1209,15 @@ CONFIG_KLOGD=y
1171# 1209#
1172CONFIG_FEATURE_KLOGD_KLOGCTL=y 1210CONFIG_FEATURE_KLOGD_KLOGCTL=y
1173CONFIG_LOGGER=y 1211CONFIG_LOGGER=y
1174# CONFIG_LOGREAD is not set 1212CONFIG_LOGREAD=y
1175# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 1213CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
1176# CONFIG_SYSLOGD is not set 1214CONFIG_SYSLOGD=y
1177# CONFIG_FEATURE_ROTATE_LOGFILE is not set 1215CONFIG_FEATURE_ROTATE_LOGFILE=y
1178# CONFIG_FEATURE_REMOTE_LOG is not set 1216CONFIG_FEATURE_REMOTE_LOG=y
1179# CONFIG_FEATURE_SYSLOGD_DUP is not set 1217CONFIG_FEATURE_SYSLOGD_DUP=y
1180# CONFIG_FEATURE_SYSLOGD_CFG is not set 1218CONFIG_FEATURE_SYSLOGD_CFG=y
1181CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 1219# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set
1182# CONFIG_FEATURE_IPC_SYSLOG is not set 1220CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
1183CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 1221CONFIG_FEATURE_IPC_SYSLOG=y
1184# CONFIG_FEATURE_KMSG_SYSLOG is not set 1222CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64
1223CONFIG_FEATURE_KMSG_SYSLOG=y
diff --git a/meta/recipes-core/busybox/busybox/fail_on_no_media.patch b/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
index 820acc2684..38db52538e 100644
--- a/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
+++ b/meta/recipes-core/busybox/busybox/fail_on_no_media.patch
@@ -1,3 +1,8 @@
1From a35e79002d36cca3c272ba5625aec86d6b7a38a8 Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Tue, 9 Apr 2013 23:25:54 -0700
4Subject: [PATCH] busybox: fail on no media
5
1Upstream-Status: Denied 6Upstream-Status: Denied
2[https://www.mail-archive.com/busybox@busybox.net/msg22354.html] 7[https://www.mail-archive.com/busybox@busybox.net/msg22354.html]
3 8
@@ -10,16 +15,18 @@ removed, but that would be harder to accomplish.
10 15
11Signed-off-by: Saul Wold <sgw@linux.intel.com> 16Signed-off-by: Saul Wold <sgw@linux.intel.com>
12 17
18---
19 util-linux/mount.c | 8 ++++++++
20 1 file changed, 8 insertions(+)
13 21
14Index: busybox-1.20.2/util-linux/mount.c 22diff --git a/util-linux/mount.c b/util-linux/mount.c
15=================================================================== 23index 4e65b6b..9d7a566 100644
16--- busybox-1.20.2.orig/util-linux/mount.c 24--- a/util-linux/mount.c
17+++ busybox-1.20.2/util-linux/mount.c 25+++ b/util-linux/mount.c
18@@ -598,7 +598,13 @@ static int mount_it_now(struct mntent *m 26@@ -746,6 +746,14 @@ static int mount_it_now(struct mntent *mp, unsigned long vfsflags, char *filtero
19 break;
20 errno = errno_save; 27 errno = errno_save;
21 } 28 }
22- 29
23+ /* 30+ /*
24+ * Break if there is no media, no point retrying for all 31+ * Break if there is no media, no point retrying for all
25+ * fs types since there is no media available 32+ * fs types since there is no media available
@@ -27,6 +34,7 @@ Index: busybox-1.20.2/util-linux/mount.c
27+ if (rc == -1 && errno == ENOMEDIUM) { 34+ if (rc == -1 && errno == ENOMEDIUM) {
28+ bb_perror_msg_and_die("mounting %s on %s failed", mp->mnt_fsname, mp->mnt_dir); 35+ bb_perror_msg_and_die("mounting %s on %s failed", mp->mnt_fsname, mp->mnt_dir);
29+ } 36+ }
30 if (!rc || (vfsflags & MS_RDONLY) || (errno != EACCES && errno != EROFS)) 37+
31 break; 38 // Should we retry read-only mount?
32 if (!(vfsflags & MS_SILENT)) 39 if (vfsflags & MS_RDONLY)
40 break; // no, already was tried
diff --git a/meta/recipes-core/busybox/busybox/longopts.cfg b/meta/recipes-core/busybox/busybox/longopts.cfg
new file mode 100644
index 0000000000..dcfab99919
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/longopts.cfg
@@ -0,0 +1,15 @@
1CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y
2CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
3CONFIG_FEATURE_TAR_LONG_OPTIONS=y
4CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
5CONFIG_FEATURE_CP_LONG_OPTIONS=y
6CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
7CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
8CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
9CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
10CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
11CONFIG_FEATURE_BC_LONG_OPTIONS=y
12CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
13CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
14CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y
15CONFIG_FEATURE_WGET_LONG_OPTIONS=y
diff --git a/meta/recipes-core/busybox/busybox/mount-via-label.cfg b/meta/recipes-core/busybox/busybox/mount-via-label.cfg
index 2fe7ab2e5f..5a285de7cd 100644
--- a/meta/recipes-core/busybox/busybox/mount-via-label.cfg
+++ b/meta/recipes-core/busybox/busybox/mount-via-label.cfg
@@ -1,9 +1,11 @@
1CONFIG_BLKID=y 1CONFIG_BLKID=y
2CONFIG_FEATURE_BLKID_TYPE=y 2CONFIG_FEATURE_BLKID_TYPE=y
3CONFIG_FEATURE_MOUNT_LABEL=y 3CONFIG_FEATURE_MOUNT_LABEL=y
4CONFIG_FEATURE_SWAPONOFF_LABEL=y
4CONFIG_VOLUMEID=y 5CONFIG_VOLUMEID=y
5CONFIG_FEATURE_VOLUMEID_BTRFS=y 6CONFIG_FEATURE_VOLUMEID_BTRFS=y
6CONFIG_FEATURE_VOLUMEID_EXT=y 7CONFIG_FEATURE_VOLUMEID_EXT=y
7CONFIG_FEATURE_VOLUMEID_F2FS=y 8CONFIG_FEATURE_VOLUMEID_F2FS=y
8CONFIG_FEATURE_VOLUMEID_FAT=y 9CONFIG_FEATURE_VOLUMEID_FAT=y
9CONFIG_FEATURE_VOLUMEID_SQUASHFS=y 10CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
11CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
diff --git a/meta/recipes-core/busybox/busybox/musl.cfg b/meta/recipes-core/busybox/busybox/musl.cfg
index 6fffc91098..ba63def1ba 100644
--- a/meta/recipes-core/busybox/busybox/musl.cfg
+++ b/meta/recipes-core/busybox/busybox/musl.cfg
@@ -7,5 +7,4 @@
7# CONFIG_FEATURE_INETD_RPC is not set 7# CONFIG_FEATURE_INETD_RPC is not set
8# CONFIG_SELINUXENABLED is not set 8# CONFIG_SELINUXENABLED is not set
9# CONFIG_FEATURE_MOUNT_NFS is not set 9# CONFIG_FEATURE_MOUNT_NFS is not set
10# CONFIG_FEATURE_UTMP is not set
11 10
diff --git a/meta/recipes-core/busybox/busybox/recognize_connmand.patch b/meta/recipes-core/busybox/busybox/recognize_connmand.patch
index f42c74caad..4f28beb556 100644
--- a/meta/recipes-core/busybox/busybox/recognize_connmand.patch
+++ b/meta/recipes-core/busybox/busybox/recognize_connmand.patch
@@ -4,14 +4,14 @@ Upstream-Status: Inappropriate [OE-Core]
4 4
5Signed-off-by: Saul Wold <sgw@linux.intel.com> 5Signed-off-by: Saul Wold <sgw@linux.intel.com>
6 6
7Index: busybox-1.22.1/networking/ifupdown.c 7Index: busybox-1.36.0/networking/ifupdown.c
8=================================================================== 8===================================================================
9--- busybox-1.22.1.orig/networking/ifupdown.c 9--- busybox-1.36.0.orig/networking/ifupdown.c
10+++ busybox-1.22.1/networking/ifupdown.c 10+++ busybox-1.36.0/networking/ifupdown.c
11@@ -521,6 +521,10 @@ struct dhcp_client_t { 11@@ -628,6 +628,10 @@ struct dhcp_client_t {
12 }; 12 };
13 13
14 static const struct dhcp_client_t ext_dhcp_clients[] = { 14 static const struct dhcp_client_t ext_dhcp_clients[] ALIGN_PTR = {
15+ { "connmand", 15+ { "connmand",
16+ "true", 16+ "true",
17+ "true", 17+ "true",
diff --git a/meta/recipes-core/busybox/busybox/sha1sum.cfg b/meta/recipes-core/busybox/busybox/sha1sum.cfg
index 20e72d9263..afd4da4ea1 100644
--- a/meta/recipes-core/busybox/busybox/sha1sum.cfg
+++ b/meta/recipes-core/busybox/busybox/sha1sum.cfg
@@ -1 +1,2 @@
1CONFIG_SHA1SUM=y 1CONFIG_SHA1SUM=y
2CONFIG_SHA1_SMALL=3
diff --git a/meta/recipes-core/busybox/busybox/sha_accel.cfg b/meta/recipes-core/busybox/busybox/sha_accel.cfg
new file mode 100644
index 0000000000..8900305a11
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/sha_accel.cfg
@@ -0,0 +1,2 @@
1# CONFIG_SHA256_HWACCEL is not set
2# CONFIG_SHA1_HWACCEL is not set
diff --git a/meta/recipes-core/busybox/busybox/start-stop-false.patch b/meta/recipes-core/busybox/busybox/start-stop-false.patch
new file mode 100644
index 0000000000..3aef68329c
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/start-stop-false.patch
@@ -0,0 +1,35 @@
1It's known that the final start-stop-daemon test fails if /bin/false is
2actually a busybox symlink. Instead of failing, check if false is
3busybox and adapt the expected output to match.
4
5Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2023-August/090416.html]
6Signed-off-by: Ross Burton <ross.burton@arm.com>
7
8diff --git a/testsuite/start-stop-daemon.tests b/testsuite/start-stop-daemon.tests
9index 0757b1288..aa6e9cc41 100755
10--- a/testsuite/start-stop-daemon.tests
11+++ b/testsuite/start-stop-daemon.tests
12@@ -27,10 +27,18 @@ testing "start-stop-daemon without -x and -a" \
13 # but at least it checks that pathname to exec() is correct
14 #
15 # NB: this fails if /bin/false is a busybox symlink:
16-# busybox looks at argv[0] and says "qwerty: applet not found"
17-testing "start-stop-daemon with both -x and -a" \
18- 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
19- "1\n" \
20- "" ""
21+# busybox looks at argv[0] and says "qwerty: applet not found", so
22+# skip the test if false is busybox.
23+case $(readlink /bin/false) in
24+ *busybox*)
25+ echo "SKIPPED: start-stop-daemon with both -x and -a (need non-busybox false)"
26+ ;;
27+ *)
28+ testing "start-stop-daemon with both -x and -a" \
29+ 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
30+ "1\n" \
31+ "" ""
32+ ;;
33+esac
34
35 exit $FAILCOUNT
diff --git a/meta/recipes-core/busybox/busybox_1.33.0.bb b/meta/recipes-core/busybox/busybox_1.36.1.bb
index 1a3f218bca..373a6b7781 100644
--- a/meta/recipes-core/busybox/busybox_1.33.0.bb
+++ b/meta/recipes-core/busybox/busybox_1.36.1.bb
@@ -1,7 +1,7 @@
1require busybox.inc 1require busybox.inc
2 2
3SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ 3SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
4 file://busybox-udhcpc-no_deconfig.patch \ 4 file://0001-depmod-Ignore-.debug-directories.patch \
5 file://find-touchscreen.sh \ 5 file://find-touchscreen.sh \
6 file://busybox-cron \ 6 file://busybox-cron \
7 file://busybox-httpd \ 7 file://busybox-httpd \
@@ -26,17 +26,19 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
26 file://login-utilities.cfg \ 26 file://login-utilities.cfg \
27 file://recognize_connmand.patch \ 27 file://recognize_connmand.patch \
28 file://busybox-cross-menuconfig.patch \ 28 file://busybox-cross-menuconfig.patch \
29 file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \
30 file://mount-via-label.cfg \ 29 file://mount-via-label.cfg \
31 file://sha1sum.cfg \ 30 file://sha1sum.cfg \
32 file://sha256sum.cfg \ 31 file://sha256sum.cfg \
33 file://getopts.cfg \ 32 file://getopts.cfg \
33 file://longopts.cfg \
34 file://resize.cfg \ 34 file://resize.cfg \
35 ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ 35 ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
36 ${@["", "file://rcS.default"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ 36 ${@["", "file://rcS.default"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
37 ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \ 37 ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \
38 file://syslog.cfg \ 38 file://syslog.cfg \
39 file://unicode.cfg \ 39 file://unicode.cfg \
40 file://rev.cfg \
41 file://pgrep.cfg \
40 file://rcS \ 42 file://rcS \
41 file://rcK \ 43 file://rcK \
42 file://makefile-libbb-race.patch \ 44 file://makefile-libbb-race.patch \
@@ -44,9 +46,11 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
44 file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ 46 file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
45 file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ 47 file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
46 file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ 48 file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \
47 file://rev.cfg \ 49 file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \
48 file://pgrep.cfg \ 50 file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \
49" 51 file://start-stop-false.patch \
50SRC_URI_append_libc-musl = " file://musl.cfg " 52 "
51 53SRC_URI:append:libc-musl = " file://musl.cfg "
52SRC_URI[tarball.sha256sum] = "d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd" 54# TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html
55SRC_URI:append:x86 = " file://sha_accel.cfg"
56SRC_URI[tarball.sha256sum] = "b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314"
diff --git a/meta/recipes-core/busybox/files/syslog b/meta/recipes-core/busybox/files/syslog
index 2208613e8c..a4fea30ab7 100644
--- a/meta/recipes-core/busybox/files/syslog
+++ b/meta/recipes-core/busybox/files/syslog
@@ -10,6 +10,8 @@
10 10
11set -e 11set -e
12 12
13PATH="/bin:/usr/bin:/sbin:/usr/sbin"
14
13if [ -f /etc/syslog-startup.conf ]; then 15if [ -f /etc/syslog-startup.conf ]; then
14 . /etc/syslog-startup.conf 16 . /etc/syslog-startup.conf
15 LOG_LOCAL=0 17 LOG_LOCAL=0