[package] update busybox to 1.18.4, patch from Peter Wagner
authorFlorian Fainelli <florian@openwrt.org>
Sun, 3 Apr 2011 18:31:00 +0000 (18:31 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 3 Apr 2011 18:31:00 +0000 (18:31 +0000)
SVN-Revision: 26455

26 files changed:
package/busybox/Makefile
package/busybox/config/Config.in
package/busybox/config/archival/Config.in
package/busybox/config/console-tools/Config.in
package/busybox/config/coreutils/Config.in
package/busybox/config/e2fsprogs/Config.in
package/busybox/config/editors/Config.in
package/busybox/config/init/Config.in
package/busybox/config/libbb/Config.in
package/busybox/config/loginutils/Config.in
package/busybox/config/miscutils/Config.in
package/busybox/config/modutils/Config.in
package/busybox/config/networking/Config.in
package/busybox/config/networking/udhcp/Config.in
package/busybox/config/procps/Config.in
package/busybox/config/shell/Config.in
package/busybox/config/sysklogd/Config.in
package/busybox/config/util-linux/Config.in
package/busybox/patches/000-autoconf.patch [deleted file]
package/busybox/patches/000-upstream-sort.patch [deleted file]
package/busybox/patches/241-udhcpc-oversized_packets.patch
package/busybox/patches/244-udhcpc_add_6rd_option.patch
package/busybox/patches/245-udhcpc_add_msroutes_option.patch [deleted file]
package/busybox/patches/300-netmsg.patch
package/busybox/patches/610-syslog-remote-retry-connection.patch [deleted file]
package/busybox/patches/920-macosx-endian.patch [deleted file]

index 84d7099..d41a279 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.17.3
-PKG_RELEASE:=2
+PKG_VERSION:=1.18.4
+PKG_RELEASE:=1
 PKG_FLAGS:=essential
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.busybox.net/downloads \
                http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=a2ce1a951571da8c6e0eaf75b1acef60
+PKG_MD5SUM:=b03c5b46ced732679e525a920a1a62f5
 
 PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc
 PKG_BUILD_PARALLEL:=1
index 1bd8a36..e553862 100644 (file)
@@ -46,6 +46,17 @@ config BUSYBOX_CONFIG_USE_PORTABLE_CODE
          compiler other than gcc.
          If you do use gcc, this option may needlessly increase code size.
 
+config BUSYBOX_CONFIG_PLATFORM_LINUX
+       bool "Enable Linux-specific applets and features"
+       default y
+       help
+         For the most part, busybox requires only POSIX compatibility
+         from the target system, but some applets and features use
+         Linux-specific interfaces.
+
+         Answering 'N' here will disable such applets and hide the
+         corresponding configuration options.
+
 choice
        prompt "Buffer allocation policy"
        default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
@@ -111,6 +122,15 @@ config BUSYBOX_CONFIG_FEATURE_INSTALLER
          busybox at runtime to create hard links or symlinks for all the
          applets that are compiled into busybox.
 
+config BUSYBOX_CONFIG_INSTALL_NO_USR
+       bool "Don't use /usr"
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_INSTALLER
+       help
+         Disable use of /usr. busybox --install and "make install"
+         will install applets only to /bin and /sbin,
+         never to /usr/bin or /usr/sbin.
+
 config BUSYBOX_CONFIG_LOCALE_SUPPORT
        bool "Enable locale support (system needs locale for this to work)"
        default n
@@ -137,6 +157,7 @@ config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
        help
          With this option on, Unicode support is implemented using libc
          routines. Otherwise, internal implementation is used.
+         Internal implementation is smaller.
 
 config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
        bool "Check $LANG environment variable"
@@ -262,15 +283,6 @@ 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
@@ -282,6 +294,15 @@ config BUSYBOX_CONFIG_FEATURE_WTMP
          will append new entries there.
          "last" applet requires this option.
 
+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_PIDFILE
        bool "Support writing pidfiles"
        default y
@@ -294,14 +315,19 @@ config BUSYBOX_CONFIG_FEATURE_SUID
        default y
        help
          With this option you can install the busybox binary belonging
-         to root with the suid bit set, and it will automatically drop
-         priviledges for applets that don't need root access.
+         to root with the suid bit set, enabling some applets to perform
+         root-level operations even when run by ordinary users
+         (for example, mounting of user mounts in fstab needs this).
+
+         Busybox will automatically drop priviledges for applets
+         that don't need root access.
 
          If you are really paranoid and don't want to do this, build two
          busybox binaries with different applets in them (and the appropriate
          symlinks pointing to each binary), and only set the suid bit on the
-         one that needs it. The applets currently marked to need the suid bit
-         are:
+         one that needs it.
+
+         The applets currently marked to need the suid bit are:
 
          crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
          traceroute, vlock.
@@ -351,6 +377,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
 config BUSYBOX_CONFIG_SELINUX
        bool "Support NSA Security Enhanced Linux"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Enable support for SELinux in applets ls, ps, and id. Also provide
          the option of compiling in SELinux applets.
@@ -637,20 +664,13 @@ endchoice
 
 endmenu
 
-menu 'Installation Options'
-
-config BUSYBOX_CONFIG_INSTALL_NO_USR
-       bool "Don't use /usr"
-       default n
-       help
-         Disable use of /usr. Don't activate this option if you don't know
-         that you really want this behaviour.
+menu 'Installation Options ("make install" behavior)'
 
 choice
-       prompt "Applets links"
+       prompt "What kind of applet links to install"
        default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
        help
-         Choose how you install applets links.
+         Choose what kind of links to applets are created by "make install".
 
 config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
        bool "as soft-links"
@@ -674,8 +694,9 @@ config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
        bool "not installed"
        depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE || BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
        help
-         Do not install applet links. Useful when using the -install feature
-         or a standalone shell for rescue purposes.
+         Do not install applet links. Useful when you plan to use
+         busybox --install for installing links, or plan to use
+         a standalone shell and thus don't need applet links.
 
 endchoice
 
@@ -699,8 +720,8 @@ config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
 config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
        bool "as script wrapper"
        help
-         Install /bin/sh applet as script wrapper that call the busybox
-         binary.
+         Install /bin/sh applet as script wrapper that calls
+         the busybox binary.
 
 endchoice
 
index 1424c86..3545694 100644 (file)
@@ -204,7 +204,7 @@ config BUSYBOX_CONFIG_RPM2CPIO
        bool "rpm2cpio"
        default n
        help
-         Converts an RPM file into a CPIO archive.
+         Converts a RPM file into a CPIO archive.
 
 config BUSYBOX_CONFIG_RPM
        bool "rpm"
index 710bf97..6d6f0bb 100644 (file)
@@ -5,9 +5,12 @@
 
 menu "Console Utilities"
 
+
+
 config BUSYBOX_CONFIG_CHVT
        bool "chvt"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program is used to change to another terminal.
          Example: chvt 4 (change to terminal /dev/tty4)
@@ -15,6 +18,7 @@ config BUSYBOX_CONFIG_CHVT
 config BUSYBOX_CONFIG_FGCONSOLE
        bool "fgconsole"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program prints active (foreground) console number.
 
@@ -27,12 +31,14 @@ config BUSYBOX_CONFIG_CLEAR
 config BUSYBOX_CONFIG_DEALLOCVT
        bool "deallocvt"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program deallocates unused virtual consoles.
 
 config BUSYBOX_CONFIG_DUMPKMAP
        bool "dumpkmap"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program dumps the kernel's keyboard translation table to
          stdout, in binary format. You can then use loadkmap to load it.
@@ -40,18 +46,21 @@ config BUSYBOX_CONFIG_DUMPKMAP
 config BUSYBOX_CONFIG_KBD_MODE
        bool "kbd_mode"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program reports and sets keyboard mode.
 
 config BUSYBOX_CONFIG_LOADFONT
        bool "loadfont"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program loads a console font from standard input.
 
 config BUSYBOX_CONFIG_LOADKMAP
        bool "loadkmap"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program loads a keyboard translation table from
          standard input.
@@ -59,6 +68,7 @@ config BUSYBOX_CONFIG_LOADKMAP
 config BUSYBOX_CONFIG_OPENVT
        bool "openvt"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program is used to start a command on an unused
          virtual terminal.
@@ -90,6 +100,7 @@ config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
 config BUSYBOX_CONFIG_SETCONSOLE
        bool "setconsole"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program redirects the system console to another device,
          like the current tty while logged in via telnet.
@@ -104,6 +115,7 @@ config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
 config BUSYBOX_CONFIG_SETFONT
        bool "setfont"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Allows to load console screen map. Useful for i18n.
 
@@ -125,6 +137,7 @@ config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
 config BUSYBOX_CONFIG_SETKEYCODES
        bool "setkeycodes"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program loads entries into the kernel's scancode-to-keycode
          map, allowing unusual keyboards to generate usable keycodes.
@@ -132,12 +145,14 @@ config BUSYBOX_CONFIG_SETKEYCODES
 config BUSYBOX_CONFIG_SETLOGCONS
        bool "setlogcons"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This program redirects the output console of kernel messages.
 
 config BUSYBOX_CONFIG_SHOWKEY
        bool "showkey"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Shows keys pressed.
 
index e72ea6c..7508c72 100644 (file)
@@ -36,7 +36,7 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
 config BUSYBOX_CONFIG_FEATURE_DATE_NANO
        bool "Support %[num]N nanosecond format specifier"
        default n
-       depends on BUSYBOX_CONFIG_DATE
+       depends on BUSYBOX_CONFIG_DATE && BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Support %[num]N format specifier. Adds ~250 bytes of code.
 
@@ -96,6 +96,11 @@ config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
          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_BASE64
+       bool "base64"
+       default n
+       help
+         Base64 encode and decode
 
 config BUSYBOX_CONFIG_CAL
        bool "cal"
@@ -681,6 +686,7 @@ config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
 config BUSYBOX_CONFIG_STAT
        bool "stat"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          display file or filesystem status.
 
index 08a1452..066fe7b 100644 (file)
@@ -31,6 +31,7 @@ config BUSYBOX_CONFIG_FSCK
 config BUSYBOX_CONFIG_LSATTR
        bool "lsattr"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          lsattr lists the file attributes on a second extended file system.
 
index ee4ac86..894626f 100644 (file)
@@ -5,6 +5,12 @@
 
 menu "Editors"
 
+config BUSYBOX_CONFIG_PATCH
+       bool "patch"
+       default n
+       help
+         Apply a unified diff formatted patch.
+
 config BUSYBOX_CONFIG_AWK
        bool "awk"
        default y
@@ -58,12 +64,6 @@ config BUSYBOX_CONFIG_ED
          Small, simple, evil. Part of SUSv3. If you're not already using
          this, you don't need it.
 
-config BUSYBOX_CONFIG_PATCH
-       bool "patch"
-       default n
-       help
-         Apply a unified diff formatted patch.
-
 config BUSYBOX_CONFIG_SED
        bool "sed"
        default y
index bdf181c..92aceed 100644 (file)
@@ -43,7 +43,31 @@ config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
        help
          Enable reading and parsing of $PWD/bootchartd.conf
          and /etc/bootchartd.conf files.
+config BUSYBOX_CONFIG_HALT
+       bool "poweroff, halt, and reboot"
+       default y
+       help
+         Stop all processes and either halt, reboot, or power off the system.
+
+config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+       bool "Call telinit on shutdown and reboot"
+       default n
+       depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
+       help
+         Call an external program (normally telinit) to facilitate
+         a switch to a proper runlevel.
 
+         This option is only available if you selected halt and friends,
+         but did not select init.
+
+config BUSYBOX_CONFIG_TELINIT_PATH
+       string "Path to telinit executable"
+       default "/sbin/telinit"
+       depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+       help
+         When busybox halt and friends have to call external telinit
+         to facilitate proper shutdown, this path is to be used when
+         locating telinit executable.
 config BUSYBOX_CONFIG_INIT
        bool "init"
        default y
@@ -126,32 +150,17 @@ config BUSYBOX_CONFIG_FEATURE_INITRD
          This does not apply to initramfs, which runs /init as PID 1 and
          requires no special support.
 
-config BUSYBOX_CONFIG_HALT
-       bool "poweroff, halt, and reboot"
-       default y
-       help
-         Stop all processes and either halt, reboot, or power off the system.
-
-config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
-       bool "Call telinit on shutdown and reboot"
-       default n
-       depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
-       help
-         Call an external program (normally telinit) to facilitate
-         a switch to a proper runlevel.
-
-         This option is only available if you selected halt and friends,
-         but did not select init.
-
-config BUSYBOX_CONFIG_TELINIT_PATH
-       string "Path to telinit executable"
-       default "/sbin/telinit"
-       depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
+       string "Initial terminal type"
+       default "linux"
+       depends on BUSYBOX_CONFIG_INIT
        help
-         When busybox halt and friends have to call external telinit
-         to facilitate proper shutdown, this path is to be used when
-         locating telinit executable.
+         This is the initial value set by init for the TERM environment
+         variable. This variable is used by programs which make use of
+         extended terminal capabilities.
 
+         Note that on Linux, init attempts to detect serial terminal and
+         sets TERM to "vt102" if one is found.
 config BUSYBOX_CONFIG_MESG
        bool "mesg"
        default y
index ec10715..a3c9641 100644 (file)
@@ -41,6 +41,17 @@ config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
          a rarely used feature which allows you to use names
          instead of IP/mask pairs in route command.
 
+config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
+       bool "Use termios to manipulate the screen"
+       default n
+       depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
+       help
+         This option allows utilities such as 'more' and 'top' to determine
+         the size of the screen. If you leave this disabled, your utilities
+         that display things on the screen will be especially primitive and
+         will be unable to determine the current screen size, and will be
+         unable to move the cursor.
+
 config BUSYBOX_CONFIG_FEATURE_EDITING
        bool "Command line editing"
        default y
@@ -76,9 +87,9 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
 config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
        bool "History saving"
        default n
-       depends on BUSYBOX_CONFIG_ASH && BUSYBOX_CONFIG_FEATURE_EDITING
+       depends on BUSYBOX_CONFIG_FEATURE_EDITING
        help
-         Enable history saving in ash shell.
+         Enable history saving in shells.
 
 config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
        bool "Tab completion"
@@ -151,6 +162,7 @@ config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
 config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
        bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
          time intervals (time, ping, traceroute etc need this).
index 0a7d253..0298840 100644 (file)
@@ -5,6 +5,18 @@
 
 menu "Login/Password Management Utilities"
 
+config BUSYBOX_CONFIG_ADD_SHELL
+       bool "add-shell"
+       default n if BUSYBOX_CONFIG_DESKTOP
+       help
+         Add shells to /etc/shells.
+
+config BUSYBOX_CONFIG_REMOVE_SHELL
+       bool "remove-shell"
+       default n if BUSYBOX_CONFIG_DESKTOP
+       help
+         Remove shells from /etc/shells.
+
 config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
        bool "Support for shadow passwords"
        default n
@@ -91,41 +103,18 @@ 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_ADDGROUP
-       bool "addgroup"
+config BUSYBOX_CONFIG_ADDUSER
+       bool "adduser"
        default n
        help
-         Utility for creating a new group account.
+         Utility for creating a new user account.
 
-config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
+config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
        bool "Enable long options"
        default n
-       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 n
-       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_DELGROUP
-       bool "delgroup"
-       default n
-       help
-         Utility for deleting a group account.
-
-config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
-       bool "Support for removing users from groups"
-       default n
-       depends on BUSYBOX_CONFIG_DELGROUP
+       depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
        help
-         If called with two non-option arguments, deluser
-         or delgroup will remove an user from a specified group.
+         Support long options for the adduser applet.
 
 config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
        bool "Enable sanity check on user/group names in adduser and addgroup"
@@ -139,19 +128,6 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
          For compatibility with Samba machine accounts "$" is also supported
          at the end of the user or group name.
 
-config BUSYBOX_CONFIG_ADDUSER
-       bool "adduser"
-       default n
-       help
-         Utility for creating a new user account.
-
-config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
-       bool "Enable long options"
-       default n
-       depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
-       help
-         Support long options for the adduser applet.
-
 config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
        int "First valid system uid or gid for adduser and addgroup"
        depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
@@ -168,12 +144,48 @@ config BUSYBOX_CONFIG_LAST_SYSTEM_ID
        help
          Last valid system uid or gid for adduser and addgroup
 
+config BUSYBOX_CONFIG_ADDGROUP
+       bool "addgroup"
+       default n
+       help
+         Utility for creating a new group account.
+
+config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       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 n
+       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_DELUSER
        bool "deluser"
        default n
        help
          Utility for deleting a user account.
 
+config BUSYBOX_CONFIG_DELGROUP
+       bool "delgroup"
+       default n
+       help
+         Utility for deleting a group account.
+
+config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
+       bool "Support for removing users from groups"
+       default n
+       depends on BUSYBOX_CONFIG_DELGROUP
+       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 n
@@ -184,7 +196,6 @@ config BUSYBOX_CONFIG_GETTY
 config BUSYBOX_CONFIG_LOGIN
        bool "login"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          login is used when signing onto a system.
@@ -227,7 +238,6 @@ config BUSYBOX_CONFIG_FEATURE_SECURETTY
 config BUSYBOX_CONFIG_PASSWD
        bool "passwd"
        default y
-       select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          passwd changes passwords for user and group accounts. A normal user
@@ -263,7 +273,6 @@ config BUSYBOX_CONFIG_CHPASSWD
 config BUSYBOX_CONFIG_SU
        bool "su"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          su is used to become another user during a login session.
@@ -293,7 +302,6 @@ config BUSYBOX_CONFIG_SULOGIN
 config BUSYBOX_CONFIG_VLOCK
        bool "vlock"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
        help
          Build the "vlock" applet which allows you to lock (virtual) terminals.
 
index d3cf407..82e48f0 100644 (file)
@@ -8,27 +8,43 @@ menu "Miscellaneous Utilities"
 config BUSYBOX_CONFIG_CONSPY
        bool "conspy"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        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_NANDWRITE
+       bool "nandwrite"
+       default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
+       help
+         Write to the specified MTD device, with bad blocks awareness
 
+config BUSYBOX_CONFIG_NANDDUMP
+       bool "nanddump"
+       default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
+       help
+         Dump the content of raw NAND chip
 config BUSYBOX_CONFIG_UBIATTACH
        bool "ubiattach"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Attach MTD device to an UBI device.
 
 config BUSYBOX_CONFIG_UBIDETACH
        bool "ubidetach"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Detach MTD device from an UBI device.
 
 config BUSYBOX_CONFIG_ADJTIMEX
        bool "adjtimex"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Adjtimex reads and optionally sets adjustment parameters for
          the Linux clock adjustment algorithm.
@@ -40,9 +56,24 @@ config BUSYBOX_CONFIG_BBCONFIG
          The bbconfig applet will print the config file with which
          busybox was built.
 
+config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
+       bool "Compress bbconfig data"
+       default n
+       depends on BUSYBOX_CONFIG_BBCONFIG
+       help
+         Store bbconfig data in compressed form, uncompress them on-the-fly
+         before output.
+
+         If you have a really tiny busybox with few applets enabled (and
+         bunzip2 isn't one of them), the overhead of the decompressor might
+         be noticeable. Also, if you run executables directly from ROM
+         and have very little memory, this might not be a win. Otherwise,
+         you probably want this.
+
 config BUSYBOX_CONFIG_BEEP
        bool "beep"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The beep applets beeps in a given freq/Hz.
 
@@ -139,7 +170,6 @@ config BUSYBOX_CONFIG_CHRT
 config BUSYBOX_CONFIG_CROND
        bool "crond"
        default y
-       select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          Crond is a background daemon that parses individual crontab
@@ -174,7 +204,6 @@ config BUSYBOX_CONFIG_FEATURE_CROND_DIR
 config BUSYBOX_CONFIG_CRONTAB
        bool "crontab"
        default y
-       select BUSYBOX_CONFIG_FEATURE_SUID
        help
          Crontab manipulates the crontab for a particular user. Only
          the superuser may specify a different user and/or crontab directory.
@@ -199,6 +228,7 @@ config BUSYBOX_CONFIG_FEATURE_DC_LIBM
 config BUSYBOX_CONFIG_DEVFSD
        bool "devfsd (obsolete)"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          This is deprecated and should NOT be used anymore.
@@ -242,6 +272,7 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
 config BUSYBOX_CONFIG_FEATURE_DEVFS
        bool "Use devfs names for all devices (obsolete)"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This is obsolete and should NOT be used anymore.
          Use linux >= 2.6 (optionally with hotplug) and mdev instead!
@@ -261,6 +292,7 @@ config BUSYBOX_CONFIG_DEVMEM
 config BUSYBOX_CONFIG_EJECT
        bool "eject"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Used to eject cdroms. (defaults to /dev/cdrom)
 
@@ -275,6 +307,7 @@ config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
 config BUSYBOX_CONFIG_FBSPLASH
        bool "fbsplash"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Shows splash image and progress bar on framebuffer device.
          Can be used during boot phase of an embedded device. ~2kb.
@@ -324,6 +357,7 @@ config BUSYBOX_CONFIG_FLASH_ERASEALL
 config BUSYBOX_CONFIG_IONICE
        bool "ionice"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Set/set program io scheduling class and priority
          Requires kernel >= 2.6.13
@@ -424,11 +458,12 @@ config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
        default n
        depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
        help
-         Enable "-N" command.
+         Enables "-N" command.
 
 config BUSYBOX_CONFIG_HDPARM
        bool "hdparm"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Get/Set hard drive parameters. Primarily intended for ATA
          drives. Adds about 13k (or around 30k if you enable the
@@ -496,15 +531,15 @@ config BUSYBOX_CONFIG_MAKEDEVS
        help
          'makedevs' is a utility used to create a batch of devices with
          one command.
-         .
+
          There are two choices for command line behaviour, the interface
          as used by LEAF/Linux Router Project, or a device table file.
-         .
+
          'leaf' is traditionally what busybox follows, it allows multiple
          devices of a particluar type to be created per command.
          e.g. /dev/hda[0-9]
          Device properties are passed as command line arguments.
-         .
+
          'table' reads device properties from a file or stdin, allowing
          a batch of unrelated devices to be made with one command.
          User/group names are allowed as an alternative to uid/gid.
@@ -551,6 +586,7 @@ config BUSYBOX_CONFIG_MT
 config BUSYBOX_CONFIG_RAIDAUTORUN
        bool "raidautorun"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          raidautorun tells the kernel md driver to
          search and start RAID arrays.
@@ -558,7 +594,7 @@ config BUSYBOX_CONFIG_RAIDAUTORUN
 config BUSYBOX_CONFIG_READAHEAD
        bool "readahead"
        default n
-       depends on BUSYBOX_CONFIG_LFS
+       depends on BUSYBOX_CONFIG_LFS && BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Preload the files listed on the command line into RAM cache so that
          subsequent reads on these files will not block on disk I/O.
@@ -575,6 +611,7 @@ config BUSYBOX_CONFIG_READAHEAD
 config BUSYBOX_CONFIG_RFKILL
        bool "rfkill"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Enable/disable wireless devices.
 
@@ -595,6 +632,7 @@ config BUSYBOX_CONFIG_RUNLEVEL
 config BUSYBOX_CONFIG_RX
        bool "rx"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Receive files using the Xmodem protocol.
 
@@ -666,6 +704,7 @@ config BUSYBOX_CONFIG_WALL
 config BUSYBOX_CONFIG_WATCHDOG
        bool "watchdog"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The watchdog utility is used with hardware or software watchdog
          device drivers. It opens the specified watchdog device special file
index ad5401f..c52c67d 100644 (file)
@@ -1,9 +1,11 @@
+# DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
 # see scripts/kbuild/config-language.txt.
 #
 
 menu "Linux Module Utilities"
+depends on BUSYBOX_CONFIG_PLATFORM_LINUX
 
 config BUSYBOX_CONFIG_MODINFO
        bool "modinfo"
index 481567c..82d3603 100644 (file)
@@ -5,6 +5,12 @@
 
 menu "Networking Utilities"
 
+config BUSYBOX_CONFIG_NBDCLIENT
+       bool "nbd-client"
+       default n
+       help
+         Network block device client
+
 config BUSYBOX_CONFIG_NC
        bool "nc"
        default y
@@ -82,18 +88,21 @@ config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
 config BUSYBOX_CONFIG_ARP
        bool "arp"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Manipulate the system ARP cache.
 
 config BUSYBOX_CONFIG_ARPING
        bool "arping"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Ping hosts by ARP packets.
 
 config BUSYBOX_CONFIG_BRCTL
        bool "brctl"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Manage ethernet bridges.
          Supports addbr/delbr and addif/delif.
@@ -126,6 +135,7 @@ config BUSYBOX_CONFIG_DNSD
 config BUSYBOX_CONFIG_ETHER_WAKE
        bool "ether-wake"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Send a magic packet to wake up sleeping machines.
 
@@ -297,9 +307,18 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
          Then a request to /url/myfile will be forwarded to
          http://hostname[:port]/new/path/myfile.
 
+config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP
+       bool "Support for GZIP content encoding"
+       default n
+       depends on BUSYBOX_CONFIG_HTTPD
+       help
+         Makes httpd send files using GZIP content encoding if the
+         client supports it and a pre-compressed <file>.gz exists.
+
 config BUSYBOX_CONFIG_IFCONFIG
        bool "ifconfig"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Ifconfig is used to configure the kernel-resident network interfaces.
 
@@ -347,6 +366,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
 config BUSYBOX_CONFIG_IFENSLAVE
        bool "ifenslave"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Userspace application to bind several interfaces
          to a logical interface (use with kernel bonding driver).
@@ -354,6 +374,7 @@ config BUSYBOX_CONFIG_IFENSLAVE
 config BUSYBOX_CONFIG_IFPLUGD
        bool "ifplugd"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Network interface plug detection daemon.
 
@@ -395,7 +416,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
        bool "Use busybox ip applet"
        default n
-       depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
+       depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP && BUSYBOX_CONFIG_PLATFORM_LINUX
        select BUSYBOX_CONFIG_IP
        select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
        select BUSYBOX_CONFIG_FEATURE_IP_LINK
@@ -514,6 +535,7 @@ config BUSYBOX_CONFIG_FEATURE_INETD_RPC
 config BUSYBOX_CONFIG_IP
        bool "ip"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The "ip" applet is a TCP/IP interface configuration and routing
          utility. You generally don't need "ip" to use busybox with
@@ -629,6 +651,7 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
 config BUSYBOX_CONFIG_NAMEIF
        bool "nameif"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          nameif is used to rename network interface by its MAC address.
@@ -663,6 +686,7 @@ config BUSYBOX_CONFIG_NETMSG
 config BUSYBOX_CONFIG_NETSTAT
        bool "netstat"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          netstat prints information about the Linux networking subsystem.
 
@@ -691,6 +715,7 @@ config BUSYBOX_CONFIG_NSLOOKUP
 config BUSYBOX_CONFIG_NTPD
        bool "ntpd"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The NTP client/server daemon.
 
@@ -705,6 +730,7 @@ config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
 config BUSYBOX_CONFIG_PING
        bool "ping"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
          elicit an ICMP ECHO_RESPONSE from a host or gateway.
@@ -733,12 +759,14 @@ config BUSYBOX_CONFIG_PSCAN
 config BUSYBOX_CONFIG_ROUTE
        bool "route"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Route displays or manipulates the kernel's IP routing tables.
 
 config BUSYBOX_CONFIG_SLATTACH
        bool "slattach"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          slattach is a small utility to attach network interfaces to serial
          lines.
@@ -819,7 +847,7 @@ config BUSYBOX_CONFIG_TELNETD
 
                  mount -t devpts devpts /dev/pts
 
-         You need to be sure that Busybox has LOGIN and
+         You need to be sure that busybox has LOGIN and
          FEATURE_SUID enabled. And finally, you should make
          certain that Busybox has been installed setuid root:
 
@@ -925,6 +953,7 @@ config BUSYBOX_CONFIG_TFTP_DEBUG
 config BUSYBOX_CONFIG_TRACEROUTE
        bool "traceroute"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Utility to trace the route of IP packets.
 
@@ -961,6 +990,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
 config BUSYBOX_CONFIG_TUNCTL
        bool "tunctl"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          tunctl creates or deletes tun devices.
 
@@ -993,6 +1023,7 @@ config BUSYBOX_CONFIG_UDPSVD
 config BUSYBOX_CONFIG_VCONFIG
        bool "vconfig"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Creates, removes, and configures VLAN interfaces
 
@@ -1024,9 +1055,22 @@ config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
        help
          Support long options for the wget applet.
 
+config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
+       bool "Enable read timeout option -T SEC"
+       default n
+       depends on BUSYBOX_CONFIG_WGET
+       help
+         Supports network read timeout for wget, so that wget will give
+         up and timeout when reading network data, through the -T command
+         line option.  Currently only network data read timeout is
+         supported (i.e., timeout is not applied to the DNS nor TCP
+         connection initialization).  When FEATURE_WGET_LONG_OPTIONS is
+         also enabled, the --timeout option will work in addition to -T.
+
 config BUSYBOX_CONFIG_ZCIP
        bool "zcip"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
index e982787..aa2a800 100644 (file)
@@ -1,11 +1,15 @@
+# DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
 # see scripts/kbuild/config-language.txt.
 #
 
+
+
 config BUSYBOX_CONFIG_UDHCPD
        bool "udhcp server (udhcpd)"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          udhcpd is a DHCP server geared primarily toward embedded systems,
          while striving to be fully functional and RFC compliant.
@@ -49,6 +53,7 @@ config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
 config BUSYBOX_CONFIG_UDHCPC
        bool "udhcp client (udhcpc)"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          udhcpc is a DHCP client geared primarily toward embedded systems,
          while striving to be fully functional and RFC compliant.
index da5e95c..fbb2cee 100644 (file)
@@ -5,6 +5,26 @@
 
 menu "Process Utilities"
 
+config BUSYBOX_CONFIG_IOSTAT
+       bool "iostat"
+       default n
+       help
+         Report CPU and I/O statistics
+config BUSYBOX_CONFIG_MPSTAT
+       bool "mpstat"
+       default n
+       help
+         Per-processor statistics
+config BUSYBOX_CONFIG_PMAP
+       bool "pmap"
+       default n
+       help
+         Display processes' memory mappings.
+config BUSYBOX_CONFIG_POWERTOP
+       bool "powertop"
+       default n
+       help
+         Analyze power consumption on Intel-based laptops
 config BUSYBOX_CONFIG_SMEMCAP
        bool "smemcap"
        default n
@@ -15,6 +35,7 @@ config BUSYBOX_CONFIG_SMEMCAP
 config BUSYBOX_CONFIG_FREE
        bool "free"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          free displays the total amount of free and used physical and swap
          memory in the system, as well as the buffers used by the kernel.
@@ -109,7 +130,7 @@ config BUSYBOX_CONFIG_FEATURE_PS_WIDE
 config BUSYBOX_CONFIG_FEATURE_PS_TIME
        bool "Enable time and elapsed time output"
        default n
-       depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
+       depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP && BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Support -o time and -o etime output specifiers.
 
@@ -205,6 +226,7 @@ config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
 config BUSYBOX_CONFIG_UPTIME
        bool "uptime"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          uptime gives a one line display of the current time, how long
          the system has been running, how many users are currently logged
index d652dd3..57f490e 100644 (file)
@@ -5,8 +5,6 @@
 
 menu "Shells"
 
-
-
 config BUSYBOX_CONFIG_ASH
        bool "ash"
        default y
@@ -110,19 +108,55 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
          This option recreates the prompt string from the environment
          variable each time it is displayed.
 
+config BUSYBOX_CONFIG_CTTYHACK
+       bool "cttyhack"
+       default n
+       help
+         One common problem reported on the mailing list is "can't access tty;
+         job control turned off" error message which typically appears when
+         one tries to use shell with stdin/stdout opened to /dev/console.
+         This device is special - it cannot be a controlling tty.
+
+         Proper solution is to use correct device instead of /dev/console.
+
+         cttyhack provides "quick and dirty" solution to this problem.
+         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. 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
+
+         Starting an interactive shell from boot shell script:
+
+         setsid cttyhack sh
+
+         Giving controlling tty to shell running with PID 1:
+
+         # exec cttyhack sh
+
+         Without cttyhack, you need to know exact tty name,
+         and do something like this:
+
+         # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
+
 config BUSYBOX_CONFIG_HUSH
        bool "hush"
        default n
        help
-         hush is a small shell (22k). It handles the normal flow control
+         hush is a small shell (25k). It handles the normal flow control
          constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
          case/esac. Redirections, here documents, $((arithmetic))
          and functions are supported.
 
          It will compile and work on no-mmu systems.
 
-         It does not handle select, aliases, brace expansion,
-         tilde expansion, &>file and >&file redirection of stdout+stderr.
+         It does not handle select, aliases, tilde expansion,
+         &>file and >&file redirection of stdout+stderr.
 
 config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
        bool "bash-compatible extensions"
@@ -131,6 +165,13 @@ config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
        help
          Enable bash-compatible extensions.
 
+config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
+       bool "Brace expansion"
+       default n
+       depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
+       help
+         Enable {abc,def} extension.
+
 config BUSYBOX_CONFIG_HUSH_HELP
        bool "help builtin"
        default y
@@ -148,6 +189,13 @@ config BUSYBOX_CONFIG_HUSH_INTERACTIVE
          from stdin just like a shell script from a file.
          No prompt, no PS1/PS2 magic shell variables.
 
+config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
+       bool "Save command history to .hush_history"
+       default n
+       depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
+       help
+         Enable history saving in hush.
+
 config BUSYBOX_CONFIG_HUSH_JOB
        bool "Job control"
        default y
@@ -201,20 +249,35 @@ config BUSYBOX_CONFIG_HUSH_LOCAL
        help
          Enable support for local variables in functions.
 
+config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
+       bool "Pseudorandom generator and $RANDOM variable"
+       default n
+       depends on BUSYBOX_CONFIG_HUSH
+       help
+         Enable pseudorandom generator and dynamic variable "$RANDOM".
+         Each read of "$RANDOM" will generate a new pseudorandom value.
+
 config BUSYBOX_CONFIG_HUSH_EXPORT_N
-       bool "Support export '-n' option"
+       bool "Support 'export -n' option"
        default y
        depends on BUSYBOX_CONFIG_HUSH
        help
-         Enable support for export '-n' option in hush. It is a bash extension.
+         export -n unexports variables. It is a bash extension.
 
-config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
-       bool "Pseudorandom generator and $RANDOM variable"
+config BUSYBOX_CONFIG_HUSH_MODE_X
+       bool "Support 'hush -x' option and 'set -x' command"
        default n
        depends on BUSYBOX_CONFIG_HUSH
        help
-         Enable pseudorandom generator and dynamic variable "$RANDOM".
-         Each read of "$RANDOM" will generate a new pseudorandom value.
+         This instructs hush to print commands before execution.
+         Adds ~300 bytes.
+
+config BUSYBOX_CONFIG_MSH
+       bool "msh (deprecated: aliased to hush)"
+       default n
+       select BUSYBOX_CONFIG_HUSH
+       help
+         msh is deprecated and will be removed, please migrate to hush.
 
 
 choice
@@ -271,29 +334,6 @@ config BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
 endchoice
 
 
-config BUSYBOX_CONFIG_LASH
-       bool "lash (deprecated: aliased to hush)"
-       default n
-       select BUSYBOX_CONFIG_HUSH
-       help
-         lash is deprecated and will be removed, please migrate to hush.
-
-config BUSYBOX_CONFIG_MSH
-       bool "msh (deprecated: please use hush)"
-       default n
-       select BUSYBOX_CONFIG_HUSH
-       help
-         msh is deprecated and will be removed, please migrate to hush.
-         If there is a feature msh has but hush does not, please let us know.
-
-#        The minix shell (adds just 30k) is quite complete and handles things
-#        like for/do/done, case/esac and all the things you expect a Bourne
-#        shell to do. It is not always pedantically correct about Bourne
-#        shell grammar (try running the shell testscript "tests/sh.testcases"
-#        on it and compare vs bash) but for most things it works quite well.
-#        It uses only vfork, so it can be used on uClinux systems.
-
-
 config BUSYBOX_CONFIG_SH_MATH_SUPPORT
        bool "POSIX math support"
        default y
@@ -367,35 +407,4 @@ config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
 
          This feature is relatively new. Use with care.
 
-config BUSYBOX_CONFIG_CTTYHACK
-       bool "cttyhack"
-       default n
-       help
-         One common problem reported on the mailing list is "can't access tty;
-         job control turned off" error message which typically appears when
-         one tries to use shell with stdin/stdout opened to /dev/console.
-         This device is special - it cannot be a controlling tty.
-
-         Proper solution is to use correct device instead of /dev/console.
-
-         cttyhack provides "quick and dirty" solution to this problem.
-         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. 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
index ea134b5..c7bac93 100644 (file)
@@ -1,3 +1,4 @@
+# DO NOT EDIT. This file is generated from Config.src
 #
 # For a description of the syntax of this configuration file,
 # see scripts/kbuild/config-language.txt.
@@ -5,6 +6,8 @@
 
 menu "System Logging Utilities"
 
+
+
 config BUSYBOX_CONFIG_SYSLOGD
        bool "syslogd"
        default y
@@ -114,6 +117,22 @@ config BUSYBOX_CONFIG_KLOGD
          you wish to record the messages produced by the kernel,
          you should enable this option.
 
+config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
+       bool "Use the klogctl() interface"
+       default y
+       depends on BUSYBOX_CONFIG_KLOGD && 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 y
index 94fda1d..4937988 100644 (file)
@@ -5,6 +5,11 @@
 
 menu "Linux System Utilities"
 
+config BUSYBOX_CONFIG_BLOCKDEV
+       bool "blockdev"
+       default n
+       help
+         Performs some ioctls with block devices.
 config BUSYBOX_CONFIG_REV
        bool "rev"
        default n
@@ -14,6 +19,7 @@ config BUSYBOX_CONFIG_REV
 config BUSYBOX_CONFIG_ACPID
        bool "acpid"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          acpid listens to ACPI events coming either in textual form from
          /proc/acpi/event (though it is marked deprecated it is still widely
@@ -36,6 +42,7 @@ config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
 config BUSYBOX_CONFIG_BLKID
        bool "blkid"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        select BUSYBOX_CONFIG_VOLUMEID
        help
          Lists labels and UUIDs of all filesystems.
@@ -45,6 +52,7 @@ config BUSYBOX_CONFIG_BLKID
 config BUSYBOX_CONFIG_DMESG
        bool "dmesg"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          dmesg is used to examine or control the kernel ring buffer. When the
          Linux kernel prints messages to the system log, they are stored in
@@ -78,6 +86,7 @@ config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
 config BUSYBOX_CONFIG_FBSET
        bool "fbset"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          fbset is used to show or change the settings of a Linux frame buffer
          device. The frame buffer device provides a simple and unique
@@ -106,6 +115,7 @@ config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
 config BUSYBOX_CONFIG_FDFLUSH
        bool "fdflush"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          fdflush is only needed when changing media on slightly-broken
          removable media drives. It is used to make Linux believe that a
@@ -118,12 +128,14 @@ config BUSYBOX_CONFIG_FDFLUSH
 config BUSYBOX_CONFIG_FDFORMAT
        bool "fdformat"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          fdformat is used to low-level format a floppy disk.
 
 config BUSYBOX_CONFIG_FDISK
        bool "fdisk"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The fdisk utility is used to divide hard disks into one or more
          logical disks, which are generally called partitions. This utility
@@ -178,6 +190,14 @@ config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
          Enabling this option allows you to create or change BSD disklabels
          and define and edit BSD disk slices.
 
+config BUSYBOX_CONFIG_FEATURE_GPT_LABEL
+       bool "Support GPT disklabels"
+       default n
+       depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+       help
+         Enabling this option allows you to view GUID Partition Table
+         disklabels.
+
 config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
        bool "Support expert mode"
        default n
@@ -191,6 +211,7 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
 config BUSYBOX_CONFIG_FINDFS
        bool "findfs"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        select BUSYBOX_CONFIG_VOLUMEID
        help
          Prints the name of a filesystem with given label or UUID.
@@ -206,6 +227,7 @@ config BUSYBOX_CONFIG_FLOCK
 config BUSYBOX_CONFIG_FREERAMDISK
        bool "freeramdisk"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Linux allows you to create ramdisks. This utility allows you to
          delete them and completely free all memory that was used for the
@@ -228,12 +250,14 @@ config BUSYBOX_CONFIG_FSCK_MINIX
 config BUSYBOX_CONFIG_MKFS_EXT2
        bool "mkfs_ext2"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Utility to create EXT2 filesystems.
 
 config BUSYBOX_CONFIG_MKFS_MINIX
        bool "mkfs_minix"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The minix filesystem is a nice, small, compact, read-write filesystem
          with little overhead. If you wish to be able to create minix
@@ -251,6 +275,7 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
 config BUSYBOX_CONFIG_MKFS_REISER
        bool "mkfs_reiser"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Utility to create ReiserFS filesystems.
          Note: this applet needs a lot of testing and polishing.
@@ -258,6 +283,7 @@ config BUSYBOX_CONFIG_MKFS_REISER
 config BUSYBOX_CONFIG_MKFS_VFAT
        bool "mkfs_vfat"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Utility to create FAT32 filesystems.
 
@@ -306,6 +332,7 @@ config BUSYBOX_CONFIG_HD
 config BUSYBOX_CONFIG_HWCLOCK
        bool "hwclock"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The hwclock utility is used to read and set the hardware clock
          on a system. This is primarily used to set the current time on
@@ -336,7 +363,6 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
 config BUSYBOX_CONFIG_IPCRM
        bool "ipcrm"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
        help
          The ipcrm utility allows the removal of System V interprocess
          communication (IPC) objects and the associated data structures
@@ -345,7 +371,7 @@ config BUSYBOX_CONFIG_IPCRM
 config BUSYBOX_CONFIG_IPCS
        bool "ipcs"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The ipcs utility is used to provide information on the currently
          allocated System V interprocess (IPC) objects in the system.
@@ -353,6 +379,7 @@ config BUSYBOX_CONFIG_IPCS
 config BUSYBOX_CONFIG_LOSETUP
        bool "losetup"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          losetup is used to associate or detach a loop device with a regular
          file or block device, and to query the status of a loop device. This
@@ -379,6 +406,7 @@ config BUSYBOX_CONFIG_LSUSB
 config BUSYBOX_CONFIG_MDEV
        bool "mdev"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          mdev is a mini-udev implementation for dynamically creating device
          nodes in the /dev directory.
@@ -463,20 +491,10 @@ config BUSYBOX_CONFIG_MORE
          you will probably find this utility very helpful. If you don't have
          any need to reading text files, you can leave this disabled.
 
-config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
-       bool "Use termios to manipulate the screen"
-       default n
-       depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP
-       help
-         This option allows utilities such as 'more' and 'top' to determine
-         the size of the screen. If you leave this disabled, your utilities
-         that display things on the screen will be especially primitive and
-         will be unable to determine the current screen size, and will be
-         unable to move the cursor.
-
 config BUSYBOX_CONFIG_MOUNT
        bool "mount"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          All files and filesystems in Unix are arranged into one big directory
          tree. The 'mount' utility is used to graft a filesystem onto a
@@ -559,6 +577,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
 config BUSYBOX_CONFIG_PIVOT_ROOT
        bool "pivot_root"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The pivot_root utility swaps the mount points for the root filesystem
          with some other mounted filesystem. This allows you to do all sorts
@@ -592,6 +611,7 @@ config BUSYBOX_CONFIG_READPROFILE
 config BUSYBOX_CONFIG_RTCWAKE
        bool "rtcwake"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          Enter a system sleep state until specified wakeup time.
 
@@ -611,6 +631,7 @@ config BUSYBOX_CONFIG_SCRIPTREPLAY
 config BUSYBOX_CONFIG_SETARCH
        bool "setarch"
        default n
+       depends on 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
@@ -620,6 +641,7 @@ config BUSYBOX_CONFIG_SETARCH
 config BUSYBOX_CONFIG_SWAPONOFF
        bool "swaponoff"
        default n
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          This option enables both the 'swapon' and the 'swapoff' utilities.
          Once you have created some swap space using 'mkswap', you also need
@@ -638,6 +660,7 @@ config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
 config BUSYBOX_CONFIG_SWITCH_ROOT
        bool "switch_root"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          The switch_root utility is used from initramfs to select a new
          root device. Under initramfs, you have to use this instead of
@@ -657,6 +680,7 @@ config BUSYBOX_CONFIG_SWITCH_ROOT
 config BUSYBOX_CONFIG_UMOUNT
        bool "umount"
        default y
+       depends on BUSYBOX_CONFIG_PLATFORM_LINUX
        help
          When you want to remove a mounted filesystem from its current mount
          point, for example when you are shutting down the system, the
@@ -777,7 +801,7 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
 
 ### config FEATURE_VOLUMEID_UFS
 ###    bool "ufs filesystem"
-###    default y
+###    default n
 ###    depends on VOLUMEID
 ###    help
 ###      TODO
diff --git a/package/busybox/patches/000-autoconf.patch b/package/busybox/patches/000-autoconf.patch
deleted file mode 100644 (file)
index d237457..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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/000-upstream-sort.patch b/package/busybox/patches/000-upstream-sort.patch
deleted file mode 100644 (file)
index ebc9bf9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urpN busybox-1.17.3/coreutils/sort.c busybox-1.17.3-sort/coreutils/sort.c
---- busybox-1.17.3/coreutils/sort.c    2010-10-09 21:57:13.000000000 +0200
-+++ busybox-1.17.3-sort/coreutils/sort.c       2010-10-20 15:17:35.320293543 +0200
-@@ -412,7 +412,7 @@ int sort_main(int argc UNUSED_PARAM, cha
- #if ENABLE_FEATURE_SORT_BIG
-       /* Open output file _after_ we read all input ones */
-       if (option_mask32 & FLAG_o)
--              xmove_fd(xopen3(str_o, O_WRONLY, 0666), STDOUT_FILENO);
-+              xmove_fd(xopen3(str_o, O_WRONLY|O_CREAT|O_TRUNC, 0666), STDOUT_FILENO);
- #endif
-       flag = (option_mask32 & FLAG_z) ? '\0' : '\n';
-       for (i = 0; i < linecount; i++)
index ef9e7f4..d83bf0b 100644 (file)
@@ -1,6 +1,8 @@
+diff --git a/networking/udhcp/packet.c b/networking/udhcp/packet.c
+index 2b7528c..94e53dc 100644
 --- a/networking/udhcp/packet.c
 +++ b/networking/udhcp/packet.c
-@@ -165,6 +165,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
+@@ -165,6 +165,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *addr, int count)
        return ~sum;
  }
  
@@ -12,7 +14,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,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -173,10 +178,10 @@ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
  {
        struct sockaddr_ll dest_sll;
        struct ip_udp_dhcp_packet packet;
@@ -24,7 +26,7 @@
  
        fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
        if (fd < 0) {
-@@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -185,8 +190,8 @@ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
        }
  
        memset(&dest_sll, 0, sizeof(dest_sll));
@@ -35,7 +37,7 @@
  
        dest_sll.sll_family = AF_PACKET;
        dest_sll.sll_protocol = htons(ETH_P_IP);
-@@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -199,36 +204,24 @@ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
                goto ret_close;
        }
  
        packet.udp.source = htons(source_port);
        packet.udp.dest = htons(dest_port);
 -      /* size, excluding IP header: */
--      packet.udp.len = htons(UPD_DHCP_SIZE - padding);
+-      packet.udp.len = htons(UDP_DHCP_SIZE - padding);
 -      /* for UDP checksumming, ip.len is set to UDP packet len */
 +      p_len += sizeof(packet.udp);
 +      packet.udp.len = htons(p_len);
        packet.ip.tot_len = packet.udp.len;
--      packet.udp.check = udhcp_checksum(&packet, IP_UPD_DHCP_SIZE - padding);
+-      packet.udp.check = udhcp_checksum(&packet, IP_UDP_DHCP_SIZE - padding);
 -      /* but for sending, it is set to IP packet len */
--      packet.ip.tot_len = htons(IP_UPD_DHCP_SIZE - padding);
+-      packet.ip.tot_len = htons(IP_UDP_DHCP_SIZE - padding);
 +      p_len += sizeof(packet.ip);
 +      packet.udp.check = udhcp_checksum(&packet, p_len);
 +      packet.ip.tot_len = htons(p_len);
        packet.ip.check = udhcp_checksum(&packet.ip, sizeof(packet.ip));
  
        udhcp_dump_packet(dhcp_pkt);
--      result = sendto(fd, &packet, IP_UPD_DHCP_SIZE - padding, /*flags:*/ 0,
+-      result = sendto(fd, &packet, IP_UDP_DHCP_SIZE - padding, /*flags:*/ 0,
 +      result = sendto(fd, &packet, p_len, /*flags:*/ 0,
                        (struct sockaddr *) &dest_sll, sizeof(dest_sll));
        msg = "sendto";
   ret_close:
-@@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -246,7 +239,6 @@ int FAST_FUNC udhcp_send_kernel_packet(struct dhcp_packet *dhcp_pkt,
                uint32_t dest_nip, int dest_port)
  {
        struct sockaddr_in client;
@@ -86,7 +88,7 @@
        int fd;
        int result = -1;
        const char *msg;
-@@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -277,9 +269,7 @@ int FAST_FUNC udhcp_send_kernel_packet(struct dhcp_packet *dhcp_pkt,
        }
  
        udhcp_dump_packet(dhcp_pkt);
index 0bf6ff0..18a5996 100644 (file)
@@ -1,24 +1,26 @@
+diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
+index 0a60261..eaf2b4b 100644
 --- a/networking/udhcp/common.c
 +++ b/networking/udhcp/common.c
-@@ -54,6 +54,8 @@ const struct dhcp_optflag dhcp_optflags[
-       { OPTION_SIP_SERVERS                      , 0x78 }, /* DHCP_SIP_SERVERS   */
+@@ -56,6 +56,8 @@ const struct dhcp_optflag dhcp_optflags[] = {
  #endif
        { OPTION_STATIC_ROUTES                    , 0x79 }, /* DHCP_STATIC_ROUTES */
+       { OPTION_STATIC_ROUTES                    , 0xf9 }, /* DHCP_MS_STATIC_ROUTES */
 +      { OPTION_6RD                              , 0xd4 }, /* DHCP_6RD (RFC)     */
 +      { OPTION_6RD                              , 0x96 }, /* DHCP_6RD (Comcast) */
        { OPTION_STRING                           , 0xfc }, /* DHCP_WPAD          */
  
        /* Options below have no match in dhcp_option_strings[],
-@@ -114,6 +116,8 @@ const char dhcp_option_strings[] ALIGN1 
+@@ -118,6 +120,8 @@ const char dhcp_option_strings[] ALIGN1 =
  // doesn't work in udhcpd.conf since OPTION_STATIC_ROUTES
  // is not handled yet by "string->option" conversion code:
        "staticroutes" "\0"/* DHCP_STATIC_ROUTES  */
 +      "ip6rd" "\0"       /* DHCP_6RD (RFC)      */
 +      "ip6rd" "\0"       /* DHCP_6RD (Comcast)  */
+       "msstaticroutes""\0"/* DHCP_MS_STATIC_ROUTES */
        "wpad" "\0"        /* DHCP_WPAD           */
        ;
-@@ -141,6 +145,7 @@ const uint8_t dhcp_option_lengths[] ALIG
+@@ -146,6 +150,7 @@ const uint8_t dhcp_option_lengths[] ALIGN1 = {
        [OPTION_S32] =     4,
        /* Just like OPTION_STRING, we use minimum length here */
        [OPTION_STATIC_ROUTES] = 5,
  };
  
  
+diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h
+index f8f18ff..56cd8b0 100644
+--- a/networking/udhcp/common.h
++++ b/networking/udhcp/common.h
+@@ -88,6 +88,7 @@ enum {
+       OPTION_S32,
+       OPTION_BIN,
+       OPTION_STATIC_ROUTES,
++      OPTION_6RD,
+ #if ENABLE_FEATURE_UDHCP_RFC3397
+       OPTION_DNS_STRING,  /* RFC1035 compressed domain name list */
+       OPTION_SIP_SERVERS,
+diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
+index 78aabed..993326f 100644
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -45,6 +45,7 @@ static const uint8_t len_of_option_as_st
+@@ -45,6 +45,7 @@ static const uint8_t len_of_option_as_string[] = {
        [OPTION_IP              ] = sizeof("255.255.255.255 "),
        [OPTION_IP_PAIR         ] = sizeof("255.255.255.255 ") * 2,
        [OPTION_STATIC_ROUTES   ] = sizeof("255.255.255.255/32 255.255.255.255 "),
@@ -36,7 +52,7 @@
        [OPTION_STRING          ] = 1,
  #if ENABLE_FEATURE_UDHCP_RFC3397
        [OPTION_DNS_STRING      ] = 1, /* unused */
-@@ -68,6 +69,23 @@ static int sprint_nip(char *dest, const 
+@@ -68,6 +69,23 @@ static int sprint_nip(char *dest, const char *pre, const uint8_t *ip)
        return sprintf(dest, "%s%u.%u.%u.%u", pre, ip[0], ip[1], ip[2], ip[3]);
  }
  
@@ -60,7 +76,7 @@
  /* really simple implementation, just count the bits */
  static int mton(uint32_t mask)
  {
-@@ -177,6 +195,70 @@ static NOINLINE char *xmalloc_optname_op
+@@ -177,6 +195,70 @@ static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_
  
                        return ret;
                }
  #if ENABLE_FEATURE_UDHCP_RFC3397
                case OPTION_DNS_STRING:
                        /* unpack option into dest; use ret for prefix (i.e., "optname=") */
---- a/networking/udhcp/common.h
-+++ b/networking/udhcp/common.h
-@@ -88,6 +88,7 @@ enum {
-       OPTION_S32,
-       OPTION_BIN,
-       OPTION_STATIC_ROUTES,
-+      OPTION_6RD,
- #if ENABLE_FEATURE_UDHCP_RFC3397
-       OPTION_DNS_STRING,  /* RFC1035 compressed domain name list */
-       OPTION_SIP_SERVERS,
diff --git a/package/busybox/patches/245-udhcpc_add_msroutes_option.patch b/package/busybox/patches/245-udhcpc_add_msroutes_option.patch
deleted file mode 100644 (file)
index e851447..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/networking/udhcp/common.c
-+++ b/networking/udhcp/common.c
-@@ -53,7 +53,8 @@ const struct dhcp_optflag dhcp_optflags[
-       { OPTION_DNS_STRING | OPTION_LIST         , 0x77 }, /* DHCP_DOMAIN_SEARCH */
-       { OPTION_SIP_SERVERS                      , 0x78 }, /* DHCP_SIP_SERVERS   */
- #endif
--      { OPTION_STATIC_ROUTES                    , 0x79 }, /* DHCP_STATIC_ROUTES */
-+      { OPTION_STATIC_ROUTES                    , 0x79 }, /* DHCP_STATIC_ROUTES (RFC)       */
-+      { OPTION_STATIC_ROUTES                    , 0xf9 }, /* DHCP_STATIC_ROUTES (Microsoft) */
-       { OPTION_6RD                              , 0xd4 }, /* DHCP_6RD (RFC)     */
-       { OPTION_6RD                              , 0x96 }, /* DHCP_6RD (Comcast) */
-       { OPTION_STRING                           , 0xfc }, /* DHCP_WPAD          */
-@@ -115,7 +116,8 @@ const char dhcp_option_strings[] ALIGN1 
- #endif
- // doesn't work in udhcpd.conf since OPTION_STATIC_ROUTES
- // is not handled yet by "string->option" conversion code:
--      "staticroutes" "\0"/* DHCP_STATIC_ROUTES  */
-+      "staticroutes" "\0"  /* DHCP_STATIC_ROUTES (RFC)       */
-+      "msstaticroutes" "\0"/* DHCP_STATIC_ROUTES (Microsoft) */
-       "ip6rd" "\0"       /* DHCP_6RD (RFC)      */
-       "ip6rd" "\0"       /* DHCP_6RD (Comcast)  */
-       "wpad" "\0"        /* DHCP_WPAD           */
index b7dd5d9..d9d2f14 100644 (file)
@@ -1,6 +1,8 @@
+diff --git a/include/applets.src.h b/include/applets.src.h
+index f4fab53..f97f2d8 100644
 --- a/include/applets.src.h
 +++ b/include/applets.src.h
-@@ -278,6 +278,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
+@@ -256,6 +256,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_DROP))
  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))
@@ -8,9 +10,30 @@
  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))
+diff --git a/include/usage.src.h b/include/usage.src.h
+index 30fef24..ac78992 100644
+--- 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
+@@ -2706,6 +2707,9 @@ INSERT
+        " or\n" \
+        "$ nameif -c /etc/my_mactab_file\n" \
++#define netmsg_trivial_usage NOUSAGE_STR
++#define netmsg_full_usage ""
++
+ #define nmeter_trivial_usage \
+        "format_string"
+ #define nmeter_full_usage "\n\n" \
+diff --git a/networking/Config.src b/networking/Config.src
+index 6dd7df7..4682dd3 100644
 --- a/networking/Config.src
 +++ b/networking/Config.src
-@@ -623,6 +623,12 @@ config FEATURE_NAMEIF_EXTENDED
+@@ -640,6 +640,12 @@ config FEATURE_NAMEIF_EXTENDED
            new_interface_name  mac=00:80:C8:38:91:B5
            new_interface_name  00:80:C8:38:91:B5
  
@@ -23,6 +46,8 @@
  config NETSTAT
        bool "netstat"
        default y
+diff --git a/networking/Kbuild.src b/networking/Kbuild.src
+index f41a2df..6070a40 100644
 --- a/networking/Kbuild.src
 +++ b/networking/Kbuild.src
 @@ -27,6 +27,7 @@ lib-$(CONFIG_IP)           += ip.o
@@ -33,6 +58,9 @@
  lib-$(CONFIG_NETSTAT)      += netstat.o
  lib-$(CONFIG_NSLOOKUP)     += nslookup.o
  lib-$(CONFIG_NTPD)         += ntpd.o
+diff --git a/networking/netmsg.c b/networking/netmsg.c
+new file mode 100644
+index 0000000..43aba0d
 --- /dev/null
 +++ b/networking/netmsg.c
 @@ -0,0 +1,63 @@
 +      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/610-syslog-remote-retry-connection.patch b/package/busybox/patches/610-syslog-remote-retry-connection.patch
deleted file mode 100644 (file)
index 94cd3de..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/sysklogd/syslogd.c
-+++ b/sysklogd/syslogd.c
-@@ -555,6 +555,7 @@ static void do_syslogd(void)
- {
-       int sock_fd;
- #if ENABLE_FEATURE_REMOTE_LOG
-+      int send_err = 0;
-       llist_t *item;
- #endif
- #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 */
--                      /* 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,
-+                              &(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 */
-+                      switch (send_err) {
-+                              case ECONNRESET:
-+                              case EDESTADDRREQ:
-+                              case EISCONN:
-+                              case ENOTCONN:
-+                              case EPIPE:
-+                                      close(rh->remoteFD);
-+                                      rh->remoteFD = -1;
-+                                      break;
-+                      }
-               }
- #endif
-               if (!ENABLE_FEATURE_REMOTE_LOG || (option_mask32 & OPT_locallog)) {
diff --git a/package/busybox/patches/920-macosx-endian.patch b/package/busybox/patches/920-macosx-endian.patch
deleted file mode 100644 (file)
index b895446..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/include/platform.h
-+++ b/include/platform.h
-@@ -154,14 +154,14 @@
- # include <sex.h>
- # define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN)
- # define __BYTE_ORDER BYTE_ORDER
--#elif defined __FreeBSD__
-+#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined (__NetBSD__) || defined(__APPLE__)
- # include <sys/resource.h>    /* rlimit */
- # include <machine/endian.h>
- # define bswap_64 __bswap64
- # define bswap_32 __bswap32
- # define bswap_16 __bswap16
- # define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN)
--#elif !defined __APPLE__
-+#else
- # include <byteswap.h>
- # include <endian.h>
- #endif
-@@ -172,9 +172,15 @@
- #elif defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN
- # define BB_BIG_ENDIAN 1
- # define BB_LITTLE_ENDIAN 0
-+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN
-+# define BB_BIG_ENDIAN 1
-+# define BB_LITTLE_ENDIAN 0
- #elif (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) || defined(__386__)
- # define BB_BIG_ENDIAN 0
- # define BB_LITTLE_ENDIAN 1
-+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _LITTLE_ENDIAN
-+# define BB_BIG_ENDIAN 0
-+# define BB_LITTLE_ENDIAN 1
- #else
- # error "Can't determine endianness"
- #endif