summaryrefslogtreecommitdiff
path: root/package/busybox
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-08-15 20:28:05 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-08-15 20:28:05 +0000
commit528728488025df01388ab8e84bccfa62fbaf88e9 (patch)
tree64a21ffaee38c196263d4bceaf9b547c17e6b65a /package/busybox
parent1014b0e07d82c01e41cd41a873bddd92506323ab (diff)
package/busybox: add missing bits from 1.17.1 update (mostly config stuff), rename upstream patches so they're applied first
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22665 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/busybox')
-rw-r--r--package/busybox/config/Config.in119
-rw-r--r--package/busybox/config/archival/Config.in62
-rw-r--r--package/busybox/config/console-tools/Config.in23
-rw-r--r--package/busybox/config/coreutils/Config.in173
-rw-r--r--package/busybox/config/debianutils/Config.in1
-rw-r--r--package/busybox/config/e2fsprogs/Config.in20
-rw-r--r--package/busybox/config/editors/Config.in12
-rw-r--r--package/busybox/config/init/Config.in43
-rw-r--r--package/busybox/config/loginutils/Config.in16
-rw-r--r--package/busybox/config/miscutils/Config.in36
-rw-r--r--package/busybox/config/modutils/Config.in10
-rw-r--r--package/busybox/config/networking/Config.in130
-rw-r--r--package/busybox/config/networking/udhcp/Config.in3
-rw-r--r--package/busybox/config/procps/Config.in7
-rw-r--r--package/busybox/config/runit/Config.in4
-rw-r--r--package/busybox/config/selinux/Config.in1
-rw-r--r--package/busybox/config/shell/Config.in103
-rw-r--r--package/busybox/config/sysklogd/Config.in11
-rw-r--r--package/busybox/config/util-linux/Config.in475
-rw-r--r--package/busybox/patches/000-autoconf.patch11
-rw-r--r--package/busybox/patches/000-upstream-mktemp.patch (renamed from package/busybox/patches/920-mktemp.patch)0
-rw-r--r--package/busybox/patches/000-upstream-sed.patch (renamed from package/busybox/patches/921-sed.patch)0
-rw-r--r--package/busybox/patches/000-upstream-shell.patch (renamed from package/busybox/patches/922-shell.patch)0
-rw-r--r--package/busybox/patches/241-udhcpc-oversized_packets.patch40
-rw-r--r--package/busybox/patches/250-ash_export-n.patch4
-rw-r--r--package/busybox/patches/300-netmsg.patch31
-rw-r--r--package/busybox/patches/310-passwd_access.patch2
-rw-r--r--package/busybox/patches/340-lock_util.patch2
-rw-r--r--package/busybox/patches/350-httpd_redir.patch19
-rw-r--r--package/busybox/patches/470-insmod_search.patch2
-rw-r--r--package/busybox/patches/510-awk_include.patch19
-rw-r--r--package/busybox/patches/610-syslog-remote-retry-connection.patch28
-rw-r--r--package/busybox/patches/803-id_getgrouplist.patch4
33 files changed, 902 insertions, 509 deletions
diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in
index f7ee7b3d41..5dd3d1b09a 100644
--- a/package/busybox/config/Config.in
+++ b/package/busybox/config/Config.in
@@ -82,7 +82,7 @@ config BUSYBOX_CONFIG_SHOW_USAGE
config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
bool "Show verbose applet usage messages"
default y
- select BUSYBOX_CONFIG_SHOW_USAGE
+ depends on BUSYBOX_CONFIG_SHOW_USAGE
help
All BusyBox applets will show more verbose help messages when
busybox is invoked with --help. This will add a lot of text to the
@@ -118,7 +118,7 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT
Enable this if your system has locale support and you would like
busybox to support locale settings.
-config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
+config BUSYBOX_CONFIG_UNICODE_SUPPORT
bool "Support Unicode"
default n
help
@@ -130,16 +130,109 @@ config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
+config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
+ bool "Use libc routines for Unicode (else uses internal ones)"
+ default n
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
+ help
+ With this option on, Unicode support is implemented using libc
+ routines. Otherwise, internal implementation is used.
+
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LANG environment variable"
default n
- depends on BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE && !BUSYBOX_CONFIG_LOCALE_SUPPORT
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, Unicode support is activated
only if LANG variable has the value of the form "xxxx.utf8"
Otherwise, Unicode support will be always enabled and active.
+config BUSYBOX_CONFIG_SUBST_WCHAR
+ int "Character code to substitute unprintable characters with"
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+ default 63
+ help
+ Typical values are 63 for '?' (works with any output device),
+ 30 for ASCII substitute control code,
+ 65533 (0xfffd) for Unicode replacement character.
+
+config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
+ int "Range of supported Unicode characters"
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+ default 767
+ help
+ Any character with Unicode value bigger than this is assumed
+ to be non-printable on output device. Many applets replace
+ such chars with substitution character.
+
+ The idea is that many valid printable Unicode chars are
+ nevertheless are not displayed correctly. Think about
+ combining charachers, double-wide hieroglyphs, obscure
+ characters in dozens of ancient scripts...
+ Many terminals, terminal emulators, xterms etc will fail
+ to handle them correctly. Choose the smallest value
+ which suits your needs.
+
+ Typical values are:
+ 126 - ASCII only
+ 767 (0x2ff) - there are no combining chars in [0..767] range
+ (the range includes Latin 1, Latin Ext. A and B),
+ code is ~700 bytes smaller for this case.
+ 4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
+ code is ~300 bytes smaller for this case.
+ 12799 (0x31ff) - nearly all non-ideographic characters are
+ available in [0..12799] range, including
+ East Asian scripts like katakana, hiragana, hangul,
+ bopomofo...
+ 0 - off, any valid printable Unicode character will be printed.
+
+config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
+ bool "Allow zero-width Unicode characters on output"
+ default n
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+ help
+ With this option off, any Unicode char with width of 0
+ is substituted on output.
+
+config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
+ bool "Allow wide Unicode characters on output"
+ default n
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+ help
+ With this option off, any Unicode char with width > 1
+ is substituted on output.
+
+config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
+ bool "Bidirectional character-aware line input"
+ default n
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
+ help
+ With this option on, right-to-left Unicode characters
+ are treated differently on input (e.g. cursor movement).
+
+config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
+ bool "In bidi input, support non-ASCII neutral chars too"
+ default n
+ depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
+ help
+ In most cases it's enough to treat only ASCII non-letters
+ (i.e. punctuation, numbers and space) as characters
+ with neutral directionality.
+ With this option on, more extensive (and bigger) table
+ of neutral chars will be used.
+
+config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
+ bool "Make it possible to enter sequences of chars which are not Unicode"
+ default n
+ depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+ help
+ With this option on, invalid UTF-8 bytes are not substituted
+ with the selected substitution character.
+ For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
+ at shell prompt will list file named 0xff (single char name
+ with char value 255), not file named '?'.
+
config BUSYBOX_CONFIG_LONG_OPTS
bool "Support for --long-options"
default y
@@ -169,6 +262,26 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
Don't enable this unless you have a really good reason to clean
things up manually.
+config BUSYBOX_CONFIG_FEATURE_UTMP
+ bool "Support utmp file"
+ default n
+ help
+ The file /var/run/utmp is used to track who is currently logged in.
+ With this option on, certain applets (getty, login, telnetd etc)
+ will create and delete entries there.
+ "who" applet requires this option.
+
+config BUSYBOX_CONFIG_FEATURE_WTMP
+ bool "Support wtmp file"
+ default n
+ select BUSYBOX_CONFIG_FEATURE_UTMP
+ help
+ The file /var/run/wtmp is used to track when users have logged into
+ and logged out of the system.
+ With this option on, certain applets (getty, login, telnetd etc)
+ will append new entries there.
+ "last" applet requires this option.
+
config BUSYBOX_CONFIG_FEATURE_PIDFILE
bool "Support writing pidfiles"
default y
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
index 403a631dd1..1424c8673c 100644
--- a/package/busybox/config/archival/Config.in
+++ b/package/busybox/config/archival/Config.in
@@ -5,6 +5,12 @@
menu "Archival Utilities"
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ
+ bool "Make tar, rpm, modprobe etc understand .xz data"
+ default n
+ help
+ Make tar, rpm, modprobe etc understand .xz data.
+
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
bool "Make tar, rpm, modprobe etc understand .lzma data"
default n
@@ -62,6 +68,13 @@ config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
It supports the GNU ar long filename method which moves multiple long
filenames into a the data section of a new ar entry.
+config BUSYBOX_CONFIG_FEATURE_AR_CREATE
+ bool "Support archive creation"
+ default n
+ depends on BUSYBOX_CONFIG_AR
+ help
+ This enables archive creation (-c and -r) with busybox ar.
+
config BUSYBOX_CONFIG_BUNZIP2
bool "bunzip2"
default y
@@ -207,8 +220,6 @@ config BUSYBOX_CONFIG_TAR
create compressed archives. It's probably the most widely used
UNIX archive program.
-if BUSYBOX_CONFIG_TAR
-
config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
bool "Enable archive creation"
default y
@@ -220,7 +231,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
bool "Autodetect compressed tarballs"
default n
- depends on BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
+ depends on BUSYBOX_CONFIG_TAR && (BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ)
help
With this option tar can automatically detect compressed
tarballs. Currently it works only on files (not pipes etc).
@@ -236,7 +247,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_FROM
config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
bool "Support for old tar header format"
default n
- depends on BUSYBOX_CONFIG_TAR
+ depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
help
This option is required to unpack archives created in
the old GNU format; help to kill this old format by
@@ -245,7 +256,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
default n
- depends on BUSYBOX_CONFIG_TAR
+ depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
help
This option is required to unpack archives created by some old
version of Sun's tar (it was calculating checksum using signed
@@ -255,7 +266,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
bool "Support for GNU tar extensions (long filenames)"
default y
- depends on BUSYBOX_CONFIG_TAR
+ depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
help
With this option busybox supports GNU long filenames and
linknames.
@@ -267,6 +278,15 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
help
Enable use of long options, increases size by about 400 Bytes
+config BUSYBOX_CONFIG_FEATURE_TAR_TO_COMMAND
+ bool "Support for writing to an external program"
+ default n
+ depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
+ help
+ If you enable this option you'll be able to instruct tar to send
+ the contents of each extracted file to the standard input of an
+ external program.
+
config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
bool "Enable use of user and group names"
default n
@@ -284,7 +304,13 @@ config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
With this option busybox supports GNU tar -m
(do not preserve time) option.
-endif #tar
+config BUSYBOX_CONFIG_FEATURE_TAR_SELINUX
+ bool "Support for extracting SELinux labels"
+ default n
+ depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_SELINUX
+ help
+ With this option busybox supports restoring SELinux labels
+ when extracting files from tar archives.
config BUSYBOX_CONFIG_UNCOMPRESS
bool "uncompress"
@@ -316,6 +342,28 @@ config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
This option reduces decompression time by about 25% at the cost of
a 1K bigger binary.
+config BUSYBOX_CONFIG_LZMA
+ bool "Provide lzma alias which supports only unpacking"
+ default n
+ depends on BUSYBOX_CONFIG_UNLZMA
+ help
+ Enable this option if you want commands like "lzma -d" to work.
+ IOW: you'll get lzma applet, but it will always require -d option.
+
+config BUSYBOX_CONFIG_UNXZ
+ bool "unxz"
+ default n
+ help
+ unxz is a unlzma successor.
+
+config BUSYBOX_CONFIG_XZ
+ bool "Provide xz alias which supports only unpacking"
+ default n
+ depends on BUSYBOX_CONFIG_UNXZ
+ help
+ Enable this option if you want commands like "xz -d" to work.
+ IOW: you'll get xz applet, but it will always require -d option.
+
config BUSYBOX_CONFIG_UNZIP
bool "unzip"
default n
diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in
index d1342ffd93..710bf976fd 100644
--- a/package/busybox/config/console-tools/Config.in
+++ b/package/busybox/config/console-tools/Config.in
@@ -12,6 +12,12 @@ config BUSYBOX_CONFIG_CHVT
This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4)
+config BUSYBOX_CONFIG_FGCONSOLE
+ bool "fgconsole"
+ default n
+ help
+ This program prints active (foreground) console number.
+
config BUSYBOX_CONFIG_CLEAR
bool "clear"
default y
@@ -135,4 +141,21 @@ config BUSYBOX_CONFIG_SHOWKEY
help
Shows keys pressed.
+comment "Common options for loadfont and setfont"
+ depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+
+config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
+ bool "Support for PSF2 console fonts"
+ default n
+ depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+ help
+ Support PSF2 console fonts.
+
+config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
+ bool "Support for old (raw) console fonts"
+ default n
+ depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+ help
+ Support old (raw) console fonts.
+
endmenu
diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in
index 759d98dab7..e72ea6c4b7 100644
--- a/package/busybox/config/coreutils/Config.in
+++ b/package/busybox/config/coreutils/Config.in
@@ -12,19 +12,96 @@ config BUSYBOX_CONFIG_BASENAME
basename is used to strip the directory and suffix from filenames,
leaving just the filename itself. Enable this option if you wish
to enable the 'basename' utility.
-
-config BUSYBOX_CONFIG_CAL
- bool "cal"
- default n
- help
- cal is used to display a monthly calender.
-
config BUSYBOX_CONFIG_CAT
bool "cat"
default y
help
cat is used to concatenate files and print them to the standard
output. Enable this option if you wish to enable the 'cat' utility.
+config BUSYBOX_CONFIG_DATE
+ bool "date"
+ default y
+ help
+ date is used to set the system date or display the
+ current time in the given format.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
+ bool "Enable ISO date format output (-I)"
+ default y
+ depends on BUSYBOX_CONFIG_DATE
+ help
+ Enable option (-I) to output an ISO-8601 compliant
+ date/time string.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_NANO
+ bool "Support %[num]N nanosecond format specifier"
+ default n
+ depends on BUSYBOX_CONFIG_DATE
+ help
+ Support %[num]N format specifier. Adds ~250 bytes of code.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
+ bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
+ default n
+ depends on BUSYBOX_CONFIG_DATE
+ help
+ System time can be set by 'date -s DATE' and simply 'date DATE',
+ but formats of DATE string are different. 'date DATE' accepts
+ a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
+ unnatural placement of year between minutes and seconds.
+ date -s (and other commands like touch -d) use more sensible
+ formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
+
+ With this option off, 'date DATE' is 'date -s DATE' support
+ the same format. With it on, 'date DATE' additionally supports
+ MMDDhhmm[[YY]YY][.ss] format.
+
+config BUSYBOX_CONFIG_TEST
+ bool "test"
+ default y
+ help
+ test is used to check file types and compare values,
+ returning an appropriate exit code. The bash shell
+ has test built in, ash can build it in optionally.
+
+config BUSYBOX_CONFIG_FEATURE_TEST_64
+ bool "Extend test to 64 bit"
+ default y
+ depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
+ help
+ Enable 64-bit support in test.
+
+config BUSYBOX_CONFIG_TR
+ bool "tr"
+ default y
+ help
+ tr is used to squeeze, and/or delete characters from standard
+ input, writing to standard output.
+
+config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
+ bool "Enable character classes (such as [:upper:])"
+ default n
+ depends on BUSYBOX_CONFIG_TR
+ help
+ Enable character classes, enabling commands such as:
+ tr [:upper:] [:lower:] to convert input into lowercase.
+
+config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
+ bool "Enable equivalence classes"
+ default n
+ depends on BUSYBOX_CONFIG_TR
+ help
+ Enable equivalence classes, which essentially add the enclosed
+ character to the current set. For instance, tr [=a=] xyz would
+ replace all instances of 'a' with 'xyz'. This option is mainly
+ useful for cases when no other way of expressing a character
+ is possible.
+
+config BUSYBOX_CONFIG_CAL
+ bool "cal"
+ default n
+ help
+ cal is used to display a monthly calender.
config BUSYBOX_CONFIG_CATV
bool "catv"
@@ -100,37 +177,6 @@ config BUSYBOX_CONFIG_CUT
cut is used to print selected parts of lines from
each file to stdout.
-config BUSYBOX_CONFIG_DATE
- bool "date"
- default y
- help
- date is used to set the system date or display the
- current time in the given format.
-
-config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
- bool "Enable ISO date format output (-I)"
- default y
- depends on BUSYBOX_CONFIG_DATE
- help
- Enable option (-I) to output an ISO-8601 compliant
- date/time string.
-
-config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
- bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
- default n
- depends on BUSYBOX_CONFIG_DATE
- help
- System time can be set by 'date -s DATE' and simply 'date DATE',
- but formats of DATE string are different. 'date DATE' accepts
- a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
- unnatural placement of year between minutes and seconds.
- date -s (and other commands like touch -d) use more sensible
- formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
-
- With this option off, 'date DATE' is 'date -s DATE' support
- the same format. With it on, 'date DATE' additionally supports
- MMDDhhmm[[YY]YY][.ss] format.
-
config BUSYBOX_CONFIG_DD
bool "dd"
default y
@@ -183,6 +229,10 @@ config BUSYBOX_CONFIG_FEATURE_DF_FANCY
help
This option enables -a, -i and -B.
+ -a Show all filesystems
+ -i Inodes
+ -B <SIZE> Blocksize
+
config BUSYBOX_CONFIG_DIRNAME
bool "dirname"
default y
@@ -682,6 +732,10 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
The options (-q, -s, and -v) are provided by GNU tail, but
are not specific in the SUSv3 standard.
+ -q Never output headers giving file names
+ -s SEC Wait SEC seconds between reads with -f
+ -v Always output headers giving file names
+
config BUSYBOX_CONFIG_TEE
bool "tee"
default y
@@ -696,21 +750,6 @@ config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
help
Enable this option for a faster tee, at expense of size.
-config BUSYBOX_CONFIG_TEST
- bool "test"
- default y
- help
- test is used to check file types and compare values,
- returning an appropriate exit code. The bash shell
- has test built in, ash can build it in optionally.
-
-config BUSYBOX_CONFIG_FEATURE_TEST_64
- bool "Extend test to 64 bit"
- default y
- depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
- help
- Enable 64-bit support in test.
-
config BUSYBOX_CONFIG_TOUCH
bool "touch"
default y
@@ -718,32 +757,6 @@ config BUSYBOX_CONFIG_TOUCH
touch is used to create or change the access and/or
modification timestamp of specified files.
-config BUSYBOX_CONFIG_TR
- bool "tr"
- default y
- help
- tr is used to squeeze, and/or delete characters from standard
- input, writing to standard output.
-
-config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
- bool "Enable character classes (such as [:upper:])"
- default n
- depends on BUSYBOX_CONFIG_TR
- help
- Enable character classes, enabling commands such as:
- tr [:upper:] [:lower:] to convert input into lowercase.
-
-config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
- bool "Enable equivalence classes"
- default n
- depends on BUSYBOX_CONFIG_TR
- help
- Enable equivalence classes, which essentially add the enclosed
- character to the current set. For instance, tr [=a=] xyz would
- replace all instances of 'a' with 'xyz'. This option is mainly
- useful for cases when no other way of expressing a character
- is possible.
-
config BUSYBOX_CONFIG_TRUE
bool "true"
default y
@@ -817,7 +830,7 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
config BUSYBOX_CONFIG_WHO
bool "who"
default n
- select BUSYBOX_CONFIG_FEATURE_UTMP
+ depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
who is used to show who is logged on.
diff --git a/package/busybox/config/debianutils/Config.in b/package/busybox/config/debianutils/Config.in
index e61c661fc4..a9beb9b4b0 100644
--- a/package/busybox/config/debianutils/Config.in
+++ b/package/busybox/config/debianutils/Config.in
@@ -81,4 +81,3 @@ config BUSYBOX_CONFIG_WHICH
print out their pathnames.
endmenu
-
diff --git a/package/busybox/config/e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/Config.in
index e0e2c1ec38..08a1452c32 100644
--- a/package/busybox/config/e2fsprogs/Config.in
+++ b/package/busybox/config/e2fsprogs/Config.in
@@ -13,7 +13,7 @@ config BUSYBOX_CONFIG_CHATTR
### config E2FSCK
### bool "e2fsck"
-### default n
+### default y
### help
### e2fsck is used to check Linux second extended file systems (ext2fs).
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
@@ -36,21 +36,21 @@ config BUSYBOX_CONFIG_LSATTR
### config MKE2FS
### bool "mke2fs"
-### default n
+### default y
### help
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
-### config TUNE2FS
-### bool "tune2fs"
-### default n
-### help
-### tune2fs allows the system administrator to adjust various tunable
-### filesystem parameters on Linux ext2/ext3 filesystems.
+config BUSYBOX_CONFIG_TUNE2FS
+ bool "tune2fs"
+ default n
+ help
+ tune2fs allows the system administrator to adjust various tunable
+ filesystem parameters on Linux ext2/ext3 filesystems.
### config E2LABEL
### bool "e2label"
-### default n
+### default y
### depends on TUNE2FS
### help
### e2label will display or change the filesystem label on the ext2
@@ -59,7 +59,7 @@ config BUSYBOX_CONFIG_LSATTR
### NB: this one is now provided by util-linux/volume_id/*
### config FINDFS
### bool "findfs"
-### default n
+### default y
### depends on TUNE2FS
### help
### findfs will search the disks in the system looking for a filesystem
diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in
index 6175df72fc..eeadfab7af 100644
--- a/package/busybox/config/editors/Config.in
+++ b/package/busybox/config/editors/Config.in
@@ -168,6 +168,18 @@ config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
help
Make busybox vi behave nicely with terminals that get resized.
+config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
+ bool "Use 'tell me cursor position' ESC sequence to measure window"
+ default y
+ depends on BUSYBOX_CONFIG_VI
+ help
+ If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+ this option makes vi perform a last-ditch effort to find it:
+ vi positions cursor to 999,999 and asks terminal to report real
+ cursor position using "ESC [ 6 n" escape sequence, then reads stdin.
+
+ This is not clean but helps a lot on serial lines and such.
+
config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
bool "Optimize cursor movement"
default y
diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in
index 9498895631..bdf181c2f1 100644
--- a/package/busybox/config/init/Config.in
+++ b/package/busybox/config/init/Config.in
@@ -5,6 +5,45 @@
menu "Init Utilities"
+config BUSYBOX_CONFIG_BOOTCHARTD
+ bool "bootchartd"
+ default n
+ help
+ bootchartd is commonly used to profile the boot process
+ for the purpose of speeding it up. In this case, it is started
+ by the kernel as the init process. This is configured by adding
+ the init=/sbin/bootchartd option to the kernel command line.
+
+ It can also be used to monitor the resource usage of a specific
+ application or the running system in general. In this case,
+ bootchartd is started interactively by running bootchartd start
+ and stopped using bootchartd stop.
+
+config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER
+ bool "Compatible, bloated header"
+ default n
+ depends on BUSYBOX_CONFIG_BOOTCHARTD
+ help
+ Create extended header file compatible with "big" bootchartd.
+ "Big" bootchartd is a shell script and it dumps some
+ "convenient" info int the header, such as:
+ title = Boot chart for `hostname` (`date`)
+ system.uname = `uname -srvm`
+ system.release = `cat /etc/DISTRO-release`
+ system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
+ system.kernel.options = `cat /proc/cmdline`
+ This data is not mandatory for bootchart graph generation,
+ and is considered bloat. Nevertheless, this option
+ makes bootchartd applet to dump a subset of it.
+
+config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
+ bool "Support bootchartd.conf"
+ default n
+ depends on BUSYBOX_CONFIG_BOOTCHARTD
+ help
+ Enable reading and parsing of $PWD/bootchartd.conf
+ and /etc/bootchartd.conf files.
+
config BUSYBOX_CONFIG_INIT
bool "init"
default y
@@ -25,8 +64,8 @@ config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB
help
When respawn entries are removed from inittab and a SIGHUP is
- sent to init, this feature will kill the processes that have
- been removed.
+ sent to init, this option will make init kill the processes
+ that have been removed.
config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in
index 4498e4e2d4..0a7d253d78 100644
--- a/package/busybox/config/loginutils/Config.in
+++ b/package/busybox/config/loginutils/Config.in
@@ -181,22 +181,6 @@ config BUSYBOX_CONFIG_GETTY
help
getty lets you log in on a tty, it is normally invoked by init.
-config BUSYBOX_CONFIG_FEATURE_UTMP
- bool "Support utmp file"
- depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO
- default n
- help
- The file /var/run/utmp is used to track who is currently logged in.
-
-config BUSYBOX_CONFIG_FEATURE_WTMP
- bool "Support wtmp file"
- depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_LAST
- default n
- select BUSYBOX_CONFIG_FEATURE_UTMP
- help
- The file /var/run/wtmp is used to track when user's have logged into
- and logged out of the system.
-
config BUSYBOX_CONFIG_LOGIN
bool "login"
default n
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index 9d4a3700a1..d3cf407b03 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -5,6 +5,27 @@
menu "Miscellaneous Utilities"
+config BUSYBOX_CONFIG_CONSPY
+ bool "conspy"
+ default n
+ help
+ A text-mode VNC like program for Linux virtual terminals.
+ example: conspy NUM shared access to console num
+ or conspy -nd NUM screenshot of console num
+ or conspy -cs NUM poor man's GNU screen like
+
+config BUSYBOX_CONFIG_UBIATTACH
+ bool "ubiattach"
+ default n
+ help
+ Attach MTD device to an UBI device.
+
+config BUSYBOX_CONFIG_UBIDETACH
+ bool "ubidetach"
+ default n
+ help
+ Detach MTD device from an UBI device.
+
config BUSYBOX_CONFIG_ADJTIMEX
bool "adjtimex"
default n
@@ -317,14 +338,14 @@ config BUSYBOX_CONFIG_INOTIFYD
config BUSYBOX_CONFIG_LAST
bool "last"
default n
- select BUSYBOX_CONFIG_FEATURE_WTMP
+ depends on BUSYBOX_CONFIG_FEATURE_WTMP
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_SMALL
+ default BUSYBOX_CONFIG_FEATURE_LAST_FANCY
config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
bool "small"
@@ -551,6 +572,17 @@ config BUSYBOX_CONFIG_READAHEAD
As readahead(2) blocks until each file has been read, it is best to
run this applet as a background job.
+config BUSYBOX_CONFIG_RFKILL
+ bool "rfkill"
+ default n
+ help
+ Enable/disable wireless devices.
+
+ rfkill list : list all wireless devices
+ rfkill list bluetooth : list all bluetooth devices
+ rfkill list 1 : list device corresponding to the given index
+ rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
+
config BUSYBOX_CONFIG_RUNLEVEL
bool "runlevel"
default n
diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in
index db515b547e..ad5401f953 100644
--- a/package/busybox/config/modutils/Config.in
+++ b/package/busybox/config/modutils/Config.in
@@ -5,6 +5,12 @@
menu "Linux Module Utilities"
+config BUSYBOX_CONFIG_MODINFO
+ bool "modinfo"
+ default n
+ help
+ Show information about a Linux Kernel module
+
config BUSYBOX_CONFIG_MODPROBE_SMALL
bool "Simplified modutils"
default n
@@ -226,7 +232,7 @@ config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"
- depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
+ depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
@@ -234,7 +240,7 @@ config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
string "Default name of modules.dep"
default "modules.dep"
- depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
+ depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
help
Filename that contains kernel modules dependencies.
Defaults to "modules.dep"
diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in
index 99a8eddca2..481567c61a 100644
--- a/package/busybox/config/networking/Config.in
+++ b/package/busybox/config/networking/Config.in
@@ -5,6 +5,39 @@
menu "Networking Utilities"
+config BUSYBOX_CONFIG_NC
+ bool "nc"
+ default y
+ help
+ A simple Unix utility which reads and writes data across network
+ connections.
+
+config BUSYBOX_CONFIG_NC_SERVER
+ bool "Netcat server options (-l)"
+ default n
+ depends on BUSYBOX_CONFIG_NC
+ help
+ Allow netcat to act as a server.
+
+config BUSYBOX_CONFIG_NC_EXTRA
+ bool "Netcat extensions (-eiw and filename)"
+ default n
+ depends on BUSYBOX_CONFIG_NC
+ help
+ Add -e (support for executing the rest of the command line after
+ making or receiving a successful connection), -i (delay interval for
+ lines sent), -w (timeout for initial connection).
+
+config BUSYBOX_CONFIG_NC_110_COMPAT
+ bool "Netcat 1.10 compatibility (+2.5k)"
+ default n
+ depends on BUSYBOX_CONFIG_NC
+ help
+ This option makes nc closely follow original nc-1.10.
+ The code is about 2.5k bigger. It enables
+ -s ADDR, -n, -u, -v, -o FILE, -z options, but loses
+ busybox-specific extensions: -f FILE and -ll.
+
config BUSYBOX_CONFIG_FEATURE_IPV6
bool "Enable IPv6 support"
default y
@@ -122,8 +155,8 @@ config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
default n
depends on BUSYBOX_CONFIG_FTPD
help
- Some ftp-clients (among them KDE's Konqueror) issue illegal
- "LIST -la" requests. This option works around those problems.
+ Some ftp clients (among them KDE's Konqueror) issue illegal
+ "LIST -l" requests. This option works around such problems.
It might prevent you from listing files starting with "-" and
it increases the code size by ~40 bytes.
Most other ftp servers seem to behave similar to this.
@@ -404,7 +437,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
### UNUSED
###config FEATURE_IFUPDOWN_IPX
### bool "Support for IPX"
-### default n
+### default y
### depends on IFUPDOWN
### help
### If this option is selected you can use busybox to work with IPX
@@ -621,35 +654,12 @@ config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
new_interface_name mac=00:80:C8:38:91:B5
new_interface_name 00:80:C8:38:91:B5
-config BUSYBOX_CONFIG_NC
- bool "nc"
- default y
- help
- A simple Unix utility which reads and writes data across network
- connections.
-
config BUSYBOX_CONFIG_NETMSG
bool "netmsg"
default y
help
simple program for sending udp broadcast messages
-config BUSYBOX_CONFIG_NC_SERVER
- bool "Netcat server options (-l)"
- default n
- depends on BUSYBOX_CONFIG_NC
- help
- Allow netcat to act as a server.
-
-config BUSYBOX_CONFIG_NC_EXTRA
- bool "Netcat extensions (-eiw and filename)"
- default n
- depends on BUSYBOX_CONFIG_NC
- help
- Add -e (support for executing the rest of the command line after
- making or receiving a successful connection), -i (delay interval for
- lines sent), -w (timeout for initial connection).
-
config BUSYBOX_CONFIG_NETSTAT
bool "netstat"
default y
@@ -735,7 +745,7 @@ config BUSYBOX_CONFIG_SLATTACH
#config TC
# bool "tc"
-# default n
+# default y
# help
# show / manipulate traffic control settings
#
@@ -743,6 +753,13 @@ config BUSYBOX_CONFIG_SLATTACH
# def_bool n
# depends on TC
+config BUSYBOX_CONFIG_TCPSVD
+ bool "tcpsvd"
+ default n
+ help
+ tcpsvd listens on a TCP port and runs a program for each new
+ connection.
+
config BUSYBOX_CONFIG_TELNET
bool "telnet"
default y
@@ -858,8 +875,11 @@ config BUSYBOX_CONFIG_TFTPD
In other words: it should be run from inetd in nowait mode,
or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
+comment "Common options for tftp/tftpd"
+ depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
+
config BUSYBOX_CONFIG_FEATURE_TFTP_GET
- bool "Enable \"get\" command"
+ bool "Enable 'tftp get' and/or tftpd upload code"
default n
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
help
@@ -867,8 +887,11 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_GET
a client to retrieve a file from a TFTP server.
Also enable upload support in tftpd, if tftpd is selected.
+ Note: this option does _not_ make tftpd capable of download
+ (the usual operation people need from it)!
+
config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
- bool "Enable \"put\" command"
+ bool "Enable 'tftp put' and/or tftpd download code"
default n
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
help
@@ -935,6 +958,20 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
help
Add option -I to use ICMP ECHO instead of UDP datagrams.
+config BUSYBOX_CONFIG_TUNCTL
+ bool "tunctl"
+ default n
+ help
+ tunctl creates or deletes tun devices.
+
+config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
+ bool "Support owner:group assignment"
+ default n
+ depends on BUSYBOX_CONFIG_TUNCTL
+ help
+ Allow to specify owner and group of newly created interface.
+ 340 bytes of pure bloat. Say no here.
+
source package/busybox/config/networking/udhcp/Config.in
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
@@ -946,6 +983,13 @@ config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
Intended to alter options not available in /etc/network/interfaces.
(IE: --syslog --background etc...)
+config BUSYBOX_CONFIG_UDPSVD
+ bool "udpsvd"
+ default n
+ help
+ udpsvd listens on an UDP port and runs a program for each new
+ connection.
+
config BUSYBOX_CONFIG_VCONFIG
bool "vconfig"
default y
@@ -992,32 +1036,4 @@ config BUSYBOX_CONFIG_ZCIP
See http://www.zeroconf.org for further details, and "zcip.script"
in the busybox examples.
-config BUSYBOX_CONFIG_TCPSVD
- bool "tcpsvd"
- default n
- help
- tcpsvd listens on a TCP port and runs a program for each new
- connection.
-
-config BUSYBOX_CONFIG_TUNCTL
- bool "tunctl"
- default n
- help
- tunctl creates or deletes tun devices.
-
-config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
- bool "Support owner:group assignment"
- default n
- depends on BUSYBOX_CONFIG_TUNCTL
- help
- Allow to specify owner and group of newly created interface.
- 340 bytes of pure bloat. Say no here.
-
-config BUSYBOX_CONFIG_UDPSVD
- bool "udpsvd"
- default n
- help
- udpsvd listens on an UDP port and runs a program for each new
- connection.
-
endmenu
diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in
index 2597f72ca8..e9827870e4 100644
--- a/package/busybox/config/networking/udhcp/Config.in
+++ b/package/busybox/config/networking/udhcp/Config.in
@@ -92,7 +92,8 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
help
If selected, both client and server will support passing of domain
- search lists via option 119, specified in RFC3397.
+ search lists via option 119, specified in RFC 3397,
+ and SIP servers option 120, specified in RFC 3361.
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
string "Absolute path to config script"
diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in
index 2bac03891d..3a95439ce3 100644
--- a/package/busybox/config/procps/Config.in
+++ b/package/busybox/config/procps/Config.in
@@ -5,6 +5,13 @@
menu "Process Utilities"
+config BUSYBOX_CONFIG_SMEMCAP
+ bool "smemcap"
+ default n
+ help
+ smemcap is a tool for capturing process data for smem,
+ a memory usage statistic tool.
+
config BUSYBOX_CONFIG_FREE
bool "free"
default y
diff --git a/package/busybox/config/runit/Config.in b/package/busybox/config/runit/Config.in
index 624d4992e3..c1ee81362b 100644
--- a/package/busybox/config/runit/Config.in
+++ b/package/busybox/config/runit/Config.in
@@ -61,22 +61,26 @@ config BUSYBOX_CONFIG_CHPST
config BUSYBOX_CONFIG_SETUIDGID
bool "setuidgid"
+ default n
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_ENVUIDGID
bool "envuidgid"
+ default n
help
Sets $UID to account's uid and $GID to account's gid
config BUSYBOX_CONFIG_ENVDIR
bool "envdir"
+ default n
help
Sets various environment variables as specified by files
in the given directory
config BUSYBOX_CONFIG_SOFTLIMIT
bool "softlimit"
+ default n
help
Sets soft resource limits as specified by options
diff --git a/package/busybox/config/selinux/Config.in b/package/busybox/config/selinux/Config.in
index dbd960630e..50f324aaa1 100644
--- a/package/busybox/config/selinux/Config.in
+++ b/package/busybox/config/selinux/Config.in
@@ -120,4 +120,3 @@ config BUSYBOX_CONFIG_SESTATUS
Displays the status of SELinux.
endmenu
-
diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in
index 5d492e2399..d652dd3074 100644
--- a/package/busybox/config/shell/Config.in
+++ b/package/busybox/config/shell/Config.in
@@ -5,34 +5,7 @@
menu "Shells"
-choice
- prompt "Choose your default shell"
- default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
- help
- Choose a shell. The ash shell is the most bash compatible
- and full featured one.
-
-config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
- select BUSYBOX_CONFIG_ASH
- bool "ash"
- depends on !BUSYBOX_CONFIG_NOMMU
-config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
- select BUSYBOX_CONFIG_HUSH
- bool "hush"
-
-####config FEATURE_SH_IS_LASH
-#### select LASH
-#### bool "lash"
-
-####config FEATURE_SH_IS_MSH
-#### select MSH
-#### bool "msh"
-
-config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
- bool "none"
-
-endchoice
config BUSYBOX_CONFIG_ASH
bool "ash"
@@ -243,6 +216,61 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
+
+choice
+ prompt "Choose which shell is aliased to 'sh' name"
+ default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
+ help
+ Choose which shell you want to be executed by 'sh' alias.
+ The ash shell is the most bash compatible and full featured one.
+
+# note: cannot use "select ASH" here, it breaks "make allnoconfig"
+config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
+ depends on BUSYBOX_CONFIG_ASH
+ bool "ash"
+ depends on !BUSYBOX_CONFIG_NOMMU
+
+config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
+ depends on BUSYBOX_CONFIG_HUSH
+ bool "hush"
+
+config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
+ bool "none"
+
+endchoice
+
+choice
+ prompt "Choose which shell is aliased to 'bash' name"
+ default BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
+ help
+ Choose which shell you want to be executed by 'bash' alias.
+ The ash shell is the most bash compatible and full featured one.
+
+ Note that selecting this option does not switch on any bash
+ compatibility code. It merely makes it possible to install
+ /bin/bash (sym)link and run scripts which start with
+ #!/bin/bash line.
+
+ Many systems use it in scripts which use bash-specific features,
+ even simple ones like $RANDOM. Without this option, busybox
+ can't be used for running them because it won't recongnize
+ "bash" as a supported applet name.
+
+config BUSYBOX_CONFIG_FEATURE_BASH_IS_ASH
+ depends on BUSYBOX_CONFIG_ASH
+ bool "ash"
+ depends on !BUSYBOX_CONFIG_NOMMU
+
+config BUSYBOX_CONFIG_FEATURE_BASH_IS_HUSH
+ depends on BUSYBOX_CONFIG_HUSH
+ bool "hush"
+
+config BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
+ bool "none"
+
+endchoice
+
+
config BUSYBOX_CONFIG_LASH
bool "lash (deprecated: aliased to hush)"
default n
@@ -285,14 +313,14 @@ config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
bool "Hide message on interactive shell startup"
default n
- depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
+ depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
help
Remove the busybox introduction when starting a shell.
config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
bool "Standalone shell"
default n
- depends on (BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
+ depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
help
This option causes busybox shells to use busybox applets
in preference to executables in the PATH whenever possible. For
@@ -325,7 +353,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
bool "Run 'nofork' applets directly"
default n
- depends on (BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
+ depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
help
This option causes busybox shells [currently only ash]
to not execute typical fork/exec/wait sequence, but call <applet>_main
@@ -354,9 +382,20 @@ config BUSYBOX_CONFIG_CTTYHACK
It analyzes stdin with various ioctls, trying to determine whether
it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
If it detects one, it closes stdin/out/err and reopens that device.
- Then it executes given program. Usage example for /etc/inittab
- (for busybox init):
+ Then it executes given program. Opening the device will make
+ that device a controlling tty. This may require cttyhack
+ to be a session leader.
+
+ Example for /etc/inittab (for busybox init):
::respawn:/bin/cttyhack /bin/sh
+ Giving controlling tty to shell running with PID 1:
+
+ $ exec cttyhack sh
+
+ Starting an interactive shell from boot shell script:
+
+ setsid cttyhack sh
+
endmenu
diff --git a/package/busybox/config/sysklogd/Config.in b/package/busybox/config/sysklogd/Config.in
index b9e0db2fad..ea134b546e 100644
--- a/package/busybox/config/sysklogd/Config.in
+++ b/package/busybox/config/sysklogd/Config.in
@@ -50,6 +50,16 @@ config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
Option -D instructs syslogd to drop consecutive messages
which are totally the same.
+config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE
+ int "Read buffer size in bytes"
+ default 256
+ range 256 20000
+ depends on BUSYBOX_CONFIG_SYSLOGD
+ help
+ This option sets the size of the syslog read buffer.
+ Actual memory usage increases around five times the
+ change done here.
+
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
bool "Circular Buffer support"
default y
@@ -115,4 +125,3 @@ config BUSYBOX_CONFIG_LOGGER
problems that occur within programs and scripts.
endmenu
-
diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in
index a4fbc0ce6c..3745528da8 100644
--- a/package/busybox/config/util-linux/Config.in
+++ b/package/busybox/config/util-linux/Config.in
@@ -5,6 +5,12 @@
menu "Linux System Utilities"
+config BUSYBOX_CONFIG_REV
+ bool "rev"
+ default n
+ help
+ Reverse lines of a file or files.
+
config BUSYBOX_CONFIG_ACPID
bool "acpid"
default n
@@ -191,6 +197,12 @@ config BUSYBOX_CONFIG_FINDFS
WARNING:
With all submodules selected, it will add ~8k to busybox.
+config BUSYBOX_CONFIG_FLOCK
+ bool "flock"
+ default n
+ help
+ Manage locks from shell scripts
+
config BUSYBOX_CONFIG_FREERAMDISK
bool "freeramdisk"
default n
@@ -227,9 +239,6 @@ config BUSYBOX_CONFIG_MKFS_MINIX
with little overhead. If you wish to be able to create minix
filesystems this utility will do the job for you.
-comment "Minix filesystem support"
- depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
-
config BUSYBOX_CONFIG_FEATURE_MINIX2
bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
default n
@@ -244,6 +253,7 @@ config BUSYBOX_CONFIG_MKFS_REISER
default n
help
Utility to create ReiserFS filesystems.
+ Note: this applet needs a lot of testing and polishing.
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs_vfat"
@@ -289,7 +299,7 @@ config BUSYBOX_CONFIG_FEATURE_HEXDUMP_REVERSE
config BUSYBOX_CONFIG_HD
bool "hd"
default n
- select BUSYBOX_CONFIG_HEXDUMP
+ depends on BUSYBOX_CONFIG_HEXDUMP
help
hd is an alias to hexdump -C.
@@ -464,221 +474,6 @@ config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
will be unable to determine the current screen size, and will be
unable to move the cursor.
-config BUSYBOX_CONFIG_VOLUMEID
- bool #No description makes it a hidden option
- default n
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
- bool "Ext filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
- bool "btrfs filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
- bool "Reiser filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
- bool "fat filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
- bool "hfs filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
- bool "jfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_UFS
-### bool "ufs filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
- bool "xfs filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
- bool "ntfs filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
- bool "iso9660 filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
- bool "udf filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
- bool "luks filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
- bool "linux swap filesystem"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_LVM
-### bool "lvm"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
- bool "cramfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_HPFS
-### bool "hpfs filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
- bool "romfs filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
- bool "sysv filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_MINIX
-### bool "minix filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### These only detect partition tables - not used (yet?)
-### config FEATURE_VOLUMEID_MAC
-### bool "mac filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-###
-### config FEATURE_VOLUMEID_MSDOS
-### bool "msdos filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
- bool "ocfs2 filesystem"
- default n
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_HIGHPOINTRAID
-### bool "highpoint raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_ISWRAID
-### bool "intel raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_LSIRAID
-### bool "lsi raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_VIARAID
-### bool "via raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_SILICONRAID
-### bool "silicon raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_NVIDIARAID
-### bool "nvidia raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_PROMISERAID
-### bool "promise raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
- bool "linuxraid"
- default y
- depends on BUSYBOX_CONFIG_VOLUMEID
- help
- TODO
-
config BUSYBOX_CONFIG_MOUNT
bool "mount"
default y
@@ -719,7 +514,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
The idea is to use such virtual filesystems in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
- bool "Support specifiying devices by label or UUID"
+ bool "Support specifying devices by label or UUID"
default n
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_VOLUMEID
@@ -783,9 +578,9 @@ config BUSYBOX_CONFIG_RDATE
systems.
config BUSYBOX_CONFIG_RDEV
- bool "rdev"
- default n
- help
+ bool "rdev"
+ default n
+ help
Print the device node associated with the filesystem mounted at '/'.
config BUSYBOX_CONFIG_READPROFILE
@@ -895,6 +690,18 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
specify an offset or cryptographic options to the loopback device.
(If you don't want umount to free the loop device, use "umount -D".)
+config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP_CREATE
+ bool "Create new loopback devices if needed"
+ default n
+ depends on BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
+ help
+ Linux kernels >= 2.6.24 support unlimited loopback devices. They are
+ allocated for use when trying to use a loop device. The loop device
+ must however exist.
+
+ This feature lets mount to try to create next /dev/loopN device
+ if it does not find a free one.
+
config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
bool "Support for the old /etc/mtab file"
default n
@@ -912,11 +719,231 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
If you must use this, keep in mind it's inherently brittle (for
example a mount under chroot won't update it), can't handle modern
features like separate per-process filesystem namespaces, requires
- that your /etc directory be writeable, tends to get easily confused
+ that your /etc directory be writable, tends to get easily confused
by --bind or --move mounts, won't update if you rename a directory
that contains a mount point, and so on. (In brief: avoid.)
About the only reason to use this is if you've removed /proc from
your kernel.
+config BUSYBOX_CONFIG_VOLUMEID
+ bool #No description makes it a hidden option
+ default n
+
+menu "Filesystem/Volume identification"
+ depends on BUSYBOX_CONFIG_VOLUMEID
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
+ bool "Ext filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
+ bool "btrfs filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
+ bool "Reiser filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
+ bool "fat filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
+ bool "hfs filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
+ bool "jfs filesystem"
+ default n
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+### config FEATURE_VOLUMEID_UFS
+### bool "ufs filesystem"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
+ bool "xfs filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
+ bool "ntfs filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
+ bool "iso9660 filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
+ bool "udf filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
+ bool "luks filesystem"
+ default n
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
+ bool "linux swap filesystem"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+### config FEATURE_VOLUMEID_LVM
+### bool "lvm"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
+ bool "cramfs filesystem"
+ default n
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+### config FEATURE_VOLUMEID_HPFS
+### bool "hpfs filesystem"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
+ bool "romfs filesystem"
+ default n
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
+ bool "sysv filesystem"
+ default n
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+### config FEATURE_VOLUMEID_MINIX
+### bool "minix filesystem"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+### These only detect partition tables - not used (yet?)
+### config FEATURE_VOLUMEID_MAC
+### bool "mac filesystem"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+###
+### config FEATURE_VOLUMEID_MSDOS
+### bool "msdos filesystem"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
+ bool "ocfs2 filesystem"
+ default n
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+### config FEATURE_VOLUMEID_HIGHPOINTRAID
+### bool "highpoint raid"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+### config FEATURE_VOLUMEID_ISWRAID
+### bool "intel raid"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+### config FEATURE_VOLUMEID_LSIRAID
+### bool "lsi raid"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+### config FEATURE_VOLUMEID_VIARAID
+### bool "via raid"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+### config FEATURE_VOLUMEID_SILICONRAID
+### bool "silicon raid"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+### config FEATURE_VOLUMEID_NVIDIARAID
+### bool "nvidia raid"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+### config FEATURE_VOLUMEID_PROMISERAID
+### bool "promise raid"
+### default y
+### depends on VOLUMEID
+### help
+### TODO
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
+ bool "linuxraid"
+ default y
+ depends on BUSYBOX_CONFIG_VOLUMEID
+ help
+ TODO
+
+endmenu
+
endmenu
diff --git a/package/busybox/patches/000-autoconf.patch b/package/busybox/patches/000-autoconf.patch
new file mode 100644
index 0000000000..d237457348
--- /dev/null
+++ b/package/busybox/patches/000-autoconf.patch
@@ -0,0 +1,11 @@
+--- a/applets/Kbuild.src
++++ b/applets/Kbuild.src
+@@ -28,7 +28,7 @@ HOSTCFLAGS_usage_pod.o = -I$(srctree_sla
+ applets/applets.o: include/usage_compressed.h include/applet_tables.h
+
+ applets/applet_tables: .config include/applets.h
+-applets/usage: .config include/applets.h
++applets/usage: .config include/applets.h include/autoconf.h
+ applets/usage_pod: .config include/applet_tables.h include/applets.h
+
+ quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
diff --git a/package/busybox/patches/920-mktemp.patch b/package/busybox/patches/000-upstream-mktemp.patch
index a7727ca81f..a7727ca81f 100644
--- a/package/busybox/patches/920-mktemp.patch
+++ b/package/busybox/patches/000-upstream-mktemp.patch
diff --git a/package/busybox/patches/921-sed.patch b/package/busybox/patches/000-upstream-sed.patch
index 7693d626ff..7693d626ff 100644
--- a/package/busybox/patches/921-sed.patch
+++ b/package/busybox/patches/000-upstream-sed.patch
diff --git a/package/busybox/patches/922-shell.patch b/package/busybox/patches/000-upstream-shell.patch
index 4f0058e38a..4f0058e38a 100644
--- a/package/busybox/patches/922-shell.patch
+++ b/package/busybox/patches/000-upstream-shell.patch
diff --git a/package/busybox/patches/241-udhcpc-oversized_packets.patch b/package/busybox/patches/241-udhcpc-oversized_packets.patch
index b810752fcb..ef9e7f4be1 100644
--- a/package/busybox/patches/241-udhcpc-oversized_packets.patch
+++ b/package/busybox/patches/241-udhcpc-oversized_packets.patch
@@ -12,7 +12,7 @@
/* Construct a ip/udp header for a packet, send packet */
int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
uint32_t source_nip, int source_port,
-@@ -173,11 +178,12 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -173,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
{
struct sockaddr_ll dest_sll;
struct ip_udp_dhcp_packet packet;
@@ -20,27 +20,36 @@
int fd;
int result = -1;
const char *msg;
-
+ int p_len = udhcp_get_payload_len(dhcp_pkt);
-+
+
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
if (fd < 0) {
- msg = "socket(%s)";
-@@ -186,7 +192,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+ }
memset(&dest_sll, 0, sizeof(dest_sll));
- memset(&packet, 0, offsetof(struct ip_udp_dhcp_packet, data));
+- memset(&packet, 0, offsetof(struct ip_udp_dhcp_packet, data));
- packet.data = *dhcp_pkt; /* struct copy */
++ memset(&packet, 0, sizeof(packet));
+ memcpy(&(packet.data), dhcp_pkt, p_len);
dest_sll.sll_family = AF_PACKET;
dest_sll.sll_protocol = htons(ETH_P_IP);
-@@ -208,27 +214,25 @@ int FAST_FUNC udhcp_send_raw_packet(stru
- * In order to work with those buggy servers,
- * we truncate packets after end option byte.
- */
-- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(packet.data.options);
+@@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+ goto ret_close;
+ }
+- /* We were sending full-sized DHCP packets (zero padded),
+- * but some badly configured servers were seen dropping them.
+- * Apparently they drop all DHCP packets >576 *ethernet* octets big,
+- * whereas they may only drop packets >576 *IP* octets big
+- * (which for typical Ethernet II means 590 octets: 6+6+2 + 576).
+- *
+- * In order to work with those buggy servers,
+- * we truncate packets after end option byte.
+- */
+- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(packet.data.options);
+-
packet.ip.protocol = IPPROTO_UDP;
packet.ip.saddr = source_nip;
packet.ip.daddr = dest_nip;
@@ -65,11 +74,11 @@
udhcp_dump_packet(dhcp_pkt);
- result = sendto(fd, &packet, IP_UPD_DHCP_SIZE - padding, /*flags:*/ 0,
-+ result = sendto(fd, &packet, p_len, 0,
++ result = sendto(fd, &packet, p_len, /*flags:*/ 0,
(struct sockaddr *) &dest_sll, sizeof(dest_sll));
msg = "sendto";
ret_close:
-@@ -246,7 +250,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
uint32_t dest_nip, int dest_port)
{
struct sockaddr_in client;
@@ -77,10 +86,11 @@
int fd;
int result = -1;
const char *msg;
-@@ -278,8 +281,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+ }
udhcp_dump_packet(dhcp_pkt);
-
+-
- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(dhcp_pkt->options);
- result = safe_write(fd, dhcp_pkt, DHCP_SIZE - padding);
+ result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));
diff --git a/package/busybox/patches/250-ash_export-n.patch b/package/busybox/patches/250-ash_export-n.patch
index 48efdcf942..9c23920b88 100644
--- a/package/busybox/patches/250-ash_export-n.patch
+++ b/package/busybox/patches/250-ash_export-n.patch
@@ -1,6 +1,6 @@
--- a/shell/ash.c
+++ b/shell/ash.c
-@@ -12428,8 +12428,17 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12429,8 +12429,17 @@ exportcmd(int argc UNUSED_PARAM, char **
const char *p;
char **aptr;
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
@@ -19,7 +19,7 @@
aptr = argptr;
name = *aptr;
if (name) {
-@@ -12441,10 +12450,12 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12442,10 +12451,12 @@ exportcmd(int argc UNUSED_PARAM, char **
vp = *findvar(hashvar(name), name);
if (vp) {
vp->flags |= flag;
diff --git a/package/busybox/patches/300-netmsg.patch b/package/busybox/patches/300-netmsg.patch
index 7e48930bbc..b7dd5d9869 100644
--- a/package/busybox/patches/300-netmsg.patch
+++ b/package/busybox/patches/300-netmsg.patch
@@ -8,18 +8,6 @@
IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
---- a/include/usage.src.h
-+++ b/include/usage.src.h
-@@ -2961,6 +2961,9 @@ INSERT
- " or\n" \
- "$ nameif -c /etc/my_mactab_file\n" \
-
-+#define netmsg_trivial_usage NOUSAGE_STR
-+#define netmsg_full_usage ""
-+
- #define netstat_trivial_usage \
- "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
- #define netstat_full_usage "\n\n" \
--- a/networking/Config.src
+++ b/networking/Config.src
@@ -623,6 +623,12 @@ config FEATURE_NAMEIF_EXTENDED
@@ -30,7 +18,7 @@
+ bool "netmsg"
+ default n
+ help
-+ simple program for sending udp broadcast messages
++ simple program for sending udp broadcast messages
+
config NETSTAT
bool "netstat"
@@ -111,3 +99,20 @@
+ close(s);
+ exit(1);
+}
+--- a/include/usage.src.h
++++ b/include/usage.src.h
+@@ -1,3 +1,4 @@
++
+ /* vi: set sw=8 ts=8: */
+ /*
+ * This file suffers from chronically incorrect tabification
+@@ -2961,6 +2962,9 @@ INSERT
+ " or\n" \
+ "$ nameif -c /etc/my_mactab_file\n" \
+
++#define netmsg_trivial_usage NOUSAGE_STR
++#define netmsg_full_usage ""
++
+ #define netstat_trivial_usage \
+ "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
+ #define netstat_full_usage "\n\n" \
diff --git a/package/busybox/patches/310-passwd_access.patch b/package/busybox/patches/310-passwd_access.patch
index 24241c1260..5faf6faf19 100644
--- a/package/busybox/patches/310-passwd_access.patch
+++ b/package/busybox/patches/310-passwd_access.patch
@@ -3,7 +3,7 @@
--- a/networking/httpd.c
+++ b/networking/httpd.c
-@@ -1717,21 +1717,32 @@ static int check_user_passwd(const char
+@@ -1717,21 +1717,32 @@ static int check_user_passwd(const char
if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
char *md5_passwd;
diff --git a/package/busybox/patches/340-lock_util.patch b/package/busybox/patches/340-lock_util.patch
index b974b04469..473d1b9ac1 100644
--- a/package/busybox/patches/340-lock_util.patch
+++ b/package/busybox/patches/340-lock_util.patch
@@ -10,7 +10,7 @@
IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
--- a/include/usage.src.h
+++ b/include/usage.src.h
-@@ -2319,6 +2319,9 @@ INSERT
+@@ -2320,6 +2320,9 @@ INSERT
#define loadkmap_example_usage \
"$ loadkmap < /etc/i18n/lang-keymap\n"
diff --git a/package/busybox/patches/350-httpd_redir.patch b/package/busybox/patches/350-httpd_redir.patch
index 2bd569c296..7437d898c2 100644
--- a/package/busybox/patches/350-httpd_redir.patch
+++ b/package/busybox/patches/350-httpd_redir.patch
@@ -1,6 +1,6 @@
--- a/include/usage.src.h
+++ b/include/usage.src.h
-@@ -1718,7 +1718,8 @@ INSERT
+@@ -1719,7 +1719,8 @@ INSERT
IF_FEATURE_HTTPD_SETUID(" [-u USER[:GRP]]") \
IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
" [-h HOME]\n" \
@@ -10,16 +10,15 @@
#define httpd_full_usage "\n\n" \
"Listen for incoming HTTP requests\n" \
"\nOptions:" \
-@@ -2321,6 +2322,9 @@ INSERT
+@@ -1737,6 +1738,8 @@ INSERT
+ "\n -m STRING MD5 crypt STRING") \
+ "\n -e STRING HTML encode STRING" \
+ "\n -d STRING URL decode STRING" \
++ "\n -R PATH Redirect target path" \
++ "\n -H HOST Redirect target host" \
- #define lock_trivial_usage NOUSAGE_STR
- #define lock_full_usage ""
-+
-+#define lock_trivial_usage NOUSAGE_STR
-+#define lock_full_usage ""
-
- #define logger_trivial_usage \
- "[OPTIONS] [MESSAGE]"
+ #define hwclock_trivial_usage \
+ IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -250,6 +250,8 @@ struct globals {
diff --git a/package/busybox/patches/470-insmod_search.patch b/package/busybox/patches/470-insmod_search.patch
index ef170a20c8..8f52d985f7 100644
--- a/package/busybox/patches/470-insmod_search.patch
+++ b/package/busybox/patches/470-insmod_search.patch
@@ -124,7 +124,7 @@
string "Default directory containing modules"
default "/lib/modules"
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
-+ depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO || INSMOD
++ depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL || MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
diff --git a/package/busybox/patches/510-awk_include.patch b/package/busybox/patches/510-awk_include.patch
index 36dd080f97..07f28c9de1 100644
--- a/package/busybox/patches/510-awk_include.patch
+++ b/package/busybox/patches/510-awk_include.patch
@@ -1,6 +1,11 @@
--- a/editors/awk.c
+++ b/editors/awk.c
-@@ -70,9 +70,14 @@ typedef struct chain_s {
+@@ -1,3 +1,4 @@
++
+ /* vi: set sw=4 ts=4: */
+ /*
+ * awk implementation for busybox
+@@ -70,9 +71,14 @@ typedef struct chain_s {
} chain;
/* Function */
@@ -15,7 +20,7 @@
} func;
/* I/O stream */
-@@ -1453,7 +1458,8 @@ static void parse_program(char *p)
+@@ -1453,7 +1459,8 @@ static void parse_program(char *p)
next_token(TC_FUNCTION);
g_pos++;
f = newfunc(t_string);
@@ -25,7 +30,7 @@
f->nargs = 0;
while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
v = findvar(ahash, t_string);
-@@ -1462,7 +1468,7 @@ static void parse_program(char *p)
+@@ -1462,7 +1469,7 @@ static void parse_program(char *p)
if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
break;
}
@@ -34,7 +39,7 @@
chain_group();
clear_array(ahash);
-@@ -2547,7 +2553,8 @@ static var *evaluate(node *op, var *res)
+@@ -2547,7 +2554,8 @@ static var *evaluate(node *op, var *res)
var *vbeg, *v;
const char *sv_progname;
@@ -44,7 +49,7 @@
syntax_error(EMSG_UNDEF_FUNC);
vbeg = v = nvalloc(op->r.f->nargs + 1);
-@@ -2564,7 +2571,10 @@ static var *evaluate(node *op, var *res)
+@@ -2564,7 +2572,10 @@ static var *evaluate(node *op, var *res)
fnargs = vbeg;
sv_progname = g_progname;
@@ -56,7 +61,7 @@
g_progname = sv_progname;
nvfree(fnargs);
-@@ -2942,6 +2952,143 @@ static rstream *next_input_file(void)
+@@ -2942,6 +2953,143 @@ static rstream *next_input_file(void)
#undef files_happen
}
@@ -200,7 +205,7 @@
int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int awk_main(int argc, char **argv)
{
-@@ -3007,6 +3154,9 @@ int awk_main(int argc, char **argv)
+@@ -3007,6 +3155,9 @@ int awk_main(int argc, char **argv)
*s1 = '=';
}
}
diff --git a/package/busybox/patches/610-syslog-remote-retry-connection.patch b/package/busybox/patches/610-syslog-remote-retry-connection.patch
index 949ac9fd47..94cd3ded04 100644
--- a/package/busybox/patches/610-syslog-remote-retry-connection.patch
+++ b/package/busybox/patches/610-syslog-remote-retry-connection.patch
@@ -1,34 +1,26 @@
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
-@@ -98,6 +98,8 @@ struct globals {
- GLOBALS
-
- #if ENABLE_FEATURE_REMOTE_LOG
-+ len_and_sockaddr *remoteAddr;
-+ int remoteFD;
- llist_t *remoteHosts;
- #endif
- #if ENABLE_FEATURE_IPC_SYSLOG
-@@ -554,6 +556,7 @@ static void do_syslogd(void) NORETURN;
- static void do_syslogd(void)
+@@ -555,6 +555,7 @@ static void do_syslogd(void)
{
int sock_fd;
-+ int send_err = 0;
#if ENABLE_FEATURE_REMOTE_LOG
++ int send_err = 0;
llist_t *item;
#endif
-@@ -637,10 +640,23 @@ static void do_syslogd(void)
+ #if ENABLE_FEATURE_SYSLOGD_DUP
+@@ -636,11 +637,23 @@ static void do_syslogd(void)
+ if (rh->remoteFD == -1)
continue;
}
- /* Send message to remote logger, ignore possible error */
+- /* Send message to remote logger, ignore possible error */
- /* TODO: on some errors, close and set G.remoteFD to -1
- * so that DNS resolution and connect is retried? */
- sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
- &(rh->remoteAddr->u.sa), rh->remoteAddr->len);
++ /* Send message to remote logger */
+ if (sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT,
-+ &G.remoteAddr->u.sa, G.remoteAddr->len) == -1 ) {
++ &(rh->remoteAddr->u.sa), rh->remoteAddr->len) == -1)
+ send_err = errno;
-+ }
+
+ /* On some errors, close and set G.remoteFD to -1
+ * so that DNS resolution and connect is retried */
@@ -38,8 +30,8 @@
+ case EISCONN:
+ case ENOTCONN:
+ case EPIPE:
-+ close(G.remoteFD);
-+ G.remoteFD = -1;
++ close(rh->remoteFD);
++ rh->remoteFD = -1;
+ break;
+ }
}
diff --git a/package/busybox/patches/803-id_getgrouplist.patch b/package/busybox/patches/803-id_getgrouplist.patch
index 48aa57c04f..dd2dee66f6 100644
--- a/package/busybox/patches/803-id_getgrouplist.patch
+++ b/package/busybox/patches/803-id_getgrouplist.patch
@@ -31,7 +31,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
/* I guess *n < 0 might indicate error. Anyway,
* malloc'ing -1 bytes won't be good, so: */
//if (*n < 0)
-@@ -154,6 +160,7 @@ int id_main(int argc UNUSED_PARAM, char
+@@ -154,6 +160,7 @@ int id_main(int argc UNUSED_PARAM, char
if (egid != rgid)
status |= print_group(egid, " ");
}
@@ -39,7 +39,7 @@ Signed-off-by: Nicolas Thill <nico@openwrt.org>
/* We are supplying largish buffer, trying
* to not run get_groups() twice. That might be slow
* ("user database in remote SQL server" case) */
-@@ -181,6 +188,7 @@ int id_main(int argc UNUSED_PARAM, char
+@@ -181,6 +188,7 @@ int id_main(int argc UNUSED_PARAM, char
}
if (ENABLE_FEATURE_CLEAN_UP)
free(groups);