summaryrefslogtreecommitdiff
path: root/package/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox')
-rw-r--r--package/busybox/Config.in.manual213
-rw-r--r--package/busybox/Makefile6
-rw-r--r--package/busybox/config/Config.in15
-rw-r--r--package/busybox/config/archival/Config.in14
-rw-r--r--package/busybox/config/coreutils/Config.in125
-rw-r--r--package/busybox/config/editors/Config.in16
-rw-r--r--package/busybox/config/findutils/Config.in50
-rw-r--r--package/busybox/config/klibc-utils/Config.in2
-rw-r--r--package/busybox/config/libbb/Config.in224
-rw-r--r--package/busybox/config/mailutils/Config.in14
-rw-r--r--package/busybox/config/miscutils/Config.in38
-rw-r--r--package/busybox/config/networking/Config.in57
-rw-r--r--package/busybox/config/networking/udhcp/Config.in22
-rw-r--r--package/busybox/config/procps/Config.in23
-rw-r--r--package/busybox/config/shell/Config.in12
-rw-r--r--package/busybox/config/util-linux/Config.in2
-rw-r--r--package/busybox/files/ntpd.init2
-rw-r--r--package/busybox/patches/002-hwclock-musl.patch31
-rw-r--r--package/busybox/patches/004-libbb-sha-add-missing-guard.patch17
-rw-r--r--package/busybox/patches/005-syslogd-fix-wrong-OPT_localog-flag-detection.patch37
-rw-r--r--package/busybox/patches/009-disable-Oz.patch20
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"