diff options
Diffstat (limited to 'package/busybox')
-rw-r--r-- | package/busybox/Config.in.manual | 213 | ||||
-rw-r--r-- | package/busybox/Makefile | 4 | ||||
-rw-r--r-- | package/busybox/config/Config.in | 4 | ||||
-rw-r--r-- | package/busybox/config/coreutils/Config.in | 7 | ||||
-rw-r--r-- | package/busybox/config/libbb/Config.in | 62 | ||||
-rw-r--r-- | package/busybox/config/miscutils/Config.in | 12 | ||||
-rw-r--r-- | package/busybox/config/networking/Config.in | 3 | ||||
-rw-r--r-- | package/busybox/config/networking/udhcp/Config.in | 7 | ||||
-rw-r--r-- | package/busybox/config/shell/Config.in | 5 | ||||
-rw-r--r-- | package/busybox/files/ntpd.init | 2 | ||||
-rw-r--r-- | package/busybox/patches/002-hwclock-musl.patch | 31 | ||||
-rw-r--r-- | package/busybox/patches/009-disable-Oz.patch | 20 |
12 files changed, 142 insertions, 228 deletions
diff --git a/package/busybox/Config.in.manual b/package/busybox/Config.in.manual index 80554efd4..48c6212e0 100644 --- a/package/busybox/Config.in.manual +++ b/package/busybox/Config.in.manual @@ -10,219 +10,6 @@ config ADK_PACKAGE_BUSYBOX WWW: http://www.busybox.net -choice -prompt "Choose predefined set of applets" -depends on ADK_PACKAGE_BUSYBOX -default ADK_PACKAGE_BUSYBOX_MINIMAL if !ADK_TARGET_WITH_MMU - -config ADK_PACKAGE_BUSYBOX_DEFAULT - bool "activate standard set of applets" - select BUSYBOX_AWK - select BUSYBOX_BASENAME - select BUSYBOX_CLEAR - select BUSYBOX_CMP - select BUSYBOX_CAT - select BUSYBOX_CAL - select BUSYBOX_CHGRP - select BUSYBOX_CHMOD - select BUSYBOX_CHOWN - select BUSYBOX_CHROOT - select BUSYBOX_CP - select BUSYBOX_CUT - select BUSYBOX_DATE - select BUSYBOX_DD - select BUSYBOX_DF - select BUSYBOX_DIFF - select BUSYBOX_DIRNAME - select BUSYBOX_DU - select BUSYBOX_ECHO - select BUSYBOX_EGREP if !BUSYBOX_DISABLE_GREP - select BUSYBOX_ENV - select BUSYBOX_EXPR - select BUSYBOX_FDISK if !BUSYBOX_DISABLE_FDISK - select BUSYBOX_FIND if !BUSYBOX_DISABLE_FIND - select BUSYBOX_GREP if !BUSYBOX_DISABLE_GREP - select BUSYBOX_GROUPS - select BUSYBOX_GUNZIP - select BUSYBOX_GZIP - select BUSYBOX_HALT - select BUSYBOX_HEAD - select BUSYBOX_ID - select BUSYBOX_INIT if ADK_RUNTIME_INIT_SYSV - select BUSYBOX_LESS if !BUSYBOX_DISABLE_LESS - select BUSYBOX_LN - select BUSYBOX_LOSETUP - select BUSYBOX_LS - select BUSYBOX_MD5SUM - select BUSYBOX_MKDIR - select BUSYBOX_MKFIFO - select BUSYBOX_MKNOD - select BUSYBOX_MKTEMP - select BUSYBOX_MV - select BUSYBOX_NC - select BUSYBOX_PASSWD - select BUSYBOX_PRINTF - select BUSYBOX_PWD - select BUSYBOX_RDATE if !BUSYBOX_DISABLE_RDATE - select BUSYBOX_READLINK - select BUSYBOX_RESET - select BUSYBOX_RFKILL if !BUSYBOX_DISABLE_RFKILL - select BUSYBOX_RM - select BUSYBOX_RMDIR - select BUSYBOX_RUN_PARTS - select BUSYBOX_SED if !BUSYBOX_DISABLE_SED - select BUSYBOX_SEQ - select BUSYBOX_SLEEP - select BUSYBOX_SORT - select BUSYBOX_FEATURE_SORT_BIG - select BUSYBOX_STAT - select BUSYBOX_STRINGS - select BUSYBOX_SU - select BUSYBOX_SYNC - select BUSYBOX_TAIL - select BUSYBOX_FEATURE_FANCY_TAIL - select BUSYBOX_TAR if !BUSYBOX_DISABLE_TAR - select BUSYBOX_TEE - select BUSYBOX_TEST - select BUSYBOX_TIME - select BUSYBOX_TOUCH - select BUSYBOX_TOP - select BUSYBOX_TR - select BUSYBOX_TRUE - select BUSYBOX_UNAME - select BUSYBOX_VI - select BUSYBOX_WC - select BUSYBOX_WHOAMI - select BUSYBOX_WHO - select BUSYBOX_WHICH - select BUSYBOX_XARGS - -config ADK_PACKAGE_BUSYBOX_MINIMAL - bool "activate minimal set of applets" - select BUSYBOX_AWK - select BUSYBOX_BASENAME - select BUSYBOX_CAT - select BUSYBOX_CHGRP - select BUSYBOX_CHMOD - select BUSYBOX_CHOWN - select BUSYBOX_CHROOT - select BUSYBOX_CMP - select BUSYBOX_CP - select BUSYBOX_CUT - select BUSYBOX_DATE - select BUSYBOX_DD - select BUSYBOX_DF - select BUSYBOX_DIRNAME - select BUSYBOX_DIFF - select BUSYBOX_DU - select BUSYBOX_ECHO - select BUSYBOX_ENV - select BUSYBOX_EXPR - select BUSYBOX_FIND if !BUSYBOX_DISABLE_FIND - select BUSYBOX_GREP if !BUSYBOX_DISABLE_GREP - select BUSYBOX_HALT - select BUSYBOX_HEAD - select BUSYBOX_ID - select BUSYBOX_INIT - select BUSYBOX_LN - select BUSYBOX_LS - select BUSYBOX_MKDIR - select BUSYBOX_MV - select BUSYBOX_PRINTF - select BUSYBOX_PWD - select BUSYBOX_RM - select BUSYBOX_READLINK - select BUSYBOX_RUN_PARTS - select BUSYBOX_SED if !BUSYBOX_DISABLE_SED - select BUSYBOX_SORT - select BUSYBOX_TAIL - select BUSYBOX_FEATURE_FANCY_TAIL - select BUSYBOX_TEE - select BUSYBOX_TEST - select BUSYBOX_TOUCH - select BUSYBOX_TRUE - select BUSYBOX_UNAME - select BUSYBOX_VI - select BUSYBOX_WHICH - select BUSYBOX_WHOAMI - -config ADK_PACKAGE_BUSYBOX_ALL - bool "activate all applets" - select BUSYBOX_AWK - select BUSYBOX_BASENAME - select BUSYBOX_CAL - select BUSYBOX_CAT - select BUSYBOX_CHGRP - select BUSYBOX_CHMOD - select BUSYBOX_CHOWN - select BUSYBOX_CHROOT - select BUSYBOX_CLEAR - select BUSYBOX_CMP - select BUSYBOX_CP - select BUSYBOX_CUT - select BUSYBOX_DATE - select BUSYBOX_DD - select BUSYBOX_DESKTOP - select BUSYBOX_DF - select BUSYBOX_DIFF if !BUSYBOX_DISABLE_DIFF - select BUSYBOX_DIRNAME - select BUSYBOX_DU - select BUSYBOX_ECHO - select BUSYBOX_EGREP if !BUSYBOX_DISABLE_GREP - select BUSYBOX_ENV - select BUSYBOX_EXPR - select BUSYBOX_FDISK if !BUSYBOX_DISABLE_FDISK - select BUSYBOX_FIND if !BUSYBOX_DISABLE_FIND - select BUSYBOX_FEATURE_UTMP - select BUSYBOX_GREP if !BUSYBOX_DISABLE_GREP - select BUSYBOX_GROUPS - select BUSYBOX_GUNZIP - select BUSYBOX_GZIP - select BUSYBOX_HALT - select BUSYBOX_HEAD - select BUSYBOX_ID - select BUSYBOX_INIT if ADK_RUNTIME_INIT_SYSV - select BUSYBOX_LESS if !BUSYBOX_DISABLE_LESS - select BUSYBOX_LN - select BUSYBOX_LS - select BUSYBOX_MD5SUM - select BUSYBOX_MKDIR - select BUSYBOX_MKFIFO - select BUSYBOX_MKNOD - select BUSYBOX_MKTEMP - select BUSYBOX_MV - select BUSYBOX_PRINTF - select BUSYBOX_PWD - select BUSYBOX_READLINK - select BUSYBOX_RESET - select BUSYBOX_RUN_PARTS - select BUSYBOX_RM - select BUSYBOX_SED if !BUSYBOX_DISABLE_SED - select BUSYBOX_SLEEP - select BUSYBOX_SORT - select BUSYBOX_STAT - select BUSYBOX_STRINGS - select BUSYBOX_SU - select BUSYBOX_SYNC - select BUSYBOX_TAIL - select BUSYBOX_TAR if !BUSYBOX_DISABLE_TAR - select BUSYBOX_TEE - select BUSYBOX_FEATURE_FANCY_TAIL - select BUSYBOX_TRUE - select BUSYBOX_TEST - select BUSYBOX_TIME - select BUSYBOX_TOUCH - select BUSYBOX_TR - select BUSYBOX_UNAME - select BUSYBOX_VI - select BUSYBOX_WC - select BUSYBOX_WHICH - select BUSYBOX_WHO - select BUSYBOX_WHOAMI - select BUSYBOX_XARGS - -endchoice - config ADK_PACKAGE_BUSYBOX_HIDE bool "hide packages provided by busybox applets" depends on ADK_PACKAGE_BUSYBOX diff --git a/package/busybox/Makefile b/package/busybox/Makefile index c1e6bb617..78b76ead5 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -4,9 +4,9 @@ include $(ADK_TOPDIR)/rules.mk PKG_NAME:= busybox -PKG_VERSION:= 1.35.0 +PKG_VERSION:= 1.36.1 PKG_RELEASE:= 1 -PKG_HASH:= faeeb244c35a348a334f4a59e44626ee870fb07b6884d68c10ae8bc19f83a694 +PKG_HASH:= b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314 PKG_DESCR:= core utilities for embedded systems PKG_SECTION:= base/apps PKG_URL:= http://www.busybox.net/ diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index 6f19502f4..d5cbed6a5 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -371,7 +371,7 @@ config BUSYBOX_STATIC config BUSYBOX_PIE bool "Build position independent executable" - default n + default y if !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF depends on !BUSYBOX_STATIC help Hardened code option. PIE binaries are loaded at a different @@ -382,7 +382,7 @@ config BUSYBOX_PIE config BUSYBOX_NOMMU bool "Force NOMMU build" - default n + default y if !ADK_TARGET_WITH_MMU help Busybox tries to detect whether architecture it is being built against supports MMU or not. If this detection fails, diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in index ec8aa6802..00d646599 100644 --- a/package/busybox/config/coreutils/Config.in +++ b/package/busybox/config/coreutils/Config.in @@ -653,7 +653,7 @@ config BUSYBOX_SORT sort is used to sort lines of text in specified files. config BUSYBOX_FEATURE_SORT_BIG - bool "Full SuSv3 compliant sort (support -ktcbdfiogM)" + bool "Full SuSv3 compliant sort (support -ktcbdfioghM)" default y depends on BUSYBOX_SORT help @@ -851,6 +851,11 @@ config BUSYBOX_TRUNCATE help truncate truncates files to a given size. If a file does not exist, it is created unless told otherwise. +config BUSYBOX_TSORT + bool "tsort (0.7 kb)" + default y + help + tsort performs a topological sort. config BUSYBOX_TTY bool "tty (3.6 kb)" default y diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in index 8e4fe855e..66c135ec6 100644 --- a/package/busybox/config/libbb/Config.in +++ b/package/busybox/config/libbb/Config.in @@ -98,21 +98,47 @@ config BUSYBOX_MD5_SMALL default 1 # all "fast or small" options default to small range 0 3 help - Trade binary size versus speed for the md5sum algorithm. + Trade binary size versus speed for the md5 algorithm. Approximate values running uClibc and hashing linux-2.4.4.tar.bz2 were: - value user times (sec) text size (386) - 0 (fastest) 1.1 6144 - 1 1.4 5392 - 2 3.0 5088 - 3 (smallest) 5.1 4912 + value user times (sec) text size (386) + 0 (fastest) 1.1 6144 + 1 1.4 5392 + 2 3.0 5088 + 3 (smallest) 5.1 4912 + +config BUSYBOX_SHA1_SMALL + int "SHA1: Trade bytes for speed (0:fast, 3:slow)" + default 3 # all "fast or small" options default to small + range 0 3 + help + Trade binary size versus speed for the sha1 algorithm. + With FEATURE_COPYBUF_KB=64: + throughput MB/s size of sha1_process_block64 + value 486 x86-64 486 x86-64 + 0 440 485 3481 3502 + 1 265 265 641 696 + 2,3 220 210 342 364 + +config BUSYBOX_SHA1_HWACCEL + bool "SHA1: Use hardware accelerated instructions if possible" + default y + help + On x86, this adds ~590 bytes of code. Throughput + is about twice as fast as fully-unrolled generic code. + +config BUSYBOX_SHA256_HWACCEL + bool "SHA256: Use hardware accelerated instructions if possible" + default y + help + On x86, this adds ~1k bytes of code. config BUSYBOX_SHA3_SMALL int "SHA3: Trade bytes for speed (0:fast, 1:slow)" default 1 # all "fast or small" options default to small range 0 1 help - Trade binary size versus speed for the sha3sum algorithm. + Trade binary size versus speed for the sha3 algorithm. SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate): 64-bit x86: +270 bytes of code, 45% faster 32-bit x86: +450 bytes of code, 75% faster @@ -399,3 +425,25 @@ config BUSYBOX_UNICODE_PRESERVE_BROKEN For example, this means that entering 'l', 's', ' ', 0xff, [Enter] at shell prompt will list file named 0xff (single char name with char value 255), not file named '?'. + +choice + prompt "Use LOOP_CONFIGURE for losetup and loop mounts" + default BUSYBOX_TRY_LOOP_CONFIGURE + help + LOOP_CONFIGURE is added to Linux 5.8 + https://lwn.net/Articles/820408/ + This allows userspace to completely setup a loop device with a single + ioctl, removing the in-between state where the device can be partially + configured - eg the loop device has a backing file associated with it, + but is reading from the wrong offset. + +config BUSYBOX_LOOP_CONFIGURE + bool "use LOOP_CONFIGURE, needs kernel >= 5.8" + +config BUSYBOX_NO_LOOP_CONFIGURE + bool "use LOOP_SET_FD + LOOP_SET_STATUS" + +config BUSYBOX_TRY_LOOP_CONFIGURE + bool "try LOOP_CONFIGURE, fall back to LOOP_SET_FD + LOOP_SET_STATUS" + +endchoice diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in index a236373ae..82aeff339 100644 --- a/package/busybox/config/miscutils/Config.in +++ b/package/busybox/config/miscutils/Config.in @@ -699,6 +699,13 @@ config BUSYBOX_RX default y help Receive files using the Xmodem protocol. +config BUSYBOX_SEEDRNG + bool "seedrng (1.3 kb)" + default n + help + Seed the kernel RNG from seed files, meant to be called + once during startup, once during shutdown, and optionally + at some periodic interval in between. config BUSYBOX_SETFATTR bool "setfattr (3.7 kb)" default y @@ -722,6 +729,11 @@ config BUSYBOX_TIME The time command runs the specified program with the given arguments. When the command finishes, time writes a message to standard output giving timing statistics about this program run. +config BUSYBOX_TREE + bool "tree (0.6 kb)" + default y + help + List files and directories in a tree structure. config BUSYBOX_TS bool "ts (450 bytes)" default y diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in index 7675cd4b9..341092334 100644 --- a/package/busybox/config/networking/Config.in +++ b/package/busybox/config/networking/Config.in @@ -1248,7 +1248,8 @@ source package/busybox/config/networking/udhcp/Config.in config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS string "ifup udhcpc command line options" - default "-R -n" + default "-R -n" if BUSYBOX_NOMMU + default "-R -n -b" depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN help Command line options to pass to udhcpc from ifup. diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in index 5d57cf731..111e6b5f5 100644 --- a/package/busybox/config/networking/udhcp/Config.in +++ b/package/busybox/config/networking/udhcp/Config.in @@ -93,12 +93,17 @@ config BUSYBOX_FEATURE_UDHCPC_SANITIZEOPT config BUSYBOX_UDHCPC_DEFAULT_SCRIPT string "Absolute path to config script" default "/usr/share/udhcpc/default.script" - depends on BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 + depends on BUSYBOX_UDHCPC help This script is called after udhcpc receives an answer. See examples/udhcp for a working example. Normally it is safe to leave this untouched. +config BUSYBOX_UDHCPC6_DEFAULT_SCRIPT + string "Absolute path to config script for IPv6" + default "/usr/share/udhcpc/default6.script" + depends on BUSYBOX_UDHCPC6 + # udhcpc6 config is inserted here: config BUSYBOX_UDHCPC6 bool "udhcpc6 (21 kb)" diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in index b26195889..6ffa3b2b0 100644 --- a/package/busybox/config/shell/Config.in +++ b/package/busybox/config/shell/Config.in @@ -201,6 +201,11 @@ config BUSYBOX_ASH_TEST default y depends on BUSYBOX_SHELL_ASH +config BUSYBOX_ASH_SLEEP + bool "sleep builtin" + default y + depends on BUSYBOX_SHELL_ASH + config BUSYBOX_ASH_HELP bool "help builtin" default y diff --git a/package/busybox/files/ntpd.init b/package/busybox/files/ntpd.init index 15c460dcc..0f578574a 100644 --- a/package/busybox/files/ntpd.init +++ b/package/busybox/files/ntpd.init @@ -1,6 +1,6 @@ #!/bin/sh #PKG busybox -#INIT 60 +#INIT 45 . /etc/rc.conf case $1 in diff --git a/package/busybox/patches/002-hwclock-musl.patch b/package/busybox/patches/002-hwclock-musl.patch new file mode 100644 index 000000000..a5b9ff50d --- /dev/null +++ b/package/busybox/patches/002-hwclock-musl.patch @@ -0,0 +1,31 @@ +diff -Nur busybox-1.36.1.orig/util-linux/hwclock.c busybox-1.36.1/util-linux/hwclock.c +--- busybox-1.36.1.orig/util-linux/hwclock.c 2021-01-01 11:52:27.000000000 +0100 ++++ busybox-1.36.1/util-linux/hwclock.c 2024-04-10 11:18:06.569673535 +0200 +@@ -136,10 +136,24 @@ + * because "it's deprecated by POSIX, therefore it's fine + * if we gratuitously break stuff" :( + */ +-#if !defined(SYS_settimeofday) && defined(SYS_settimeofday_time32) +-# define SYS_settimeofday SYS_settimeofday_time32 +-#endif ++# if !defined(SYS_settimeofday) && defined(SYS_settimeofday_time32) ++# define SYS_settimeofday SYS_settimeofday_time32 ++# endif ++# if defined(SYS_settimeofday) + int ret = syscall(SYS_settimeofday, NULL, tz); ++# else ++ /* Some new architectures have neither settimeofday nor ++ * settimeofday_time32, and the whole kernel timezone handling appears ++ * to have been dropped due to some oddities in the API. See: ++ * ++ * - glibc's commit c3f9aef063 ("Use clock_settime to implement settimeofday.") ++ * - https://github.com/systemd/systemd/issues/13305 ++ * - https://inbox.sourceware.org/libc-alpha/cb015d0d1d29e4b948c7118c5b12ff2bed83a6ec.1561421042.git.alistair.francis@wdc.com/ ++ * ++ * So instead just silently drop these calls. ++ */ ++ int ret = -ENOSYS; ++# endif + #else + int ret = settimeofday(NULL, tz); + #endif diff --git a/package/busybox/patches/009-disable-Oz.patch b/package/busybox/patches/009-disable-Oz.patch new file mode 100644 index 000000000..11830586f --- /dev/null +++ b/package/busybox/patches/009-disable-Oz.patch @@ -0,0 +1,20 @@ +diff -Nur busybox-1.36.1.orig/Makefile.flags busybox-1.36.1/Makefile.flags +--- busybox-1.36.1.orig/Makefile.flags 2023-01-03 15:14:43.000000000 +0100 ++++ busybox-1.36.1/Makefile.flags 2023-07-30 15:24:31.983113101 +0200 +@@ -87,14 +87,14 @@ + #CFLAGS += $(call cc-option,-Wconversion,) + + ifneq ($(CONFIG_DEBUG),y) +-CFLAGS += $(call cc-option,-Oz,$(call cc-option,-Os,$(call cc-option,-O2,))) ++CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,)) + else + CFLAGS += $(call cc-option,-g,) + #CFLAGS += "-D_FORTIFY_SOURCE=2" + ifeq ($(CONFIG_DEBUG_PESSIMIZE),y) + CFLAGS += $(call cc-option,-O0,) + else +-CFLAGS += $(call cc-option,-Oz,$(call cc-option,-Os,$(call cc-option,-O2,))) ++CFLAGS += $(call cc-option,-Os,$(call cc-option,-O2,)) + endif + endif + ifeq ($(CONFIG_DEBUG_SANITIZE),y) |