diff options
Diffstat (limited to 'package/busybox')
21 files changed, 534 insertions, 406 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 5aad49e2f..c50e4af11 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -4,9 +4,9 @@ include $(ADK_TOPDIR)/rules.mk PKG_NAME:= busybox -PKG_VERSION:= 1.33.0 +PKG_VERSION:= 1.37.0 PKG_RELEASE:= 1 -PKG_HASH:= d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd +PKG_HASH:= 3311dff32e746499f4df0d5df04d7eb396382d7e108bb9250e7b519b837043a4 PKG_DESCR:= core utilities for embedded systems PKG_SECTION:= base/apps PKG_URL:= http://www.busybox.net/ @@ -69,7 +69,6 @@ do-build: do-install: PATH='$(HOST_PATH)' $(MAKE) ${BB_MAKE_FLAGS} -C ${WRKBUILD} install $(MAKE_TRACE) $(CP) $(WRKINST)/* $(IDIR_BUSYBOX)/ -ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),) ifeq ($(BUSYBOX_IFUP),y) $(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/init.d ifeq ($(ADK_RUNTIME_WAIT_FOR_ETHERNET),y) @@ -78,7 +77,6 @@ else $(INSTALL_BIN) ./files/network $(IDIR_BUSYBOX)/etc/init.d/network endif endif -endif ifeq ($(ADK_DEBUG),y) ${INSTALL_BIN} $(WRKBUILD)/busybox_unstripped \ $(IDIR_BUSYBOX)/bin/busybox diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index 6f19502f4..573c55f8c 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -108,6 +108,17 @@ config BUSYBOX_LFS programs that can benefit from large file support include dd, gzip, cp, mount, tar. +config BUSYBOX_TIME64 + bool "Support 64bit wide time types" + default y + depends on BUSYBOX_LFS + help + Make times later than 2038 representable for several libc syscalls + (stat, clk_gettime etc.). Note this switch is specific to glibc + and has no effect on platforms that already use 64bit wide time types + (i.e. all 64bit archs and some selected 32bit archs (currently riscv + and x32)). + config BUSYBOX_PAM bool "Support PAM (Pluggable Authentication Modules)" default n @@ -371,7 +382,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 +393,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/archival/Config.in b/package/busybox/config/archival/Config.in index f2788041a..fe68eeb18 100644 --- a/package/busybox/config/archival/Config.in +++ b/package/busybox/config/archival/Config.in @@ -204,6 +204,20 @@ config BUSYBOX_FEATURE_CPIO_P depends on BUSYBOX_FEATURE_CPIO_O help Passthrough mode. Rarely used. + +config BUSYBOX_FEATURE_CPIO_IGNORE_DEVNO + bool "Support --ignore-devno like GNU cpio" + default y + depends on BUSYBOX_FEATURE_CPIO_O && BUSYBOX_LONG_OPTS + help + Optionally ignore device numbers when creating archives. + +config BUSYBOX_FEATURE_CPIO_RENUMBER_INODES + bool "Support --renumber-inodes like GNU cpio" + default y + depends on BUSYBOX_FEATURE_CPIO_O && BUSYBOX_LONG_OPTS + help + Optionally renumber inodes when creating archives. config BUSYBOX_DPKG bool "dpkg (43 kb)" default y diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in index 6293694de..ff7ab88ed 100644 --- a/package/busybox/config/coreutils/Config.in +++ b/package/busybox/config/coreutils/Config.in @@ -6,6 +6,47 @@ menu "Coreutils" +config BUSYBOX_FEATURE_VERBOSE + bool "Support verbose options (usually -v) for various applets" + default y + help + Enable cp -v, rm -v and similar messages. + Also enables long option (--verbose) if it exists. + Without this option, -v is accepted but ignored. + +comment "Common options for date and touch" + +config BUSYBOX_FEATURE_TIMEZONE + bool "Allow timezone in dates" + default y + depends on BUSYBOX_DESKTOP + help + Permit the use of timezones when parsing user-provided data + strings, e.g. '1996-04-09 12:45:00 -0500'. + + This requires support for the '%z' extension to strptime() which + may not be available in all implementations. + +comment "Common options for cp and mv" + depends on BUSYBOX_CP || BUSYBOX_MV + +config BUSYBOX_FEATURE_PRESERVE_HARDLINKS + bool "Preserve hard links" + default y + depends on BUSYBOX_CP || BUSYBOX_MV + help + Allow cp and mv to preserve hard links. + +comment "Common options for df, du, ls" + depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS + +config BUSYBOX_FEATURE_HUMAN_READABLE + bool "Support human readable output (example 13k, 23M, 235G)" + default y + depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS + help + Allow df, du, and ls to have human readable output. + config BUSYBOX_BASENAME bool "basename (438 bytes)" default y @@ -63,8 +104,10 @@ config BUSYBOX_CHROOT config BUSYBOX_CKSUM bool "cksum (4.1 kb)" default y - help - cksum is used to calculate the CRC32 checksum of a file. + +config BUSYBOX_CRC32 + bool "crc32 (4.1 kb)" + default y config BUSYBOX_COMM bool "comm (4.2 kb)" default y @@ -95,6 +138,13 @@ config BUSYBOX_CUT help cut is used to print selected parts of lines from each file to stdout. + +config BUSYBOX_FEATURE_CUT_REGEX + bool "cut -F" + default y + depends on BUSYBOX_CUT + help + Allow regex based delimiters. config BUSYBOX_DATE bool "date (7 kb)" default y @@ -191,6 +241,26 @@ config BUSYBOX_FEATURE_DF_FANCY -a Show all filesystems -i Inodes -B <SIZE> Blocksize + +config BUSYBOX_FEATURE_SKIP_ROOTFS + bool "Skip rootfs in mount table" + default y + depends on BUSYBOX_DF + help + Ignore rootfs entry in mount table. + + In Linux, kernel has a special filesystem, rootfs, which is initially + mounted on /. It contains initramfs data, if kernel is configured + to have one. Usually, another file system is mounted over / early + in boot process, and therefore most tools which manipulate + mount table, such as df, will skip rootfs entry. + + However, some systems do not mount anything on /. + If you need to configure busybox for one of these systems, + you may find it useful to turn this option off to make df show + initramfs statistics. + + Otherwise, choose Y. config BUSYBOX_DIRNAME bool "dirname (329 bytes)" default y @@ -583,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 @@ -649,12 +719,12 @@ config BUSYBOX_SUM checksum and count the blocks in a file config BUSYBOX_SYNC bool "sync (3.8 kb)" - default y + default n help sync is used to flush filesystem buffers. config BUSYBOX_FEATURE_SYNC_FANCY bool "Enable -d and -f flags (requires syncfs(2) in libc)" - default y + default n depends on BUSYBOX_SYNC help sync -d FILE... executes fdatasync() on each FILE. @@ -739,16 +809,8 @@ config BUSYBOX_TOUCH touch is used to create or change the access and/or modification timestamp of specified files. -config BUSYBOX_FEATURE_TOUCH_NODEREF - bool "Add support for -h" - default y - depends on BUSYBOX_TOUCH - help - Enable touch to have the -h option. - This requires libc support for lutimes() function. - config BUSYBOX_FEATURE_TOUCH_SUSV3 - bool "Add support for SUSV3 features (-d -t -r)" + bool "Add support for SUSV3 features (-a -d -m -t -r)" default y depends on BUSYBOX_TOUCH help @@ -789,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 @@ -895,34 +962,4 @@ config BUSYBOX_YES yes is used to repeatedly output a specific string, or the default string 'y'. -comment "Common options" - -config BUSYBOX_FEATURE_VERBOSE - bool "Support verbose options (usually -v) for various applets" - default y - help - Enable cp -v, rm -v and similar messages. - Also enables long option (--verbose) if it exists. - Without this option, -v is accepted but ignored. - -comment "Common options for cp and mv" - depends on BUSYBOX_CP || BUSYBOX_MV - -config BUSYBOX_FEATURE_PRESERVE_HARDLINKS - bool "Preserve hard links" - default y - depends on BUSYBOX_CP || BUSYBOX_MV - help - Allow cp and mv to preserve hard links. - -comment "Common options for df, du, ls" - depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS - -config BUSYBOX_FEATURE_HUMAN_READABLE - bool "Support human readable output (example 13k, 23M, 235G)" - default y - depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS - help - Allow df, du, and ls to have human readable output. - endmenu diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in index 3e48e371d..2858f60d1 100644 --- a/package/busybox/config/editors/Config.in +++ b/package/busybox/config/editors/Config.in @@ -110,6 +110,14 @@ config BUSYBOX_FEATURE_VI_COLON Enable a limited set of colon commands. This does not provide an "ex" mode. +config BUSYBOX_FEATURE_VI_COLON_EXPAND + bool "Expand \"%\" and \"#\" in colon commands" + default y + depends on BUSYBOX_FEATURE_VI_COLON + help + Expand the special characters \"%\" (current filename) + and \"#\" (alternate filename) in colon commands. + config BUSYBOX_FEATURE_VI_YANKMARK bool "Enable yank/put commands and mark cmds" default y @@ -217,6 +225,14 @@ config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX Unless you want more (or less) frequent "undo points" while typing, you should probably leave this unchanged. +config BUSYBOX_FEATURE_VI_VERBOSE_STATUS + bool "Enable verbose status reporting" + default y + depends on BUSYBOX_VI + help + Enable more verbose reporting of the results of yank, change, + delete, undo and substitution commands. + config BUSYBOX_FEATURE_ALLOW_EXEC bool "Allow vi and awk to execute shell commands" default y diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in index 8a81483e2..ff1f5ed0c 100644 --- a/package/busybox/config/findutils/Config.in +++ b/package/busybox/config/findutils/Config.in @@ -23,21 +23,53 @@ config BUSYBOX_FEATURE_FIND_PRINT0 interpreted by other programs. config BUSYBOX_FEATURE_FIND_MTIME - bool "Enable -mtime: modified time matching" + bool "Enable -mtime: modification time matching" default y depends on BUSYBOX_FIND help Allow searching based on the modification time of files, in days. +config BUSYBOX_FEATURE_FIND_ATIME + bool "Enable -atime: access time matching" + default y + depends on BUSYBOX_FEATURE_FIND_MTIME + help + Allow searching based on the access time of + files, in days. + +config BUSYBOX_FEATURE_FIND_CTIME + bool "Enable -ctime: status change timestamp matching" + default y + depends on BUSYBOX_FEATURE_FIND_MTIME + help + Allow searching based on the status change timestamp of + files, in days. + config BUSYBOX_FEATURE_FIND_MMIN - bool "Enable -mmin: modified time matching by minutes" + bool "Enable -mmin: modification time matching by minutes" default y depends on BUSYBOX_FIND help Allow searching based on the modification time of files, in minutes. +config BUSYBOX_FEATURE_FIND_AMIN + bool "Enable -amin: access time matching by minutes" + default y + depends on BUSYBOX_FEATURE_FIND_MMIN + help + Allow searching based on the access time of + files, in minutes. + +config BUSYBOX_FEATURE_FIND_CMIN + bool "Enable -cmin: status change timestamp matching by minutes" + default y + depends on BUSYBOX_FEATURE_FIND_MMIN + help + Allow searching based on the status change timestamp of + files, in minutes. + config BUSYBOX_FEATURE_FIND_PERM bool "Enable -perm: permissions matching" default y @@ -79,6 +111,13 @@ config BUSYBOX_FEATURE_FIND_INUM default y depends on BUSYBOX_FIND +config BUSYBOX_FEATURE_FIND_SAMEFILE + bool "Enable -samefile: reference file matching" + default y + depends on BUSYBOX_FIND + help + Support the 'find -samefile' option for searching by a reference file. + config BUSYBOX_FEATURE_FIND_EXEC bool "Enable -exec: execute commands" default y @@ -97,6 +136,13 @@ config BUSYBOX_FEATURE_FIND_EXEC_PLUS Without this option, -exec + is a synonym for -exec ; (IOW: it works correctly, but without expected speedup) +config BUSYBOX_FEATURE_FIND_EXEC_OK + bool "Enable -ok: execute confirmed commands" + default y + depends on BUSYBOX_FEATURE_FIND_EXEC + help + Support the 'find -ok' option which prompts before executing. + config BUSYBOX_FEATURE_FIND_USER bool "Enable -user: username/uid matching" default y diff --git a/package/busybox/config/klibc-utils/Config.in b/package/busybox/config/klibc-utils/Config.in index fdaddc397..f2ff057fb 100644 --- a/package/busybox/config/klibc-utils/Config.in +++ b/package/busybox/config/klibc-utils/Config.in @@ -13,7 +13,7 @@ config BUSYBOX_MINIPS Alias to "ps". config BUSYBOX_NUKE bool "nuke (2.9 kb)" - default y + default n # off by default: too "accidentally destructive" help Alias to "rm -rf". config BUSYBOX_RESUME diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in index 1dd61c62e..66c135ec6 100644 --- a/package/busybox/config/libbb/Config.in +++ b/package/busybox/config/libbb/Config.in @@ -98,51 +98,118 @@ 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 -config BUSYBOX_FEATURE_FAST_TOP - bool "Faster /proc scanning code (+100 bytes)" - default n # all "fast or small" options default to small +config BUSYBOX_FEATURE_NON_POSIX_CP + bool "Non-POSIX, but safer, copying to special nodes" + default y help - This option makes top and ps ~20% faster (or 20% less CPU hungry), - but code size is slightly bigger. + With this option, "cp file symlink" will delete symlink + and create a regular file. This does not conform to POSIX, + but prevents a symlink attack. + Similarly, "cp file device" will not send file's data + to the device. (To do that, use "cat file >device") -config BUSYBOX_FEATURE_ETC_NETWORKS - bool "Support /etc/networks" +config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE + bool "Give more precise messages when copy fails (cp, mv etc)" default n help - Enable support for network names in /etc/networks. This is - a rarely used feature which allows you to use names - instead of IP/mask pairs in route command. + Error messages with this feature enabled: -config BUSYBOX_FEATURE_ETC_SERVICES - bool "Consult /etc/services even for well-known ports" - default n + $ cp file /does_not_exist/file + cp: cannot create '/does_not_exist/file': Path does not exist + $ cp file /vmlinuz/file + cp: cannot stat '/vmlinuz/file': Path has non-directory component + + If this feature is not enabled, they will be, respectively: + + cp: cannot create '/does_not_exist/file': No such file or directory + cp: cannot stat '/vmlinuz/file': Not a directory + + This will cost you ~60 bytes. + +config BUSYBOX_FEATURE_USE_SENDFILE + bool "Use sendfile system call" + default y + help + When enabled, busybox will use the kernel sendfile() function + instead of read/write loops to copy data between file descriptors + (for example, cp command does this a lot). + If sendfile() doesn't work, copying code falls back to read/write + loop. sendfile() was originally implemented for faster I/O + from files to sockets, but since Linux 2.6.33 it was extended + to work for many more file types. + +config BUSYBOX_FEATURE_COPYBUF_KB + int "Copy buffer size, in kilobytes" + range 1 1024 + default 4 + help + Size of buffer used by cp, mv, install, wget etc. + Buffers which are 4 kb or less will be allocated on stack. + Bigger buffers will be allocated with mmap, with fallback to 4 kb + stack buffer if mmap fails. + +config BUSYBOX_MONOTONIC_SYSCALL + bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" + default y + help + Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring + time intervals (time, ping, traceroute etc need this). + Probably requires Linux 2.6+. If not selected, gettimeofday + will be used instead (which gives wrong results if date/time + is reset). + +config BUSYBOX_IOCTL_HEX2STR_ERROR + bool "Use ioctl names rather than hex values in error messages" + default y help - Look up e.g. "telnet" and "http" in /etc/services file - instead of assuming ports 23 and 80. - This is almost never necessary (everybody uses standard ports), - and it makes sense to avoid reading this file. - If you disable this option, in the cases where port is explicitly - specified as a service name (e.g. "telnet HOST PORTNAME"), - it will still be looked up in /etc/services. + Use ioctl names rather than hex values in error messages + (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this + saves about 1400 bytes. config BUSYBOX_FEATURE_EDITING bool "Command line editing" @@ -359,95 +426,24 @@ config BUSYBOX_UNICODE_PRESERVE_BROKEN at shell prompt will list file named 0xff (single char name with char value 255), not file named '?'. -config BUSYBOX_FEATURE_NON_POSIX_CP - bool "Non-POSIX, but safer, copying to special nodes" - default y - help - With this option, "cp file symlink" will delete symlink - and create a regular file. This does not conform to POSIX, - but prevents a symlink attack. - Similarly, "cp file device" will not send file's data - to the device. (To do that, use "cat file >device") - -config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE - bool "Give more precise messages when copy fails (cp, mv etc)" - default n - help - Error messages with this feature enabled: - - $ cp file /does_not_exist/file - cp: cannot create '/does_not_exist/file': Path does not exist - $ cp file /vmlinuz/file - cp: cannot stat '/vmlinuz/file': Path has non-directory component - - If this feature is not enabled, they will be, respectively: - - cp: cannot create '/does_not_exist/file': No such file or directory - cp: cannot stat '/vmlinuz/file': Not a directory - - This will cost you ~60 bytes. - -config BUSYBOX_FEATURE_USE_SENDFILE - bool "Use sendfile system call" - default y - help - When enabled, busybox will use the kernel sendfile() function - instead of read/write loops to copy data between file descriptors - (for example, cp command does this a lot). - If sendfile() doesn't work, copying code falls back to read/write - loop. sendfile() was originally implemented for faster I/O - from files to sockets, but since Linux 2.6.33 it was extended - to work for many more file types. - -config BUSYBOX_FEATURE_COPYBUF_KB - int "Copy buffer size, in kilobytes" - range 1 1024 - default 4 - help - Size of buffer used by cp, mv, install, wget etc. - Buffers which are 4 kb or less will be allocated on stack. - Bigger buffers will be allocated with mmap, with fallback to 4 kb - stack buffer if mmap fails. - -config BUSYBOX_FEATURE_SKIP_ROOTFS - bool "Skip rootfs in mount table" - default y +choice + prompt "Use LOOP_CONFIGURE for losetup and loop mounts" + default BUSYBOX_TRY_LOOP_CONFIGURE help - Ignore rootfs entry in mount table. + 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. - In Linux, kernel has a special filesystem, rootfs, which is initially - mounted on /. It contains initramfs data, if kernel is configured - to have one. Usually, another file system is mounted over / early - in boot process, and therefore most tools which manipulate - mount table, such as df, will skip rootfs entry. +config BUSYBOX_LOOP_CONFIGURE + bool "use LOOP_CONFIGURE, needs kernel >= 5.8" - However, some systems do not mount anything on /. - If you need to configure busybox for one of these systems, - you may find it useful to turn this option off to make df show - initramfs statistics. +config BUSYBOX_NO_LOOP_CONFIGURE + bool "use LOOP_SET_FD + LOOP_SET_STATUS" - Otherwise, choose Y. +config BUSYBOX_TRY_LOOP_CONFIGURE + bool "try LOOP_CONFIGURE, fall back to LOOP_SET_FD + LOOP_SET_STATUS" -config BUSYBOX_MONOTONIC_SYSCALL - bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" - default y - help - Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring - time intervals (time, ping, traceroute etc need this). - Probably requires Linux 2.6+. If not selected, gettimeofday - will be used instead (which gives wrong results if date/time - is reset). - -config BUSYBOX_IOCTL_HEX2STR_ERROR - bool "Use ioctl names rather than hex values in error messages" - default y - help - Use ioctl names rather than hex values in error messages - (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this - saves about 1400 bytes. - -config BUSYBOX_FEATURE_HWIB - bool "Support infiniband HW" - default y - help - Support for printing infiniband addresses in network applets. +endchoice diff --git a/package/busybox/config/mailutils/Config.in b/package/busybox/config/mailutils/Config.in index 1b793ef7c..29890dcbd 100644 --- a/package/busybox/config/mailutils/Config.in +++ b/package/busybox/config/mailutils/Config.in @@ -1,6 +1,13 @@ # DO NOT EDIT. This file is generated from Config.src menu "Mail Utilities" |