busybox: update to version 1.25.0

The following patches were removed:
010-networking-fix-uninitialized-memory-when-displaying-.patch
  https://git.busybox.net/busybox/commit/?id=f2c043acfcf9dad9fd3d65821b81f89986bbe54e

030-ip-fix-problem-on-mips64-n64-big-endian-musl-systems.patch
  https://git.busybox.net/busybox/commit/?id=4ab372d49a6e82b0bf097dedb96d26330c5f2d5f

204-udhcpc_src_ip_rebind.patch
  https://git.busybox.net/busybox/commit/?id=abe8f7515aded80889d78c2c1c8947997918cf90

230-ntpd_delayed_resolve.patch
  https://git.busybox.net/busybox/commit/?id=c8641962e4cbde48108ddfc1c105e3320778190d
  https://git.busybox.net/busybox/commit/?id=e4caf1dd9ce8569371a0eeb77ccf02a572dc0f11

260-arping_missing_includes.patch
  Not needed any more, still builds with musl for me.
  Add in 92fd6e6f1a "busybox: fix arping applet building on musl"

The Kconfig files were updated with these commands:
cd config
../convert_menuconfig.pl .../build_dir/target-*/busybox-1.25.0
cd ..
./convert_defaults.pl < .../build_dir/target-*/busybox-1.25.0/.config > Config-defaults.in

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
v19.07.3_mercusys_ac12_duma
Hauke Mehrtens 8 years ago
parent ef64c8694b
commit 06fa1c46fc

@ -34,6 +34,9 @@ config BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE
config BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE
bool
default y
config BUSYBOX_DEFAULT_BUSYBOX
bool
default n
config BUSYBOX_DEFAULT_FEATURE_INSTALLER
bool
default n
@ -166,6 +169,9 @@ config BUSYBOX_DEFAULT_DEBUG
config BUSYBOX_DEFAULT_DEBUG_PESSIMIZE
bool
default n
config BUSYBOX_DEFAULT_DEBUG_SANITIZE
bool
default n
config BUSYBOX_DEFAULT_UNIT_TEST
bool
default n
@ -205,7 +211,7 @@ config BUSYBOX_DEFAULT_INSTALL_SH_APPLET_SCRIPT_WRAPPER
config BUSYBOX_DEFAULT_PREFIX
string
default "./_install"
config BUSYBOX_DEFAULT_FEATURE_SYSTEMD
config BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
bool
default n
config BUSYBOX_DEFAULT_FEATURE_RTMINMAX
@ -313,6 +319,9 @@ config BUSYBOX_DEFAULT_UNCOMPRESS
config BUSYBOX_DEFAULT_GUNZIP
bool
default y
config BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_BUNZIP2
bool
default y
@ -460,6 +469,15 @@ config BUSYBOX_DEFAULT_GROUPS
config BUSYBOX_DEFAULT_SHUF
bool
default n
config BUSYBOX_DEFAULT_STAT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
bool
default n
config BUSYBOX_DEFAULT_SYNC
bool
default y
@ -733,12 +751,6 @@ config BUSYBOX_DEFAULT_SPLIT
config BUSYBOX_DEFAULT_FEATURE_SPLIT_FANCY
bool
default n
config BUSYBOX_DEFAULT_STAT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
bool
default n
config BUSYBOX_DEFAULT_STTY
bool
default n
@ -1117,6 +1129,9 @@ config BUSYBOX_DEFAULT_TELINIT_PATH
config BUSYBOX_DEFAULT_INIT
bool
default n
config BUSYBOX_DEFAULT_LINUXRC
bool
default n
config BUSYBOX_DEFAULT_FEATURE_USE_INITTAB
bool
default n
@ -1138,22 +1153,16 @@ config BUSYBOX_DEFAULT_FEATURE_EXTRA_QUIET
config BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_INITRD
bool
default n
config BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
string
default ""
config BUSYBOX_DEFAULT_MESG
config BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE
bool
default n
config BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
bool
default n
config BUSYBOX_DEFAULT_ADD_SHELL
config BUSYBOX_DEFAULT_MESG
bool
default n
config BUSYBOX_DEFAULT_REMOVE_SHELL
config BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
@ -1171,6 +1180,21 @@ config BUSYBOX_DEFAULT_USE_BB_CRYPT
config BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA
bool
default n
config BUSYBOX_DEFAULT_ADD_SHELL
bool
default n
config BUSYBOX_DEFAULT_REMOVE_SHELL
bool
default n
config BUSYBOX_DEFAULT_ADDGROUP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
bool
default n
config BUSYBOX_DEFAULT_ADDUSER
bool
default n
@ -1189,13 +1213,16 @@ config BUSYBOX_DEFAULT_FIRST_SYSTEM_ID
config BUSYBOX_DEFAULT_LAST_SYSTEM_ID
int
default 0
config BUSYBOX_DEFAULT_ADDGROUP
config BUSYBOX_DEFAULT_CHPASSWD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS
config BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
string
default "md5"
config BUSYBOX_DEFAULT_CRYPTPW
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
config BUSYBOX_DEFAULT_MKPASSWD
bool
default n
config BUSYBOX_DEFAULT_DELUSER
@ -1231,15 +1258,6 @@ config BUSYBOX_DEFAULT_PASSWD
config BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK
bool
default y
config BUSYBOX_DEFAULT_CRYPTPW
bool
default n
config BUSYBOX_DEFAULT_CHPASSWD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
string
default "md5"
config BUSYBOX_DEFAULT_SU
bool
default n
@ -1336,6 +1354,9 @@ config BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR
config BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE
string
default ""
config BUSYBOX_DEFAULT_BLKDISCARD
bool
default n
config BUSYBOX_DEFAULT_BLOCKDEV
bool
default n
@ -1393,12 +1414,24 @@ config BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
config BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
bool
default n
config BUSYBOX_DEFAULT_NSENTER
bool
default n
config BUSYBOX_DEFAULT_FEATURE_NSENTER_LONG_OPTS
bool
default n
config BUSYBOX_DEFAULT_REV
bool
default n
config BUSYBOX_DEFAULT_SETARCH
bool
default n
config BUSYBOX_DEFAULT_UEVENT
bool
default n
config BUSYBOX_DEFAULT_UNSHARE
bool
default n
config BUSYBOX_DEFAULT_ACPID
bool
default n
@ -1555,9 +1588,6 @@ config BUSYBOX_DEFAULT_SCRIPT
config BUSYBOX_DEFAULT_SCRIPTREPLAY
bool
default n
config BUSYBOX_DEFAULT_SETARCH
bool
default n
config BUSYBOX_DEFAULT_SWAPONOFF
bool
default n
@ -1588,6 +1618,9 @@ config BUSYBOX_DEFAULT_FEATURE_MTAB_SUPPORT
config BUSYBOX_DEFAULT_VOLUMEID
bool
default n
config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BCACHE
bool
default n
config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS
bool
default n
@ -1747,6 +1780,9 @@ config BUSYBOX_DEFAULT_UBIRSVOL
config BUSYBOX_DEFAULT_UBIUPDATEVOL
bool
default n
config BUSYBOX_DEFAULT_UBIRENAME
bool
default n
config BUSYBOX_DEFAULT_WALL
bool
default n
@ -1852,9 +1888,6 @@ config BUSYBOX_DEFAULT_INOTIFYD
config BUSYBOX_DEFAULT_LAST
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LAST_SMALL
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
bool
default n
@ -1971,13 +2004,13 @@ config BUSYBOX_DEFAULT_WGET
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
bool
default y
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
bool
default y
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
bool
default y
default n
config BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
bool
default n
@ -2179,6 +2212,9 @@ config BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL
config BUSYBOX_DEFAULT_FEATURE_IP_RULE
bool
default y
config BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
bool
default n
config BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS
bool
default n
@ -2200,6 +2236,9 @@ config BUSYBOX_DEFAULT_IPTUNNEL
config BUSYBOX_DEFAULT_IPRULE
bool
default n
config BUSYBOX_DEFAULT_IPNEIGH
bool
default n
config BUSYBOX_DEFAULT_IPCALC
bool
default n
@ -2509,37 +2548,37 @@ config BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
config BUSYBOX_DEFAULT_WATCH
bool
default n
config BUSYBOX_DEFAULT_RUNSV
config BUSYBOX_DEFAULT_CHPST
bool
default n
config BUSYBOX_DEFAULT_RUNSVDIR
config BUSYBOX_DEFAULT_SETUIDGID
bool
default n
config BUSYBOX_DEFAULT_FEATURE_RUNSVDIR_LOG
config BUSYBOX_DEFAULT_ENVUIDGID
bool
default n
config BUSYBOX_DEFAULT_SV
config BUSYBOX_DEFAULT_ENVDIR
bool
default n
config BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR
string
default ""
config BUSYBOX_DEFAULT_SVLOGD
config BUSYBOX_DEFAULT_SOFTLIMIT
bool
default n
config BUSYBOX_DEFAULT_CHPST
config BUSYBOX_DEFAULT_RUNSV
bool
default n
config BUSYBOX_DEFAULT_SETUIDGID
config BUSYBOX_DEFAULT_RUNSVDIR
bool
default n
config BUSYBOX_DEFAULT_ENVUIDGID
config BUSYBOX_DEFAULT_FEATURE_RUNSVDIR_LOG
bool
default n
config BUSYBOX_DEFAULT_ENVDIR
config BUSYBOX_DEFAULT_SV
bool
default n
config BUSYBOX_DEFAULT_SOFTLIMIT
config BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR
string
default ""
config BUSYBOX_DEFAULT_SVLOGD
bool
default n
config BUSYBOX_DEFAULT_CHCON
@ -2722,6 +2761,21 @@ config BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
config BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
bool
default n
config BUSYBOX_DEFAULT_KLOGD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
bool
default n
config BUSYBOX_DEFAULT_LOGGER
bool
default y
config BUSYBOX_DEFAULT_LOGREAD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
bool
default n
config BUSYBOX_DEFAULT_SYSLOGD
bool
default n
@ -2746,21 +2800,6 @@ config BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG
config BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE
int
default 0
config BUSYBOX_DEFAULT_LOGREAD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
bool
default n
config BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG
bool
default n
config BUSYBOX_DEFAULT_KLOGD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
bool
default n
config BUSYBOX_DEFAULT_LOGGER
bool
default y

@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.24.2
PKG_RELEASE:=4
PKG_VERSION:=1.25.0
PKG_RELEASE:=1
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2

@ -115,9 +115,21 @@ config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
and have very little memory, this might not be a win. Otherwise,
you probably want this.
config BUSYBOX_CONFIG_BUSYBOX
bool "Include busybox applet"
default BUSYBOX_DEFAULT_BUSYBOX
help
The busybox applet provides general help regarding busybox and
allows the included applets to be listed. It's also required
if applet links are to be installed at runtime.
If you can live without these features disabling this will save
some space.
config BUSYBOX_CONFIG_FEATURE_INSTALLER
bool "Support --install [-s] to install applet links at runtime"
default BUSYBOX_DEFAULT_FEATURE_INSTALLER
depends on BUSYBOX_CONFIG_BUSYBOX
help
Enable 'busybox --install [-s]' support. This will allow you to use
busybox at runtime to create hard links or symlinks for all the
@ -687,6 +699,16 @@ config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
in a much bigger executable that more closely matches the source
code.
config BUSYBOX_CONFIG_DEBUG_SANITIZE
bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)"
default BUSYBOX_DEFAULT_DEBUG_SANITIZE
help
Say Y here if you want to enable runtime sanitizers. These help
catch bad memory accesses (e.g. buffer overflows), but will make
the executable larger and slow down runtime a bit.
If you aren't developing/testing busybox, say N here.
config BUSYBOX_CONFIG_UNIT_TEST
bool "Build unit tests"
default BUSYBOX_DEFAULT_UNIT_TEST

@ -32,7 +32,7 @@ config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
bool "tar, rpm, modprobe etc understand .Z data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z # it is ancient
help
Make tar, rpm, modprobe etc understand .Z data.
@ -41,23 +41,13 @@ config BUSYBOX_CONFIG_AR
default BUSYBOX_DEFAULT_AR # needs to be improved to be able to replace binutils ar
help
ar is an archival utility program used to create, modify, and
extract contents from archives. An archive is a single file holding
a collection of other files in a structure that makes it possible to
retrieve the original individual files (called archive members).
The original files' contents, mode (permissions), timestamp, owner,
and group are preserved in the archive, and can be restored on
extraction.
The stored filename is limited to 15 characters. (for more information
see long filename support).
ar has 60 bytes of overheads for every stored file.
This implementation of ar can extract archives, it cannot create or
modify them.
extract contents from archives. In practice, it is used exclusively
for object module archives used by compilers.
On an x86 system, the ar applet adds about 1K.
Unless you have a specific application which requires ar, you should
probably say N here.
probably say N here: most compilers come with their own ar utility.
config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
bool "Support for long filenames (not needed for debs)"
@ -77,7 +67,7 @@ config BUSYBOX_CONFIG_FEATURE_AR_CREATE
This enables archive creation (-c and -r) with busybox ar.
config BUSYBOX_CONFIG_UNCOMPRESS
bool "uncompress"
default BUSYBOX_DEFAULT_UNCOMPRESS
default BUSYBOX_DEFAULT_UNCOMPRESS # ancient
help
uncompress is used to decompress archives created by compress.
Not much used anymore, replaced by gzip/gunzip.
@ -88,6 +78,13 @@ config BUSYBOX_CONFIG_GUNZIP
gunzip is used to decompress archives created by gzip.
You can use the `-t' option to test the integrity of
an archive, without decompressing it.
config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_GUNZIP && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options.
config BUSYBOX_CONFIG_BUNZIP2
bool "bunzip2"
default BUSYBOX_DEFAULT_BUNZIP2

@ -123,6 +123,29 @@ config BUSYBOX_CONFIG_SHUF
default BUSYBOX_DEFAULT_SHUF
help
Generate random permutations
config BUSYBOX_CONFIG_STAT
bool "stat"
default BUSYBOX_DEFAULT_STAT
help
display file or filesystem status.
config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
bool "Enable custom formats (-c)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
depends on BUSYBOX_CONFIG_STAT
help
Without this, stat will not support the '-c format' option where
users can pass a custom format string for output. This adds about
7k to a nonstatic build on amd64.
config BUSYBOX_CONFIG_FEATURE_STAT_FILESYSTEM
bool "Enable display of filesystem status (-f)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
depends on BUSYBOX_CONFIG_STAT
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
help
Without this, stat will not support the '-f' option to display
information about filesystem status.
config BUSYBOX_CONFIG_SYNC
bool "sync"
default BUSYBOX_DEFAULT_SYNC
@ -760,22 +783,6 @@ config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
Supports additional suffixes 'b' for 512 bytes,
'g' for 1GiB for the -b option.
config BUSYBOX_CONFIG_STAT
bool "stat"
default BUSYBOX_DEFAULT_STAT
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
help
display file or filesystem status.
config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
bool "Enable custom formats (-c)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
depends on BUSYBOX_CONFIG_STAT
help
Without this, stat will not support the '-c format' option where
users can pass a custom format string for output. This adds about
7k to a nonstatic build on amd64.
config BUSYBOX_CONFIG_STTY
bool "stty"
default BUSYBOX_DEFAULT_STTY

@ -6,19 +6,16 @@
menu "Debian Utilities"
config BUSYBOX_CONFIG_MKTEMP
bool "mktemp"
default BUSYBOX_DEFAULT_MKTEMP
help
mktemp is used to create unique temporary files
config BUSYBOX_CONFIG_PIPE_PROGRESS
bool "pipe_progress"
default BUSYBOX_DEFAULT_PIPE_PROGRESS
help
Display a dot to indicate pipe activity.
config BUSYBOX_CONFIG_RUN_PARTS
bool "run-parts"
default BUSYBOX_DEFAULT_RUN_PARTS
@ -49,7 +46,6 @@ config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY
Support additional options:
-l --list print the names of the all matching files (not
limited to executables), but don't actually run them.
config BUSYBOX_CONFIG_START_STOP_DAEMON
bool "start-stop-daemon"
default BUSYBOX_DEFAULT_START_STOP_DAEMON
@ -74,7 +70,6 @@ config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the start-stop-daemon applet.
config BUSYBOX_CONFIG_WHICH
bool "which"
default BUSYBOX_DEFAULT_WHICH

@ -6,22 +6,11 @@
menu "Linux Ext2 FS Progs"
config BUSYBOX_CONFIG_CHATTR
bool "chattr"
default BUSYBOX_DEFAULT_CHATTR
help
chattr changes the file attributes on a second extended file system.
### config E2FSCK
### bool "e2fsck"
### default y
### help
### e2fsck is used to check Linux second extended file systems (ext2fs).
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
### provided.
config BUSYBOX_CONFIG_FSCK
bool "fsck"
default BUSYBOX_DEFAULT_FSCK
@ -29,13 +18,27 @@ config BUSYBOX_CONFIG_FSCK
fsck is used to check and optionally repair one or more filesystems.
In actuality, fsck is simply a front-end for the various file system
checkers (fsck.fstype) available under Linux.
config BUSYBOX_CONFIG_LSATTR
bool "lsattr"
default BUSYBOX_DEFAULT_LSATTR
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
lsattr lists the file attributes on a second extended file system.
config BUSYBOX_CONFIG_TUNE2FS
bool "tune2fs"
default BUSYBOX_DEFAULT_TUNE2FS # off: it is too limited compared to upstream version
help
tune2fs allows the system administrator to adjust various tunable
filesystem parameters on Linux ext2/ext3 filesystems.
### config E2FSCK
### bool "e2fsck"
### default y
### help
### e2fsck is used to check Linux second extended file systems (ext2fs).
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
### provided.
### config MKE2FS
### bool "mke2fs"
@ -44,13 +47,6 @@ config BUSYBOX_CONFIG_LSATTR
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
config BUSYBOX_CONFIG_TUNE2FS
bool "tune2fs"
default BUSYBOX_DEFAULT_TUNE2FS # off: it is too limited compared to upstream version
help
tune2fs allows the system administrator to adjust various tunable
filesystem parameters on Linux ext2/ext3 filesystems.
### config E2LABEL
### bool "e2label"
### default y

@ -76,10 +76,21 @@ config BUSYBOX_CONFIG_INIT
help
init is the first program run when the system boots.
config BUSYBOX_CONFIG_LINUXRC
bool "Support running init from within an initrd (not initramfs)"
default BUSYBOX_DEFAULT_LINUXRC
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
Legacy support for running init under the old-style initrd. Allows
the name linuxrc to act as init, and it doesn't assume init is PID 1.
This does not apply to initramfs, which runs /init as PID 1 and
requires no special support.
config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
bool "Support reading an inittab file"
default BUSYBOX_DEFAULT_FEATURE_USE_INITTAB
depends on BUSYBOX_CONFIG_INIT
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
Allow init to read an inittab file when the system boot.
@ -106,7 +117,7 @@ config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
bool "Run commands with leading dash with controlling tty"
default BUSYBOX_DEFAULT_FEATURE_INIT_SCTTY
depends on BUSYBOX_CONFIG_INIT
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
If this option is enabled, init will try to give a controlling
tty to any command which has leading hyphen (often it's "-/bin/sh").
@ -121,40 +132,29 @@ config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG
bool "Enable init to write to syslog"
default BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG
depends on BUSYBOX_CONFIG_INIT
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
bool "Be _extra_ quiet on boot"
default BUSYBOX_DEFAULT_FEATURE_EXTRA_QUIET
depends on BUSYBOX_CONFIG_INIT
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
Prevent init from logging some messages to the console during boot.
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
bool "Support dumping core for child processes (debugging only)"
default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS
depends on BUSYBOX_CONFIG_INIT
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
If this option is enabled and the file /.init_enable_core
exists, then init will call setrlimit() to allow unlimited
core file sizes. If this option is disabled, processes
will not generate any core files.
config BUSYBOX_CONFIG_FEATURE_INITRD
bool "Support running init from within an initrd (not initramfs)"
default BUSYBOX_DEFAULT_FEATURE_INITRD
depends on BUSYBOX_CONFIG_INIT
help
Legacy support for running init under the old-style initrd. Allows
the name linuxrc to act as init, and it doesn't assume init is PID 1.
This does not apply to initramfs, which runs /init as PID 1 and
requires no special support.
config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
string "Initial terminal type"
default BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
depends on BUSYBOX_CONFIG_INIT
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
This is the initial value set by init for the TERM environment
variable. This variable is used by programs which make use of
@ -162,6 +162,21 @@ config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
Note that on Linux, init attempts to detect serial terminal and
sets TERM to "vt102" if one is found.
config BUSYBOX_CONFIG_FEATURE_INIT_MODIFY_CMDLINE
bool "Modify the command-line to \"init\""
default BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
When launched as PID 1 and after parsing its arguments, init
wipes all the arguments but argv[0] and rewrites argv[0] to
contain only "init", so that its command-line appears solely as
"init" in tools such as ps.
If this option is set to Y, init will keep its original behavior,
otherwise, all the arguments including argv[0] will be preserved,
be they parsed or ignored by init.
The original command-line used to launch init can then be
retrieved in /proc/1/cmdline on Linux, for example.
config BUSYBOX_CONFIG_MESG
bool "mesg"
default BUSYBOX_DEFAULT_MESG

@ -6,14 +6,38 @@
menu "Busybox Library Tuning"
config BUSYBOX_CONFIG_FEATURE_SYSTEMD
bool "Enable systemd support"
default BUSYBOX_DEFAULT_FEATURE_SYSTEMD
help
If you plan to use busybox daemons on a system where daemons
are controlled by systemd, enable this option.
If you don't use systemd, it is still safe to enable it,
but the downside is increased code size.
config BUSYBOX_CONFIG_FEATURE_USE_BSS_TAIL
bool "Use the end of BSS page"
default BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
help
Attempt to reclaim a small unused part of BSS.
Executables have the following parts:
= read-only executable code and constants, also known as "text"
= read-write data
= non-initialized (zeroed on demand) data, also known as "bss"
At link time, "text" is padded to a full page. At runtime, all "text"
pages are mapped RO and executable.
"Data" starts on the next page boundary, but is not padded
to a full page at the end. "Bss" starts wherever "data" ends.
At runtime, "data" pages are mapped RW and they are file-backed
(this includes a small portion of "bss" which may live in the last
partial page of "data").
Pages which are fully in "bss" are mapped to anonymous memory.
"Bss" end is usually not page-aligned. There is an unused space
in the last page. Linker marks its start with the "_end" symbol.
This option will attempt to use that space for bb_common_bufsiz1[]
array. If it fits after _end, it will be used, and COMMON_BUFSIZE
will be enlarged from its guaranteed minimum size of 1 kbyte.
This may require recompilation a second time, since value of _end
is known only after final link.
If you are getting a build error like this:
appletlib.c:(.text.main+0xd): undefined reference to '_end'
disable this option.
config BUSYBOX_CONFIG_FEATURE_RTMINMAX
bool "Support RTMIN[+n] and RTMAX[-n] signal names"
default BUSYBOX_DEFAULT_FEATURE_RTMINMAX
@ -30,7 +54,7 @@ config BUSYBOX_CONFIG_PASSWORD_MINLEN
config BUSYBOX_CONFIG_MD5_SMALL
int "MD5: Trade bytes for speed (0:fast, 3:slow)"
default BUSYBOX_DEFAULT_MD5_SMALL
default BUSYBOX_DEFAULT_MD5_SMALL # all "fast or small" options default to small
range 0 3
help
Trade binary size versus speed for the md5sum algorithm.
@ -44,7 +68,7 @@ config BUSYBOX_CONFIG_MD5_SMALL
config BUSYBOX_CONFIG_SHA3_SMALL
int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
default BUSYBOX_DEFAULT_SHA3_SMALL
default BUSYBOX_DEFAULT_SHA3_SMALL # all "fast or small" options default to small
range 0 1
help
Trade binary size versus speed for the sha3sum algorithm.
@ -54,7 +78,7 @@ config BUSYBOX_CONFIG_SHA3_SMALL
config BUSYBOX_CONFIG_FEATURE_FAST_TOP
bool "Faster /proc scanning code (+100 bytes)"
default BUSYBOX_DEFAULT_FEATURE_FAST_TOP
default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small
help
This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
but code size is slightly bigger.
@ -128,7 +152,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT
config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
bool "Reverse history search"
default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
depends on BUSYBOX_CONFIG_FEATURE_EDITING
help
Enable readline-like Ctrl-R combination for reverse history search.
Increases code by about 0.5k.

@ -6,18 +6,6 @@
menu "Login/Password Management Utilities"
config BUSYBOX_CONFIG_ADD_SHELL
bool "add-shell"
default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Add shells to /etc/shells.
config BUSYBOX_CONFIG_REMOVE_SHELL
bool "remove-shell"
default BUSYBOX_DEFAULT_REMOVE_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Remove shells from /etc/shells.
config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
bool "Support for shadow passwords"
default BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
@ -104,6 +92,38 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
With this option off, login will fail password check for any
user which has password encrypted with these algorithms.
config BUSYBOX_CONFIG_ADD_SHELL
bool "add-shell"
default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Add shells to /etc/shells.
config BUSYBOX_CONFIG_REMOVE_SHELL
bool "remove-shell"
default BUSYBOX_DEFAULT_REMOVE_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Remove shells from /etc/shells.
config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup"
default BUSYBOX_DEFAULT_ADDGROUP
help
Utility for creating a new group account.
config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the addgroup applet.
config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
bool "Support for adding users to groups"
default BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
depends on BUSYBOX_CONFIG_ADDGROUP
help
If called with two non-option arguments,
addgroup will add an existing user to an
existing group.
config BUSYBOX_CONFIG_ADDUSER
bool "adduser"
default BUSYBOX_DEFAULT_ADDUSER
@ -151,29 +171,33 @@ config BUSYBOX_CONFIG_LAST_SYSTEM_ID
default BUSYBOX_DEFAULT_LAST_SYSTEM_ID
help
Last valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup"
default BUSYBOX_DEFAULT_ADDGROUP
config BUSYBOX_CONFIG_CHPASSWD
bool "chpasswd"
default BUSYBOX_DEFAULT_CHPASSWD
help
Utility for creating a new group account.
Reads a file of user name and password pairs from standard input
and uses this information to update a group of existing users.
config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO
string "Default password encryption method (passwd -a, cryptpw -m parameter)"
default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW
help
Support long options for the addgroup applet.
config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
bool "Support for adding users to groups"
default BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
depends on BUSYBOX_CONFIG_ADDGROUP
Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
config BUSYBOX_CONFIG_CRYPTPW
bool "cryptpw"
default BUSYBOX_DEFAULT_CRYPTPW
help
If called with two non-option arguments,
addgroup will add an existing user to an
existing group.
Encrypts the given password with the crypt(3) libc function
using the given salt.
config BUSYBOX_CONFIG_MKPASSWD
bool "mkpasswd"
default BUSYBOX_DEFAULT_MKPASSWD
help
Encrypts the given password with the crypt(3) libc function
using the given salt. Debian has this utility under mkpasswd
name. Busybox provides mkpasswd as an alias for cryptpw.
config BUSYBOX_CONFIG_DELUSER
bool "deluser"
default BUSYBOX_DEFAULT_DELUSER
@ -193,7 +217,6 @@ config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
help
If called with two non-option arguments, deluser
or delgroup will remove an user from a specified group.
config BUSYBOX_CONFIG_GETTY
bool "getty"
default BUSYBOX_DEFAULT_GETTY
@ -212,7 +235,6 @@ config BUSYBOX_CONFIG_GETTY
printf "%s login: " "`hostname`"
read -r login
exec /bin/login "$login"
config BUSYBOX_CONFIG_LOGIN
bool "login"
default BUSYBOX_DEFAULT_LOGIN
@ -258,7 +280,6 @@ config BUSYBOX_CONFIG_FEATURE_SECURETTY
The file /etc/securetty is used by (some versions of) login(1).
The file contains the device names of tty lines (one per line,
without leading /dev/) on which root is allowed to login.
config BUSYBOX_CONFIG_PASSWD
bool "passwd"
default BUSYBOX_DEFAULT_PASSWD
@ -278,29 +299,6 @@ config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
depends on BUSYBOX_CONFIG_PASSWD
help
With this option passwd will refuse new passwords which are "weak".
config BUSYBOX_CONFIG_CRYPTPW
bool "cryptpw"
default BUSYBOX_DEFAULT_CRYPTPW
help
Encrypts the given password with the crypt(3) libc function
using the given salt. Debian has this utility under mkpasswd
name. Busybox provides mkpasswd as an alias for cryptpw.
config BUSYBOX_CONFIG_CHPASSWD
bool "chpasswd"
default BUSYBOX_DEFAULT_CHPASSWD
help
Reads a file of user name and password pairs from standard input
and uses this information to update a group of existing users.
config BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO
string "Default password encryption method (passwd -a, cryptpw -m parameter)"
default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW
help
Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
config BUSYBOX_CONFIG_SU
bool "su"
default BUSYBOX_DEFAULT_SU
@ -321,7 +319,6 @@ config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS
bool "Enable su to check user's shell to be listed in /etc/shells"
depends on BUSYBOX_CONFIG_SU
default BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS
config BUSYBOX_CONFIG_SULOGIN
bool "sulogin"
default BUSYBOX_DEFAULT_SULOGIN
@ -329,7 +326,6 @@ config BUSYBOX_CONFIG_SULOGIN
help
sulogin is invoked when the system goes into single user
mode (this is done through an entry in inittab).
config BUSYBOX_CONFIG_VLOCK
bool "vlock"
default BUSYBOX_DEFAULT_VLOCK

@ -246,6 +246,12 @@ config BUSYBOX_CONFIG_UBIUPDATEVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Update a UBI volume.
config BUSYBOX_CONFIG_UBIRENAME
bool "ubirename"
default BUSYBOX_DEFAULT_UBIRENAME
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to rename UBI volumes
config BUSYBOX_CONFIG_WALL
bool "wall"
default BUSYBOX_DEFAULT_WALL
@ -554,23 +560,13 @@ config BUSYBOX_CONFIG_LAST
help
'last' displays a list of the last users that logged into the system.
choice
prompt "Choose last implementation"
depends on BUSYBOX_CONFIG_LAST
default BUSYBOX_CONFIG_FEATURE_LAST_FANCY
config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
bool "small"
help
This is a small version of last with just the basic set of
features.
config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
bool "huge"
bool "Turn on output of extra information"
default BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
depends on BUSYBOX_CONFIG_LAST
help
'last' displays detailed information about the last users that
logged into the system (mimics sysvinit last). +900 bytes.
endchoice
config BUSYBOX_CONFIG_HDPARM
bool "hdparm"

@ -44,9 +44,6 @@ config BUSYBOX_CONFIG_MODPROBE_SMALL
- rmmod is an alias to modprobe -r
- depmod generates modules.dep.bb
As of 2008-07, this code is experimental. It is 14kb smaller
than "non-small" modutils.
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
bool "Accept module options on modprobe command line"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE

@ -673,7 +673,7 @@ config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
config BUSYBOX_CONFIG_FEATURE_INETD_RPC
bool "Support RPC services"
default BUSYBOX_DEFAULT_FEATURE_INETD_RPC
default BUSYBOX_DEFAULT_FEATURE_INETD_RPC # very rarely used, and needs Sun RPC support in libc
depends on BUSYBOX_CONFIG_INETD
select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
help
@ -730,6 +730,13 @@ config BUSYBOX_CONFIG_FEATURE_IP_RULE
help
Add support for rule commands to "ip".
config BUSYBOX_CONFIG_FEATURE_IP_NEIGH
bool "ip neighbor"
default BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
depends on BUSYBOX_CONFIG_IP
help
Add support for neighbor commands to "ip".
config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
bool "Support short forms of ip commands"
default BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS
@ -741,6 +748,7 @@ config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
ip route -> iproute
ip tunnel -> iptunnel
ip rule -> iprule
ip neigh -> ipneigh
Say N unless you desparately need the short form of the ip
object commands.
@ -780,6 +788,11 @@ config BUSYBOX_CONFIG_IPRULE
default BUSYBOX_DEFAULT_IPRULE
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_RULE
config BUSYBOX_CONFIG_IPNEIGH
bool
default BUSYBOX_DEFAULT_IPNEIGH
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_NEIGH
config BUSYBOX_CONFIG_IPCALC
bool "ipcalc"
default BUSYBOX_DEFAULT_IPCALC

@ -6,13 +6,11 @@
menu "Print Utilities"
config BUSYBOX_CONFIG_LPD
bool "lpd"
default BUSYBOX_DEFAULT_LPD
help
lpd is a print spooling daemon.
config BUSYBOX_CONFIG_LPR
bool "lpr"
default BUSYBOX_DEFAULT_LPR

@ -6,14 +6,43 @@
menu "Runit Utilities"
config BUSYBOX_CONFIG_CHPST
bool "chpst"
default BUSYBOX_DEFAULT_CHPST
help
chpst changes the process state according to the given options, and
execs specified program.
config BUSYBOX_CONFIG_SETUIDGID
bool "setuidgid"
default BUSYBOX_DEFAULT_SETUIDGID
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_ENVUIDGID
bool "envuidgid"
default BUSYBOX_DEFAULT_ENVUIDGID
help
Sets $UID to account's uid and $GID to account's gid
config BUSYBOX_CONFIG_ENVDIR
bool "envdir"
default BUSYBOX_DEFAULT_ENVDIR
help
Sets various environment variables as specified by files
in the given directory
config BUSYBOX_CONFIG_SOFTLIMIT
bool "softlimit"
default BUSYBOX_DEFAULT_SOFTLIMIT
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_RUNSV
bool "runsv"
default BUSYBOX_DEFAULT_RUNSV
help
runsv starts and monitors a service and optionally an appendant log
service.
config BUSYBOX_CONFIG_RUNSVDIR
bool "runsvdir"
default BUSYBOX_DEFAULT_RUNSVDIR
@ -30,7 +59,6 @@ config BUSYBOX_CONFIG_FEATURE_RUNSVDIR_LOG
Enable feature where second parameter of runsvdir holds last error
message (viewable via top/ps). Otherwise (feature is off
or no parameter), error messages go to stderr only.
config BUSYBOX_CONFIG_SV
bool "sv"
default BUSYBOX_DEFAULT_SV
@ -45,7 +73,6 @@ config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
help
Default directory for services.
Defaults to "/var/service"
config BUSYBOX_CONFIG_SVLOGD
bool "svlogd"
default BUSYBOX_DEFAULT_SVLOGD
@ -54,36 +81,4 @@ config BUSYBOX_CONFIG_SVLOGD
filters log messages, and writes the data to one or more automatically
rotated logs.
config BUSYBOX_CONFIG_CHPST
bool "chpst"
default BUSYBOX_DEFAULT_CHPST
help
chpst changes the process state according to the given options, and
execs specified program.
config BUSYBOX_CONFIG_SETUIDGID
bool "setuidgid"
default BUSYBOX_DEFAULT_SETUIDGID
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_ENVUIDGID
bool "envuidgid"
default BUSYBOX_DEFAULT_ENVUIDGID
help
Sets $UID to account's uid and $GID to account's gid
config BUSYBOX_CONFIG_ENVDIR
bool "envdir"
default BUSYBOX_DEFAULT_ENVDIR
help
Sets various environment variables as specified by files
in the given directory
config BUSYBOX_CONFIG_SOFTLIMIT
bool "softlimit"
default BUSYBOX_DEFAULT_SOFTLIMIT
help
Sets soft resource limits as specified by options
endmenu

@ -6,6 +6,64 @@
menu "System Logging Utilities"
config BUSYBOX_CONFIG_KLOGD
bool "klogd"
default BUSYBOX_DEFAULT_KLOGD
help
klogd is a utility which intercepts and logs all
messages from the Linux kernel and sends the messages
out to the 'syslogd' utility so they can be logged. If
you wish to record the messages produced by the kernel,
you should enable this option.
comment "klogd should not be used together with syslog to kernel printk buffer"
depends on BUSYBOX_CONFIG_KLOGD && BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
bool "Use the klogctl() interface"
default BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
depends on BUSYBOX_CONFIG_KLOGD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The klogd applet supports two interfaces for reading
kernel messages. Linux provides the klogctl() interface
which allows reading messages from the kernel ring buffer
independently from the file system.
If you answer 'N' here, klogd will use the more portable
approach of reading them from /proc or a device node.
However, this method requires the file to be available.
If in doubt, say 'Y'.
config BUSYBOX_CONFIG_LOGGER
bool "logger"
default BUSYBOX_DEFAULT_LOGGER
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
The logger utility allows you to send arbitrary text
messages to the system log (i.e. the 'syslogd' utility) so
they can be logged. This is generally used to help locate
problems that occur within programs and scripts.
config BUSYBOX_CONFIG_LOGREAD
bool "logread"
default BUSYBOX_DEFAULT_LOGREAD
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
If you enabled Circular Buffer support, you almost
certainly want to enable this feature as well. This
utility will allow you to read the messages that are
stored in the syslogd circular buffer.
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
bool "Double buffering"
default BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
depends on BUSYBOX_CONFIG_LOGREAD
help
'logread' ouput to slow serial terminals can have
side effects on syslog because of the semaphore.
This option make logread to double buffer copy
from circular buffer, minimizing semaphore
contention at some minor memory expense.
config BUSYBOX_CONFIG_SYSLOGD
bool "syslogd"
@ -28,7 +86,7 @@ config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
depends on BUSYBOX_CONFIG_SYSLOGD
help
This enables syslogd to rotate the message files
on his own. No need to use an external rotatescript.
on his own. No need to use an external rotate script.
config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
bool "Remote Log support"
@ -92,27 +150,6 @@ config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
This option sets the size of the circular buffer
used to record system log messages.
config BUSYBOX_CONFIG_LOGREAD
bool "logread"
default BUSYBOX_DEFAULT_LOGREAD
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
If you enabled Circular Buffer support, you almost
certainly want to enable this feature as well. This
utility will allow you to read the messages that are
stored in the syslogd circular buffer.
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
bool "Double buffering"
default BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
depends on BUSYBOX_CONFIG_LOGREAD
help
'logread' ouput to slow serial terminals can have
side effects on syslog because of the semaphore.
This option make logread to double buffer copy
from circular buffer, minimizing semaphore
contention at some minor memory expense.
config BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
bool "Linux kernel printk buffer support"
default BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG
@ -126,44 +163,4 @@ config BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
NOTICE: Syslog facilities in log entries needs kernel 3.5+.
config BUSYBOX_CONFIG_KLOGD
bool "klogd"
default BUSYBOX_DEFAULT_KLOGD
help
klogd is a utility which intercepts and logs all
messages from the Linux kernel and sends the messages
out to the 'syslogd' utility so they can be logged. If
you wish to record the messages produced by the kernel,
you should enable this option.
comment "klogd should not be used together with syslog to kernel printk buffer"
depends on BUSYBOX_CONFIG_KLOGD && BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
bool "Use the klogctl() interface"
default BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
depends on BUSYBOX_CONFIG_KLOGD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The klogd applet supports two interfaces for reading
kernel messages. Linux provides the klogctl() interface
which allows reading messages from the kernel ring buffer
independently from the file system.
If you answer 'N' here, klogd will use the more portable
approach of reading them from /proc or a device node.
However, this method requires the file to be available.
If in doubt, say 'Y'.
config BUSYBOX_CONFIG_LOGGER
bool "logger"
default BUSYBOX_DEFAULT_LOGGER
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
The logger utility allows you to send arbitrary text
messages to the system log (i.e. the 'syslogd' utility) so
they can be logged. This is generally used to help locate
problems that occur within programs and scripts.
endmenu

@ -6,6 +6,11 @@
menu "Linux System Utilities"
config BUSYBOX_CONFIG_BLKDISCARD
bool "blkdiscard"
default BUSYBOX_DEFAULT_BLKDISCARD
help
blkdiscard discards sectors on a given device.
config BUSYBOX_CONFIG_BLOCKDEV
bool "blockdev"
default BUSYBOX_DEFAULT_BLOCKDEV
@ -174,11 +179,34 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_OTHERTAB
default BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
help
Support mount -T (specifying an alternate fstab)
config BUSYBOX_CONFIG_NSENTER
bool "nsenter"
default BUSYBOX_DEFAULT_NSENTER
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with namespaces of other processes.
config BUSYBOX_CONFIG_FEATURE_NSENTER_LONG_OPTS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_NSENTER_LONG_OPTS
depends on BUSYBOX_CONFIG_NSENTER && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the nsenter applet. This makes
the busybox implementation more compatible with upstream.
config BUSYBOX_CONFIG_REV
bool "rev"
default BUSYBOX_DEFAULT_REV
help
Reverse lines of a file or files.
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default BUSYBOX_DEFAULT_SETARCH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The linux32 utility is used to create a 32bit environment for the
specified program (usually a shell). It only makes sense to have
this util on a system that supports both 64bit and 32bit userland
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_CONFIG_UEVENT
bool "uevent"
default BUSYBOX_DEFAULT_UEVENT
@ -186,6 +214,13 @@ config BUSYBOX_CONFIG_UEVENT
help
uevent is a netlink listener for kernel uevent notifications
sent via netlink. It is usually used for dynamic device creation.
config BUSYBOX_CONFIG_UNSHARE
bool "unshare"
default BUSYBOX_DEFAULT_UNSHARE
depends on BUSYBOX_CONFIG_LONG_OPTS && !BUSYBOX_CONFIG_NOMMU
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with some namespaces unshared from parent.
config BUSYBOX_CONFIG_ACPID
bool "acpid"
@ -669,16 +704,6 @@ config BUSYBOX_CONFIG_SCRIPTREPLAY
This program replays a typescript, using timing information
given by script -t.
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default BUSYBOX_DEFAULT_SETARCH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The linux32 utility is used to create a 32bit environment for the
specified program (usually a shell). It only makes sense to have
this util on a system that supports both 64bit and 32bit userland
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_CONFIG_SWAPONOFF
bool "swaponoff"
default BUSYBOX_DEFAULT_SWAPONOFF

@ -12,6 +12,14 @@ menu "Filesystem/Volume identification"
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BCACHE
bool "bcache filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BCACHE
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
bool "btrfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS

@ -1,6 +1,6 @@
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -40,6 +40,7 @@
@@ -41,6 +41,7 @@
#include <poll.h>
#include <sys/ioctl.h>
#include <sys/mman.h>

@ -1,23 +0,0 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Mon, 18 Jan 2016 12:03:45 +0100
Subject: [PATCH] networking: fix uninitialized memory when displaying IPv6
addresses
After commit 8e74adab0107658e3dc04ed342206272a284f43e
("libbb: make INET[6]_rresolve use sockaddr2{host,dotted}_noport")
INET_sprint6 uses more than just sin6_addr, it also tries to display the
scope id, which is uninitialized when called from ife_print6.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/networking/interface.c
+++ b/networking/interface.c
@@ -881,6 +881,7 @@ static void ife_print6(struct interface
sprintf(addr6, "%s:%s:%s:%s:%s:%s:%s:%s",
addr6p[0], addr6p[1], addr6p[2], addr6p[3],
addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
+ memset(&sap, 0, sizeof(sap));
inet_pton(AF_INET6, addr6,
(struct sockaddr *) &sap.sin6_addr);
sap.sin6_family = AF_INET6;

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/networking/libiproute/iprule.c
+++ b/networking/libiproute/iprule.c
@@ -119,7 +119,9 @@ static int FAST_FUNC print_rule(const st
@@ -114,7 +114,9 @@ static int FAST_FUNC print_rule(const st
printf("iif %s ", (char*)RTA_DATA(tb[RTA_IIF]));
}

@ -1,75 +0,0 @@
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 24 Apr 2016 17:39:02 +0200
Subject: [PATCH] ip: fix problem on mips64 n64 big endian musl systems
Use designated initializers for struct msghdr.
The struct layout is non-portable and musl libc does not match what busybox expects.
Signed-off-by: Szabolcs Nagy <nsz@port70.net>
Tested-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
--- a/networking/libiproute/libnetlink.c
+++ b/networking/libiproute/libnetlink.c
@@ -71,11 +71,15 @@ int FAST_FUNC rtnl_dump_request(struct r
struct nlmsghdr nlh;
struct sockaddr_nl nladdr;
struct iovec iov[2] = { { &nlh, sizeof(nlh) }, { req, len } };
+ /* Use designated initializers, struct layout is non-portable */
struct msghdr msg = {
- (void*)&nladdr, sizeof(nladdr),
- iov, 2,
- NULL, 0,
- 0
+ .msg_name = (void*)&nladdr,
+ .msg_namelen = sizeof(nladdr),
+ .msg_iov = iov,
+ .msg_iovlen = 2,
+ .msg_control = NULL,
+ .msg_controllen = 0,
+ .msg_flags = 0
};
memset(&nladdr, 0, sizeof(nladdr));
@@ -104,12 +108,15 @@ static int rtnl_dump_filter(struct rtnl_
while (1) {
int status;
struct nlmsghdr *h;
-
+ /* Use designated initializers, struct layout is non-portable */
struct msghdr msg = {
- (void*)&nladdr, sizeof(nladdr),
- &iov, 1,
- NULL, 0,
- 0
+ .msg_name = (void*)&nladdr,
+ .msg_namelen = sizeof(nladdr),
+ .msg_iov = &iov,
+ .msg_iovlen = 1,
+ .msg_control = NULL,
+ .msg_controllen = 0,
+ .msg_flags = 0
};
status = recvmsg(rth->fd, &msg, 0);
@@ -211,11 +218,15 @@ int FAST_FUNC rtnl_talk(struct rtnl_hand
struct sockaddr_nl nladdr;
struct iovec iov = { (void*)n, n->nlmsg_len };
char *buf = xmalloc(8*1024); /* avoid big stack buffer */
+ /* Use designated initializers, struct layout is non-portable */
struct msghdr msg = {
- (void*)&nladdr, sizeof(nladdr),
- &iov, 1,
- NULL, 0,
- 0
+ .msg_name = (void*)&nladdr,
+ .msg_namelen = sizeof(nladdr),
+ .msg_iov = &iov,
+ .msg_iovlen = 1,
+ .msg_control = NULL,
+ .msg_controllen = 0,
+ .msg_flags = 0
};
memset(&nladdr, 0, sizeof(nladdr));

@ -1,6 +1,6 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -236,9 +236,6 @@
@@ -237,9 +237,6 @@
#if ENABLE_FEATURE_MOUNT_NFS
/* This is just a warning of a common mistake. Possibly this should be a
* uclibc faq entry rather than in busybox... */

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -695,6 +695,7 @@ static int bcast_or_ucast(struct dhcp_pa
@@ -697,6 +697,7 @@ static int bcast_or_ucast(struct dhcp_pa
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
{
struct dhcp_packet packet;
@ -8,11 +8,11 @@
/* Fill in: op, htype, hlen, cookie, chaddr fields,
* random xid field (we override it below),
@@ -712,6 +713,7 @@ static NOINLINE int send_discover(uint32
@@ -714,6 +715,7 @@ static NOINLINE int send_discover(uint32
*/
add_client_options(&packet);
+ if (msgs++ < 3)
bb_info_msg("Sending discover...");
return raw_bcast_from_client_config_ifindex(&packet);
bb_error_msg("sending %s", "discover");
return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
}

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1418,6 +1418,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -1422,6 +1422,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1101,7 +1101,6 @@ static void perform_renew(void)
@@ -1103,7 +1103,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */

@ -1,51 +0,0 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -673,10 +673,10 @@ static void add_client_options(struct dh
* client reverts to using the IP broadcast address.
*/
-static int raw_bcast_from_client_config_ifindex(struct dhcp_packet *packet)
+static int raw_bcast_from_client_config_ifindex(struct dhcp_packet *packet, uint32_t src_nip)
{
return udhcp_send_raw_packet(packet,
- /*src*/ INADDR_ANY, CLIENT_PORT,
+ /*src*/ src_nip, CLIENT_PORT,
/*dst*/ INADDR_BROADCAST, SERVER_PORT, MAC_BCAST_ADDR,
client_config.ifindex);
}
@@ -687,7 +687,7 @@ static int bcast_or_ucast(struct dhcp_pa
return udhcp_send_kernel_packet(packet,
ciaddr, CLIENT_PORT,
server, SERVER_PORT);
- return raw_bcast_from_client_config_ifindex(packet);
+ return raw_bcast_from_client_config_ifindex(packet, ciaddr);
}
/* Broadcast a DHCP discover packet to the network, with an optionally requested IP */
@@ -715,7 +715,7 @@ static NOINLINE int send_discover(uint32
if (msgs++ < 3)
bb_info_msg("Sending discover...");
- return raw_bcast_from_client_config_ifindex(&packet);
+ return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
}
/* Broadcast a DHCP request message */
@@ -759,7 +759,7 @@ static NOINLINE int send_select(uint32_t
addr.s_addr = requested;
bb_info_msg("Sending select for %s...", inet_ntoa(addr));
- return raw_bcast_from_client_config_ifindex(&packet);
+ return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
}
/* Unicast or broadcast a DHCP renew message */
@@ -827,7 +827,7 @@ static NOINLINE int send_decline(/*uint3
udhcp_add_simple_option(&packet, DHCP_SERVER_ID, server);
bb_info_msg("Sending decline...");
- return raw_bcast_from_client_config_ifindex(&packet);
+ return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
}
#endif

@ -1,6 +1,6 @@
--- a/include/applets.src.h
+++ b/include/applets.src.h
@@ -254,6 +254,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO
@@ -229,6 +229,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO
IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP))
IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP))
IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP))
@ -10,7 +10,7 @@
IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
--- a/networking/Config.src
+++ b/networking/Config.src
@@ -626,6 +626,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
@@ -639,6 +639,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
help
Support long options for the ipcalc applet.

@ -1,16 +1,16 @@
--- a/include/applets.src.h
+++ b/include/applets.src.h
@@ -211,6 +211,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,
@@ -196,6 +196,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,
IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP))
IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP))
IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP))
+IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP))
IF_LOGGER(APPLET(logger, BB_DIR_USR_BIN, BB_SUID_DROP))
/* Needs to be run by root or be suid root - needs to change uid and gid: */
IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE))
IF_LOGNAME(APPLET_NOFORK(logname, logname, BB_DIR_USR_BIN, BB_SUID_DROP, logname))
IF_LOSETUP(APPLET(losetup, BB_DIR_SBIN, BB_SUID_DROP))
IF_LS(APPLET_NOEXEC(ls, ls, BB_DIR_BIN, BB_SUID_DROP, ls))
--- a/miscutils/Config.src
+++ b/miscutils/Config.src
@@ -385,6 +385,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
@@ -375,6 +375,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
help
Enables the 'hdparm -d' option to get/set using_dma flag.
@ -25,9 +25,9 @@
default y
--- a/miscutils/Kbuild.src
+++ b/miscutils/Kbuild.src
@@ -28,6 +28,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
@@ -33,6 +33,7 @@ lib-$(CONFIG_LAST) += last.o
endif
lib-$(CONFIG_LESS) += less.o
+lib-$(CONFIG_LOCK) += lock.o
lib-$(CONFIG_MAKEDEVS) += makedevs.o

@ -1,48 +0,0 @@
--- a/networking/ntpd.c
+++ b/networking/ntpd.c
@@ -265,6 +265,7 @@ typedef struct {
typedef struct {
len_and_sockaddr *p_lsa;
char *p_dotted;
+ char *p_hostname;
int p_fd;
int datapoint_idx;
uint32_t lastpkt_refid;
@@ -766,8 +767,9 @@ add_peers(const char *s)
peer_t *p;
p = xzalloc(sizeof(*p));
- p->p_lsa = xhost2sockaddr(s, 123);
- p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
+ p->p_hostname = s;
+ p->p_lsa = NULL;
+ p->p_dotted = NULL;
p->p_fd = -1;
p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3);
p->next_action_time = G.cur_time; /* = set_next(p, 0); */
@@ -816,6 +818,25 @@ send_query_to_peer(peer_t *p)
*
* Uncomment this and use strace to see it in action:
*/
+
+ /* See if the peer hostname already resolved yet, if not, retry to resolv and return on failure */
+ if (!p->p_lsa)
+ {
+ p->p_lsa = host2sockaddr(p->p_hostname, 123);
+
+ if (p->p_lsa)
+ {
+ p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
+ VERB1 bb_error_msg("resolved peer %s to %s", p->p_hostname, p->p_dotted);
+ }
+ else
+ {
+ set_next(p, RETRY_INTERVAL);
+ VERB1 bb_error_msg("could not resolve peer %s, skipping", p->p_hostname);
+ return;
+ }
+ }
+
#define PROBE_LOCAL_ADDR /* { len_and_sockaddr lsa; lsa.len = LSA_SIZEOF_SA; getsockname(p->query.fd, &lsa.u.sa, &lsa.len); } */
if (p->p_fd == -1) {

@ -1,6 +1,6 @@
--- a/networking/telnetd.c
+++ b/networking/telnetd.c
@@ -331,6 +331,7 @@ make_new_session(
@@ -333,6 +333,7 @@ make_new_session(
/* Restore default signal handling ASAP */
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);

@ -8,10 +8,10 @@
//usage: "\n"
//usage: "\nRecognized TIME formats:"
//usage: "\n hh:mm[:ss]"
@@ -138,9 +139,8 @@
//usage: "Wed Apr 12 18:52:41 MDT 2000\n"
@@ -139,9 +140,8 @@
#include "libbb.h"
#include "common_bufsiz.h"
-#if ENABLE_FEATURE_DATE_NANO
-# include <sys/syscall.h>
-#endif
@ -20,7 +20,7 @@
enum {
OPT_RFC2822 = (1 << 0), /* R */
@@ -148,8 +148,9 @@ enum {
@@ -149,8 +149,9 @@ enum {
OPT_UTC = (1 << 2), /* u */
OPT_DATE = (1 << 3), /* d */
OPT_REFERENCE = (1 << 4), /* r */
@ -32,7 +32,7 @@
};
static void maybe_set_utc(int opt)
@@ -167,12 +168,15 @@ static const char date_longopts[] ALIGN1
@@ -168,12 +169,15 @@ static const char date_longopts[] ALIGN1
/* "universal\0" No_argument "u" */
"date\0" Required_argument "d"
"reference\0" Required_argument "r"
@ -48,7 +48,7 @@
struct timespec ts;
struct tm tm_time;
char buf_fmt_dt2str[64];
@@ -187,7 +191,7 @@ int date_main(int argc UNUSED_PARAM, cha
@@ -188,7 +192,7 @@ int date_main(int argc UNUSED_PARAM, cha
opt_complementary = "d--s:s--d"
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
IF_LONG_OPTS(applet_long_options = date_longopts;)
@ -57,7 +57,7 @@
IF_FEATURE_DATE_ISOFMT("I::D:"),
&date_str, &date_str, &filename
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
@@ -244,6 +248,31 @@ int date_main(int argc UNUSED_PARAM, cha
@@ -245,6 +249,31 @@ int date_main(int argc UNUSED_PARAM, cha
if (*argv)
bb_show_usage();

@ -1,11 +0,0 @@
--- a/networking/arping.c
+++ b/networking/arping.c
@@ -24,6 +24,8 @@
#include <arpa/inet.h>
#include <net/if.h>
+#include <net/if_arp.h>
+#include <netinet/if_ether.h>
#include <netinet/ether.h>
#include <netpacket/packet.h>
Loading…
Cancel
Save