[package] busybox: update to v1.12.4 (partially closes: #4279)
authorNicolas Thill <nico@openwrt.org>
Mon, 25 May 2009 13:52:31 +0000 (13:52 +0000)
committerNicolas Thill <nico@openwrt.org>
Mon, 25 May 2009 13:52:31 +0000 (13:52 +0000)
SVN-Revision: 16053

40 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/debianutils/Config.in
package/busybox/config/e2fsprogs/Config.in
package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
package/busybox/config/editors/Config.in
package/busybox/config/findutils/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/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/001-init_avoid_loop_opening_tty.patch
package/busybox/patches/003-brctl_show_fix.patch [new file with mode: 0644]
package/busybox/patches/110-wget_getopt_fix.patch
package/busybox/patches/240-udhcpc_retries.patch
package/busybox/patches/243-udhcpc_changed_ifindex.patch
package/busybox/patches/250-ash_export-n.patch
package/busybox/patches/300-netmsg.patch
package/busybox/patches/310-passwd_access.patch
package/busybox/patches/340-lock_util.patch
package/busybox/patches/350-httpd_redir.patch
package/busybox/patches/410-httpd_cgi_headers.patch
package/busybox/patches/430-uniq_memleak.patch
package/busybox/patches/440-httpd_chdir.patch
package/busybox/patches/450-httpd_accept_header.patch
package/busybox/patches/470-insmod_search.patch
package/busybox/patches/480-vi_search.patch
package/busybox/patches/510-awk_include.patch
package/busybox/patches/530-unsigned_bitwise_ops.patch
package/busybox/patches/802-brctl_linux24.patch
package/busybox/target-config.in

index 3a04637..25828da 100644 (file)
@@ -1,4 +1,4 @@
-# 
+#
 # Copyright (C) 2006-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.11.3
-PKG_RELEASE:=6
+PKG_VERSION:=1.12.4
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.busybox.net/downloads \
                http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=4355ad8bb57ce3b39ad827566c1a6da3
+PKG_MD5SUM:=5b8c427bf596732d6b6156672e6e093f
 
 include $(INCLUDE_DIR)/package.mk
 
index 62b80d6..73e8792 100644 (file)
@@ -20,6 +20,15 @@ config BUSYBOX_CONFIG_DESKTOP
          Select this only if you plan to use busybox on full-blown
          desktop machine with common Linux distro, not on an embedded box.
 
+config BUSYBOX_CONFIG_EXTRA_COMPAT
+       bool "Provide compatible behavior for rare corner cases (bigger code)"
+       default n
+       help
+         This option makes grep, sed etc handle rare corner cases
+         (embedded NUL bytes and such). This makes code bigger and uses
+         some GNU extensions in libc. You probably only need this option
+         if you plan to run busybox on desktop.
+
 config BUSYBOX_CONFIG_FEATURE_ASSUME_UNICODE
        bool "Assume that 1:1 char/glyph correspondence is not true"
        default n
@@ -39,7 +48,7 @@ choice
          There are 3 ways BusyBox can handle buffer allocations:
          - Use malloc. This costs code size for the call to xmalloc.
          - Put them on stack. For some very small machines with limited stack
-           space, this can be deadly.  For most folks, this works just fine.
+           space, this can be deadly. For most folks, this works just fine.
          - Put them in BSS. This works beautifully for computers with a real
            MMU (and OS support), but wastes runtime RAM for uCLinux. This
            behavior was the only one available for BusyBox versions 0.48 and
@@ -71,8 +80,8 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
        select 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
-         busybox binary.  In the default configuration, this will add about
+         busybox is invoked with --help. This will add a lot of text to the
+         busybox binary. In the default configuration, this will add about
          13k, but it can add much more depending on your configuration.
 
 config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
@@ -85,15 +94,15 @@ config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
 
          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,
+         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_FEATURE_INSTALLER
        bool "Support --install [-s] to install applet links at runtime"
        default n
        help
-         Enable 'busybox --install [-s]' support.  This will allow you to use
+         Enable 'busybox --install [-s]' support. This will allow you to use
          busybox at runtime to create hard links or symlinks for all the
          applets that are compiled into busybox.
 
@@ -117,7 +126,7 @@ config BUSYBOX_CONFIG_FEATURE_DEVPTS
        help
          Enable if you want BusyBox to use Unix98 PTY support. If enabled,
          busybox will use /dev/ptmx for the master side of the pseudoterminal
-         and /dev/pts/<number> for the slave side.  Otherwise, BSD style
+         and /dev/pts/<number> for the slave side. Otherwise, BSD style
          /dev/ttyp<number> will be used. To use this option, you should have
          devpts mounted.
 
@@ -126,7 +135,7 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
        default n
        help
          As a size optimization, busybox normally exits without explicitly
-         freeing dynamically allocated memory or closing files.  This saves
+         freeing dynamically allocated memory or closing files. This saves
          space since the OS will clean up for us, but it can confuse debuggers
          like valgrind, which report tons of memory and resource leaks.
 
@@ -151,7 +160,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID
          If you're 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
+         one that needs it. The applets currently marked to need the suid bit
          are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs,
          and vlock.
 
@@ -161,7 +170,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
        depends on BUSYBOX_CONFIG_FEATURE_SUID
        help
          Allow the SUID / SGID state of an applet to be determined at runtime
-         by checking /etc/busybox.conf.  (This is sort of a poor man's sudo.)
+         by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
          The format of this file is as follows:
 
          <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
@@ -169,11 +178,12 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
          An example might help:
 
          [SUID]
-         su = ssx root.0 # applet su can be run by anyone and runs with euid=0/egid=0
+         su = ssx root.0 # applet su can be run by anyone and runs with
+                         # euid=0/egid=0
          su = ssx        # exactly the same
 
-         mount = sx- root.disk # applet mount can be run by root and members of group disk
-                               # and runs with euid=0
+         mount = sx- root.disk # applet mount can be run by root and members
+                               # of group disk and runs with euid=0
 
          cp = --- # disable applet cp for everyone
 
@@ -192,14 +202,15 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
        default n
        depends on BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
        help
-         /etc/busybox.conf should be readable by the user needing the SUID, check
-         this option to avoid users to be notified about missing permissions.
+         /etc/busybox.conf should be readable by the user needing the SUID,
+         check this option to avoid users to be notified about missing
+         permissions.
 
 config BUSYBOX_CONFIG_SELINUX
        bool "Support NSA Security Enhanced Linux"
        default n
        help
-         Enable support for SELinux in applets ls, ps, and id.  Also provide
+         Enable support for SELinux in applets ls, ps, and id. Also provide
          the option of compiling in SELinux applets.
 
          If you do not have a complete SELinux userland installed, this stuff
@@ -234,9 +245,9 @@ config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
        default "/proc/self/exe"
        help
          When Busybox applets need to run other busybox applets, BusyBox
-         sometimes needs to exec() itself.  When the /proc filesystem is
+         sometimes needs to exec() itself. When the /proc filesystem is
          mounted, /proc/self/exe always points to the currently running
-         executable.  If you haven't got /proc, set this to wherever you
+         executable. If you haven't got /proc, set this to wherever you
          want to run BusyBox from.
 
 # These are auto-selected by other options
@@ -303,7 +314,7 @@ config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
          busybox code.
 
          This feature allows every applet to be built as a tiny
-         separate executable.  Enabling it for "one big busybox binary"
+         separate executable. Enabling it for "one big busybox binary"
          approach serves no purpose and increases code size.
          You should almost certainly say "no" to this.
 
@@ -320,7 +331,7 @@ config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
 ###      standalone application which uses libbusybox say 'Y'.
 ###
 ###      Note: libbusybox is GPL, not LGPL, and exports no stable API that
-###      might act as a copyright barrier.  We can and will modify the
+###      might act as a copyright barrier. We can and will modify the
 ###      exported function set between releases (even minor version number
 ###      changes), and happily break out-of-tree features.
 ###
@@ -329,7 +340,7 @@ config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
 config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
        bool "Produce a binary for each applet, linked against libbusybox"
        default n
-       depends on !BUSYBOX_CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+       depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
        help
          If your CPU architecture doesn't allow for sharing text/rodata
          sections of running binaries, but allows for runtime dynamic
@@ -347,7 +358,7 @@ config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
 config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
        bool "Produce additional busybox binary linked against libbusybox"
        default n
-       depends on !BUSYBOX_CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+       depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
        help
          Build busybox, dynamically linked against libbusybox.so.N.N.N.
 
@@ -378,11 +389,11 @@ config BUSYBOX_CONFIG_LFS
        select BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
        help
          If you want to build BusyBox with large file support, then enable
-         this option.  This will have no effect if your kernel or your C
-         library lacks large file support for large files.  Some of the
+         this option. This will have no effect if your kernel or your C
+         library lacks large file support for large files. Some of the
          programs that can benefit from large file support include dd, gzip,
-         cp, mount, tar, and many others.  If you want to access files larger
-         than 2 Gigabytes, enable this option.  Otherwise, leave it set to 'N'.
+         cp, mount, tar, and many others. If you want to access files larger
+         than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
 
 config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
        string "Cross Compiler prefix"
@@ -403,20 +414,20 @@ config BUSYBOX_CONFIG_DEBUG
        default n
        help
          Say Y here if you wish to examine BusyBox internals while applets are
-         running.  This increases the size of the binary considerably, and
-         should only be used when doing development.  If you are doing
+         running. This increases the size of the binary considerably, and
+         should only be used when doing development. If you are doing
          development and want to debug BusyBox, answer Y.
 
          Most people should answer N.
 
 config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
-       bool "Disable compiler optimizations."
+       bool "Disable compiler optimizations"
        default n
        depends on BUSYBOX_CONFIG_DEBUG
        help
          The compiler's optimization of source code can eliminate and reorder
          code, resulting in an executable that's hard to understand when
-         stepping through it with a debugger.  This switches it off, resulting
+         stepping through it with a debugger. This switches it off, resulting
          in a much bigger executable that more closely matches the source
          code.
 
@@ -433,27 +444,28 @@ choice
        default BUSYBOX_CONFIG_NO_DEBUG_LIB
        help
          Using an additional debugging library will make BusyBox become
-         considerable larger and will cause it to run more slowly.  You
+         considerable larger and will cause it to run more slowly. You
          should always leave this option disabled for production use.
 
          dmalloc support:
          ----------------
          This enables compiling with dmalloc ( http://dmalloc.com/ )
          which is an excellent public domain mem leak and malloc problem
-         detector.  To enable dmalloc, before running busybox you will
+         detector. To enable dmalloc, before running busybox you will
          want to properly set your environment, for example:
            export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
          The 'debug=' value is generated using the following command
-           dmalloc -p log-stats -p log-non-free -p log-bad-space -p log-elapsed-time \
-              -p check-fence -p check-heap -p check-lists -p check-blank \
-              -p check-funcs -p realloc-copy -p allow-free-null
+           dmalloc -p log-stats -p log-non-free -p log-bad-space \
+              -p log-elapsed-time -p check-fence -p check-heap \
+              -p check-lists -p check-blank -p check-funcs -p realloc-copy \
+              -p allow-free-null
 
          Electric-fence support:
          -----------------------
-         This enables compiling with Electric-fence support.  Electric
+         This enables compiling with Electric-fence support. Electric
          fence is another very useful malloc debugging library which uses
          your computer's virtual memory hardware to detect illegal memory
-         accesses.  This support will make BusyBox be considerable larger
+         accesses. This support will make BusyBox be considerable larger
          and run slower, so you should leave this option disabled unless
          you are hunting a hard to find memory problem.
 
@@ -475,9 +487,12 @@ config BUSYBOX_CONFIG_INCLUDE_SUSv2
        help
          This option will enable backwards compatibility with SuSv2,
          specifically, old-style numeric options ('command -1 <file>')
-         will be supported in head, tail, and fold.  (Note: should
+         will be supported in head, tail, and fold. (Note: should
          affect renice too.)
 
+config BUSYBOX_CONFIG_PARSE
+       bool "Uniform config file parser debugging applet: parse"
+
 endmenu
 
 menu 'Installation Options'
@@ -505,8 +520,8 @@ config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
 config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
        bool "as hard-links"
        help
-         Install applets as hard-links to the busybox binary. This might count
-         on a filesystem with few inodes.
+         Install applets as hard-links to the busybox binary. This might
+         count on a filesystem with few inodes.
 
 config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
        bool "as script wrappers"
@@ -542,7 +557,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 call the busybox
+         binary.
 
 endchoice
 
index d6120b7..3fd0fb9 100644 (file)
@@ -5,12 +5,36 @@
 
 menu "Archival Utilities"
 
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
+       bool "Make tar, rpm, modprobe etc understand .lzma data"
+       default n
+       help
+         Make tar, rpm, modprobe etc understand .lzma data.
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2
+       bool "Make tar, rpm, modprobe etc understand .bz2 data"
+       default y
+       help
+         Make tar, rpm, modprobe etc understand .bz2 data.
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
+       bool "Make tar, rpm, modprobe etc understand .gz data"
+       default y
+       help
+         Make tar, rpm, modprobe etc understand .gz data.
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
+       bool "Make tar and gunzip understand .Z data"
+       default n
+       help
+         Make tar and gunzip understand .Z data.
+
 config BUSYBOX_CONFIG_AR
        bool "ar"
        default n
        help
          ar is an archival utility program used to create, modify, and
-         extract contents from archives.  An archive is a single file holding
+         extract contents from archives. An archive is a single file holding
          a collection of other files in a structure that makes it possible to
          retrieve the original individual files (called archive members).
          The original files' contents, mode (permissions), timestamp, owner,
@@ -33,8 +57,8 @@ config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
        default n
        depends on BUSYBOX_CONFIG_AR
        help
-         By default the ar format can only store the first 15 characters of the
-         filename, this option removes that limitation.
+         By default the ar format can only store the first 15 characters of
+         the filename, this option removes that limitation.
          It supports the GNU ar long filename method which moves multiple long
          filenames into a the data section of a new ar entry.
 
@@ -43,7 +67,7 @@ config BUSYBOX_CONFIG_BUNZIP2
        default y
        help
          bunzip2 is a compression utility using the Burrows-Wheeler block
-         sorting text compression algorithm, and Huffman coding.  Compression
+         sorting text compression algorithm, and Huffman coding. Compression
          is generally considerably better than that achieved by more
          conventional LZ77/LZ78-based compressors, and approaches the
          performance of the PPM family of statistical compressors.
@@ -53,10 +77,10 @@ config BUSYBOX_CONFIG_BUNZIP2
 
 config BUSYBOX_CONFIG_BZIP2
        bool "bzip2"
-       default n
+       default y
        help
          bzip2 is a compression utility using the Burrows-Wheeler block
-         sorting text compression algorithm, and Huffman coding.  Compression
+         sorting text compression algorithm, and Huffman coding. Compression
          is generally considerably better than that achieved by more
          conventional LZ77/LZ78-based compressors, and approaches the
          performance of the PPM family of statistical compressors.
@@ -68,15 +92,15 @@ config BUSYBOX_CONFIG_CPIO
        bool "cpio"
        default n
        help
-         cpio is an archival utility program used to create, modify, and extract
-         contents from archives.
+         cpio is an archival utility program used to create, modify, and
+         extract contents from archives.
          cpio has 110 bytes of overheads for every stored file.
 
          This implementation of cpio can extract cpio archives created in the
          "newc" or "crc" format, it cannot create or modify them.
 
-         Unless you have a specific application which requires cpio, you should
-         probably say N here.
+         Unless you have a specific application which requires cpio, you
+         should probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_CPIO_O
        bool "Support for archive creation"
@@ -90,30 +114,33 @@ config BUSYBOX_CONFIG_DPKG
        bool "dpkg"
        default n
        help
-         dpkg is a medium-level tool to install, build, remove and manage Debian packages.
+         dpkg is a medium-level tool to install, build, remove and manage
+         Debian packages.
 
-         This implementation of dpkg has a number of limitations, you should use the
-         official dpkg if possible.
+         This implementation of dpkg has a number of limitations,
+         you should use the official dpkg if possible.
 
 config BUSYBOX_CONFIG_DPKG_DEB
        bool "dpkg_deb"
        default n
        help
-         dpkg-deb packs, unpacks and provides information about Debian archives.
+         dpkg-deb packs, unpacks and provides information about Debian
+         archives.
 
          This implementation of dpkg-deb cannot pack archives.
 
-         Unless you have a specific application which requires dpkg-deb, you should
-         probably say N here.
+         Unless you have a specific application which requires dpkg-deb,
+         say N here.
 
 config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
        bool "Extract only (-x)"
        default n
        depends on BUSYBOX_CONFIG_DPKG_DEB
        help
-         This reduces dpkg-deb to the equivalent of "ar -p <deb> data.tar.gz | tar -zx".
-         However it saves space as none of the extra dpkg-deb, ar or tar options are
-         needed, they are linked to internally.
+         This reduces dpkg-deb to the equivalent of
+         "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
+         of the extra dpkg-deb, ar or tar options are needed, they are linked
+         to internally.
 
 config BUSYBOX_CONFIG_GUNZIP
        bool "gunzip"
@@ -123,15 +150,6 @@ config BUSYBOX_CONFIG_GUNZIP
          You can use the `-t' option to test the integrity of
          an archive, without decompressing it.
 
-config BUSYBOX_CONFIG_FEATURE_GUNZIP_UNCOMPRESS
-       bool "Uncompress support"
-       default y
-       depends on BUSYBOX_CONFIG_GUNZIP
-       help
-         Enable if you want gunzip to have the ability to decompress
-         archives created by the program compress (not much
-         used anymore).
-
 config BUSYBOX_CONFIG_GZIP
        bool "gzip"
        default y
@@ -151,13 +169,6 @@ config BUSYBOX_CONFIG_RPM
        help
          Mini RPM applet - queries and extracts RPM packages.
 
-config BUSYBOX_CONFIG_FEATURE_RPM_BZ2
-       bool "Enable handling of rpms with bzip2-compressed data inside"
-       default n
-       depends on BUSYBOX_CONFIG_RPM
-       help
-         Enable handling of rpms with bzip2-compressed data inside.
-
 config BUSYBOX_CONFIG_TAR
        bool "tar"
        default y
@@ -166,6 +177,8 @@ config BUSYBOX_CONFIG_TAR
          create compressed archives. It's probably the most widely used
          UNIX archive program.
 
+if TAR
+
 config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
        bool "Enable archive creation"
        default y
@@ -174,45 +187,13 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
          If you enable this option you'll be able to create
          tar archives using the `-c' option.
 
-config BUSYBOX_CONFIG_FEATURE_TAR_GZIP
-       bool "Enable -z option"
-       default y
-       depends on BUSYBOX_CONFIG_TAR
-       help
-         If you enable this option tar will be able to call gzip,
-         when creating or extracting tar gziped archives.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
-       bool "Enable -j option to handle .tar.bz2 files"
-       default y
-       depends on BUSYBOX_CONFIG_TAR
-       help
-         If you enable this option you'll be able to extract
-         archives compressed with bzip2.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
-       bool "Enable -a option to handle .tar.lzma files"
-       default n
-       depends on BUSYBOX_CONFIG_TAR
-       help
-         If you enable this option you'll be able to extract
-         archives compressed with lzma.
-
-config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
-       bool "Enable -Z option"
-       default n
-       depends on BUSYBOX_CONFIG_TAR
-       help
-         If you enable this option tar will be able to call uncompress,
-         when extracting .tar.Z archives.
-
 config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
-       bool "Let tar autodetect gz/bz2 compresses tarballs"
+       bool "Autodetect gz/bz2 compressed tarballs"
        default n
-       depends on BUSYBOX_CONFIG_FEATURE_TAR_GZIP || BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
+       depends on BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
        help
          With this option tar can automatically detect gzip/bzip2 compressed
-         tarballs. Currently it works only on seekable streams.
+         tarballs. Currently it works only on files (not pipes etc).
 
 config BUSYBOX_CONFIG_FEATURE_TAR_FROM
        bool "Enable -X (exclude from) and -T (include from) options)"
@@ -237,8 +218,9 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
        depends on BUSYBOX_CONFIG_TAR
        help
          This option is required to unpack archives created by some old
-         version of Sun's tar (it was calculating checksum using signed arithmetic).
-         It is said to be fixed in newer Sun tar, but "old" tarballs still exist.
+         version of Sun's tar (it was calculating checksum using signed
+         arithmetic). It is said to be fixed in newer Sun tar, but "old"
+         tarballs still exist.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
        bool "Support for GNU tar extensions (long filenames)"
@@ -264,6 +246,8 @@ config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
          listings (-t) and preserving permissions when unpacking (-p).
          +200 bytes.
 
+endif #tar
+
 config BUSYBOX_CONFIG_UNCOMPRESS
        bool "uncompress"
        default n
@@ -276,7 +260,7 @@ config BUSYBOX_CONFIG_UNLZMA
        default n
        help
          unlzma is a compression utility using the Lempel-Ziv-Markov chain
-         compression algorithm, and range coding.  Compression
+         compression algorithm, and range coding. Compression
          is generally considerably better than that achieved by the bzip2
          compressors.
 
@@ -304,41 +288,4 @@ config BUSYBOX_CONFIG_UNZIP
          current directory. Use the `-d' option to extract to a
          directory of your choice.
 
-comment "Common options for cpio and tar"
-       depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
-
-comment "Common options for dpkg and dpkg_deb"
-       depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
-
-config BUSYBOX_CONFIG_FEATURE_DEB_TAR_GZ
-       bool "gzip debian packages (normal)"
-       default n if BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
-       depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
-       help
-         This is the default compression method inside the debian ar file.
-
-         If you want compatibility with standard .deb's you should say yes here.
-
-config BUSYBOX_CONFIG_FEATURE_DEB_TAR_BZ2
-       bool "bzip2 debian packages"
-       default n
-       depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
-       help
-         This allows dpkg and dpkg-deb to extract deb's that are compressed internally
-         with bzip2 instead of gzip.
-
-         You only want this if you are creating your own custom debian packages that
-         use an internal control.tar.bz2 or data.tar.bz2.
-
-config BUSYBOX_CONFIG_FEATURE_DEB_TAR_LZMA
-       bool "lzma debian packages"
-       default n
-       depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
-       help
-         This allows dpkg and dpkg-deb to extract deb's that are compressed
-         internally with lzma instead of gzip.
-
-         You only want this if you are creating your own custom debian
-         packages that use an internal control.tar.lzma or data.tar.lzma.
-
 endmenu
index 7f0764f..02fcef4 100644 (file)
@@ -95,6 +95,12 @@ config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
        help
          Support long options for the setconsole applet.
 
+config BUSYBOX_CONFIG_SETFONT
+       bool "setfont"
+       default n
+       help
+         Allows to load console screen map. Useful for i18n.
+
 config BUSYBOX_CONFIG_SETKEYCODES
        bool "setkeycodes"
        default n
@@ -108,4 +114,10 @@ config BUSYBOX_CONFIG_SETLOGCONS
        help
          This program redirects the output console of kernel messages.
 
+config BUSYBOX_CONFIG_SHOWKEY
+       bool "showkey"
+       default n
+       help
+         Shows keys pressed.
+
 endmenu
index 53fb74a..93f10e3 100644 (file)
@@ -10,7 +10,7 @@ config BUSYBOX_CONFIG_BASENAME
        default y
        help
          basename is used to strip the directory and suffix from filenames,
-         leaving just the filename itself.  Enable this option if you wish
+         leaving just the filename itself. Enable this option if you wish
          to enable the 'basename' utility.
 
 config BUSYBOX_CONFIG_CAL
@@ -24,7 +24,7 @@ config BUSYBOX_CONFIG_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.
+         output. Enable this option if you wish to enable the 'cat' utility.
 
 config BUSYBOX_CONFIG_CATV
        bool "catv"
@@ -117,7 +117,8 @@ config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
          print to standard error the number of records read and written
          so far, then to resume copying.
 
-         $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid
+         $ dd if=/dev/zero of=/dev/null&
+         $ pid=$! kill -USR1 $pid; sleep 1; kill $pid
          10899206+0 records in 10899206+0 records out
 
 config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
@@ -232,7 +233,7 @@ config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
        default n
        depends on BUSYBOX_CONFIG_EXPR
        help
-         Enable 64-bit math support in the expr applet.  This will make
+         Enable 64-bit math support in the expr applet. This will make
          the applet slightly larger, but will allow computation with very
          large numbers.
 
@@ -509,18 +510,33 @@ config BUSYBOX_CONFIG_SHA1SUM
          Compute and check SHA1 message digest
 
 config BUSYBOX_CONFIG_SLEEP
-       bool "sleep (single integer arg with no suffix)"
+       bool "sleep"
        default y
        help
-         sleep is used to pause for a specified number of seconds,
+         sleep is used to pause for a specified number of seconds.
+         It comes in 3 versions:
+         - small: takes one integer parameter
+         - fancy: takes multiple integer arguments with suffixes:
+           sleep 1d 2h 3m 15s
+         - fancy with fractional numbers:
+           sleep 2.3s 4.5h sleeps for 16202.3 seconds
+         Last one is "the most compatible" with coreutils sleep,
+         but it adds around 1k of code.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
-       bool "Enable multiple integer args and optional time suffixes"
+       bool "Enable multiple arguments and s/m/h/d suffixes"
        default y
        depends on BUSYBOX_CONFIG_SLEEP
        help
          Allow sleep to pause for specified minutes, hours, and days.
 
+config BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP
+       bool "Enable fractional arguments"
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
+       help
+         Allow for fractional numeric parameters.
+
 config BUSYBOX_CONFIG_SORT
        bool "sort"
        default y
@@ -532,9 +548,9 @@ config BUSYBOX_CONFIG_FEATURE_SORT_BIG
        default n
        depends on BUSYBOX_CONFIG_SORT
        help
-         Without this, sort only supports  -r, -u, and an integer version
-         of -n.  Selecting this adds sort keys, floating point support, and
-         more.  This adds a little over 3k to a nonstatic build on x86.
+         Without this, sort only supports -r, -u, and an integer version
+         of -n. Selecting this adds sort keys, floating point support, and
+         more. This adds a little over 3k to a nonstatic build on x86.
 
          The SuSv3 sort standard is available at:
          http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
@@ -566,7 +582,7 @@ config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
        depends on BUSYBOX_CONFIG_STAT
        help
          Without this, stat will not support the '-c format' option where
-         users can pass a custom format string for output.  This adds about
+         users can pass a custom format string for output. This adds about
          7k to a nonstatic build on amd64.
 
 config BUSYBOX_CONFIG_STTY
@@ -627,7 +643,7 @@ config BUSYBOX_CONFIG_TEST
        default y
        help
          test is used to check file types and compare values,
-         returning an appropriate exit code.  The bash shell
+         returning an appropriate exit code. The bash shell
          has test built in, ash can build it in optionally.
 
 config BUSYBOX_CONFIG_FEATURE_TEST_64
@@ -738,7 +754,7 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
        default n
        depends on BUSYBOX_CONFIG_WC
        help
-         Use "unsigned long long" in wc for count variables
+         Use "unsigned long long" in wc for count variables.
 
 config BUSYBOX_CONFIG_WHO
        bool "who"
index bc37c15..b2118c8 100644 (file)
@@ -26,8 +26,8 @@ config BUSYBOX_CONFIG_RUN_PARTS
          It is useful to set up a directory like cron.daily, where you need to
          execute all the scripts in that directory.
 
-         In this implementation of run-parts some features (such as report mode)
-         are not implemented.
+         In this implementation of run-parts some features (such as report
+         mode) are not implemented.
 
          Unless you know that run-parts is used in some of your scripts
          you can safely say N here.
index 50a073e..e0e2c1e 100644 (file)
@@ -38,7 +38,7 @@ config BUSYBOX_CONFIG_LSATTR
 ###    bool "mke2fs"
 ###    default n
 ###    help
-###      mke2fs is used to create an ext2/ext3 filesystem.  The normal compat
+###      mke2fs is used to create an ext2/ext3 filesystem. The normal compat
 ###      symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 
 ### config TUNE2FS
index e9ef3dc..0b7ce4d 100644 (file)
@@ -38,7 +38,7 @@ config BUSYBOX_CONFIG_MKE2FS
        bool "mke2fs"
        default n
        help
-         mke2fs is used to create an ext2/ext3 filesystem.  The normal compat
+         mke2fs is used to create an ext2/ext3 filesystem. The normal compat
          symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 
 config BUSYBOX_CONFIG_TUNE2FS
index 4f69381..fd1da4b 100644 (file)
@@ -9,7 +9,7 @@ config BUSYBOX_CONFIG_AWK
        bool "awk"
        default y
        help
-         Awk is used as a pattern scanning and processing language.  This is
+         Awk is used as a pattern scanning and processing language. This is
          the BusyBox implementation of that programming language.
 
 config BUSYBOX_CONFIG_FEATURE_AWK_MATH
@@ -64,7 +64,7 @@ config BUSYBOX_CONFIG_ED
        default n
        help
          The original 1970's Unix text editor, from the days of teletypes.
-         Small, simple, evil.  Part of SUSv3.  If you're not already using
+         Small, simple, evil. Part of SUSv3. If you're not already using
          this, you don't need it.
 
 config BUSYBOX_CONFIG_PATCH
@@ -84,9 +84,9 @@ config BUSYBOX_CONFIG_VI
        bool "vi"
        default y
        help
-         'vi' is a text editor.  More specifically, it is the One True
-         text editor <grin>.  It does, however, have a rather steep
-         learning curve.  If you are not already comfortable with 'vi'
+         'vi' is a text editor. More specifically, it is the One True
+         text editor <grin>. It does, however, have a rather steep
+         learning curve. If you are not already comfortable with 'vi'
          you may wish to use something else.
 
 config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
@@ -113,7 +113,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_COLON
        default y
        depends on BUSYBOX_CONFIG_VI
        help
-         Enable a limited set of colon commands for vi.  This does not
+         Enable a limited set of colon commands for vi. This does not
          provide an "ex" mode.
 
 config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
@@ -137,7 +137,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
        default y
        depends on BUSYBOX_CONFIG_VI
        help
-         Selecting this option will make busybox vi signal aware.  This will
+         Selecting this option will make busybox vi signal aware. This will
          make busybox vi support SIGWINCH to deal with Window Changes, catch
          Ctrl-Z and Ctrl-C and alarms.
 
index 0477555..54ef44e 100644 (file)
@@ -17,7 +17,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
        depends on BUSYBOX_CONFIG_FIND
        help
          Causes output names to be separated by a null character
-         rather than a newline.  This allows names that contain
+         rather than a newline. This allows names that contain
          newlines and other whitespace to be more easily
          interpreted by other programs.
 
@@ -182,7 +182,7 @@ config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
-         Enabled support for extended regular expressions.  Extended
+         Enabled support for extended regular expressions. Extended
          regular expressions allow for alternation (foo|bar), grouping,
          and various repetition operators.
 
index 6e3bf9d..07f6fae 100644 (file)
@@ -80,7 +80,7 @@ config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
        help
          If this option is enabled and the file /.init_enable_core
          exists, then init will call setrlimit() to allow unlimited
-         core file sizes.  If this option is disabled, processes
+         core file sizes. If this option is disabled, processes
          will not generate any core files.
 
 
@@ -90,7 +90,7 @@ config BUSYBOX_CONFIG_FEATURE_INITRD
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
-         Legacy support for running init under the old-style initrd.  Allows
+         Legacy support for running init under the old-style initrd. Allows
          the name linuxrc to act as init, and it doesn't assume init is PID 1.
 
          This does not apply to initramfs, which runs /init as PID 1 and
@@ -106,7 +106,7 @@ config BUSYBOX_CONFIG_MESG
        bool "mesg"
        default y
        help
-         Mesg controls access to your terminal by others.  It is typically
+         Mesg controls access to your terminal by others. It is typically
          used to allow or disallow other users to write to your terminal
 
 endmenu
index 879abf0..e456dd8 100644 (file)
@@ -62,7 +62,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_VI
        default n
        depends on BUSYBOX_CONFIG_FEATURE_EDITING
        help
-         Enable vi-style line editing.  In shells, this mode can be
+         Enable vi-style line editing. In shells, this mode can be
          turned on and off with "set -o vi" and "set +o vi".
 
 config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
index a0f1ca9..fa9f65e 100644 (file)
@@ -9,7 +9,7 @@ config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
        bool "Support for shadow passwords"
        default n
        help
-         Build support for shadow password in /etc/shadow.  This file is only
+         Build support for shadow password in /etc/shadow. This file is only
          readable by root and thus the encrypted passwords are no longer
          publicly readable.
 
@@ -18,17 +18,17 @@ config BUSYBOX_CONFIG_USE_BB_PWD_GRP
        default n
        help
          If you leave this disabled, busybox will use the system's password
-         and group functions.  And if you are using the GNU C library
+         and group functions. And if you are using the GNU C library
          (glibc), you will then need to install the /etc/nsswitch.conf
          configuration file and the required /lib/libnss_* libraries in
-         order for the password and group functions to work.  This generally
+         order for the password and group functions to work. This generally
          makes your embedded system quite a bit larger.
 
          Enabling this option will cause busybox to directly access the
          system's /etc/password, /etc/group files (and your system will be
          smaller, and I will get fewer emails asking about how glibc NSS
-         works).  When this option is enabled, you will not be able to use
-         PAM to access remote LDAP password servers and whatnot.  And if you
+         works). When this option is enabled, you will not be able to use
+         PAM to access remote LDAP password servers and whatnot. And if you
          want hostname resolution to work with glibc, you still need the
          /lib/libnss_* libraries.
 
@@ -44,16 +44,16 @@ config BUSYBOX_CONFIG_USE_BB_SHADOW
        depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
        help
          If you leave this disabled, busybox will use the system's shadow
-         password handling functions.  And if you are using the GNU C library
+         password handling functions. And if you are using the GNU C library
          (glibc), you will then need to install the /etc/nsswitch.conf
          configuration file and the required /lib/libnss_* libraries in
-         order for the shadow password functions to work.  This generally
+         order for the shadow password functions to work. This generally
          makes your embedded system quite a bit larger.
 
          Enabling this option will cause busybox to directly access the
-         system's /etc/shadow file when handling shadow passwords.  This
+         system's /etc/shadow file when handling shadow passwords. This
          makes your system smaller (and I will get fewer emails asking about
-         how glibc NSS works).  When this option is enabled, you will not be
+         how glibc NSS works). When this option is enabled, you will not be
          able to use PAM to access shadow passwords from remote LDAP
          password servers and whatnot.
 
@@ -66,7 +66,7 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT
          standard C library functions.
 
          If you leave this disabled, busybox will use the system's
-         crypt functions.  Most C libraries use large (~70k)
+         crypt functions. Most C libraries use large (~70k)
          static buffers there, and also combine them with more general
          DES encryption/decryption.
 
@@ -101,7 +101,7 @@ config BUSYBOX_CONFIG_DELGROUP
          Utility for deleting a group account.
 
 config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
-       bool "Support for removing users from groups."
+       bool "Support for removing users from groups"
        default n
        depends on BUSYBOX_CONFIG_DELGROUP
        help
@@ -211,9 +211,9 @@ config BUSYBOX_CONFIG_PASSWD
        select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
-         passwd changes passwords for user and group accounts.  A normal user
+         passwd changes passwords for user and group accounts. A normal user
          may only change the password for his/her own account, the super user
-         may change the password for any account.  The administrator of a group
+         may change the password for any account. The administrator of a group
          may change the password for the group.
 
          Note that Busybox binary must be setuid root for this applet to
index 236d5d6..df5f28c 100644 (file)
@@ -101,7 +101,7 @@ config BUSYBOX_CONFIG_CROND
        help
          Crond is a background daemon that parses individual crontab
          files and executes commands on behalf of the users in question.
-         This is a port of dcron from slackware.  It uses files of the
+         This is a port of dcron from slackware. It uses files of the
          format /var/spool/cron/crontabs/<username> files, for example:
              $ cat /var/spool/cron/crontabs/root
              # Run daily cron jobs at 4:40 every day:
@@ -126,7 +126,7 @@ config BUSYBOX_CONFIG_CRONTAB
        default y
        select BUSYBOX_CONFIG_FEATURE_SUID
        help
-         Crontab manipulates the crontab for a particular user.  Only
+         Crontab manipulates the crontab for a particular user. Only
          the superuser may specify a different user and/or crontab directory.
          Note that Busybox binary must be setuid root for this applet to
          work properly.
@@ -167,8 +167,9 @@ config BUSYBOX_CONFIG_DEVFSD_FG_NP
        default n
        depends on BUSYBOX_CONFIG_DEVFSD
        help
-               -fg     Run the daemon in the foreground.
-               -np     Exit  after  parsing  the configuration file. Do not poll for events.
+         -fg  Run the daemon in the foreground.
+         -np  Exit after parsing the configuration file.
+              Do not poll for events.
 
 config BUSYBOX_CONFIG_DEVFSD_VERBOSE
        bool "Increases logging (and size)"
@@ -184,14 +185,14 @@ config BUSYBOX_CONFIG_FEATURE_DEVFS
          This is obsolete and will be going away at the end of 2008..
 
          This tells busybox to look for names like /dev/loop/0 instead of
-         /dev/loop0.  If your /dev directory has normal names instead of
+         /dev/loop0. If your /dev directory has normal names instead of
          devfs names, you don't want this.
 
 config BUSYBOX_CONFIG_EJECT
        bool "eject"
        default n
        help
-         Used to eject cdroms.  (defaults to /dev/cdrom)
+         Used to eject cdroms. (defaults to /dev/cdrom)
 
 config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
        bool "SCSI support"
@@ -226,7 +227,8 @@ config BUSYBOX_CONFIG_INOTIFYD
        bool "inotifyd"
        default n
        help
-         Simple inotify daemon. Reports filesystem changes. Requires kernel >= 2.6.13
+         Simple inotify daemon. Reports filesystem changes. Requires
+         kernel >= 2.6.13
 
 config BUSYBOX_CONFIG_LAST
        bool "last"
@@ -309,8 +311,8 @@ config BUSYBOX_CONFIG_HDPARM
        bool "hdparm"
        default n
        help
-         Get/Set hard drive parameters.  Primarily intended for ATA
-         drives.  Adds about 13k (or around 30k if you enable the
+         Get/Set hard drive parameters. Primarily intended for ATA
+         drives. Adds about 13k (or around 30k if you enable the
          FEATURE_HDPARM_GET_IDENTITY option)....
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
@@ -340,7 +342,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
          This is dangerous stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
-       bool "perform device reset (DANGEROUS)"
+       bool "Perform device reset (DANGEROUS)"
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
@@ -348,16 +350,16 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
          This is dangerous stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
-       bool "tristate device for hotswap (DANGEROUS)"
+       bool "Tristate device for hotswap (DANGEROUS)"
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
          Enables the 'hdparm -x' option to tristate device for hotswap,
-         and the '-b' option to get/set bus state.  This is dangerous
+         and the '-b' option to get/set bus state. This is dangerous
          stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
-       bool "get/set using_dma flag (DANGEROUS)"
+       bool "Get/set using_dma flag (DANGEROUS)"
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
@@ -424,7 +426,7 @@ config BUSYBOX_CONFIG_MT
        bool "mt"
        default n
        help
-         mt is used to control tape devices.  You can use the mt utility
+         mt is used to control tape devices. You can use the mt utility
          to advance or rewind a tape past a specified number of archive
          files on the tape.
 
@@ -445,7 +447,7 @@ config BUSYBOX_CONFIG_READAHEAD
 
          This applet just calls the readahead(2) system call on each file.
          It is mainly useful in system startup scripts to preload files
-         or executables before they are used.  When used at the right time
+         or executables before they are used. When used at the right time
          (in particular when a CPU bound process is running) it can
          significantly speed up system startup.
 
@@ -509,16 +511,17 @@ config BUSYBOX_CONFIG_TTYSIZE
        default n
        help
          A replacement for "stty size". Unlike stty, can report only width,
-         only height, or both, in any order. It also does not complain on error,
-         but returns default 80x24. Usage in shell scripts: width=`ttysize w`.
+         only height, or both, in any order. It also does not complain on
+         error, but returns default 80x24.
+         Usage in shell scripts: width=`ttysize w`.
 
 config BUSYBOX_CONFIG_WATCHDOG
        bool "watchdog"
        default y
        help
          The watchdog utility is used with hardware or software watchdog
-         device drivers.  It opens the specified watchdog device special file
-         and periodically writes a magic character to the device.  If the
+         device drivers. It opens the specified watchdog device special file
+         and periodically writes a magic character to the device. If the
          watchdog applet ever fails to write the magic character within a
          certain amount of time, the watchdog device assumes the system has
          hung, and will cause the hardware to reboot.
index 63a3f71..be141d9 100644 (file)
@@ -5,14 +5,64 @@
 
 menu "Linux Module Utilities"
 
+config BUSYBOX_CONFIG_MODPROBE_SMALL
+       bool "Simplified modutils"
+       default n
+       help
+         Simplified modutils.
+
+         With this option modprobe does not require modules.dep file
+         and does not use /etc/modules.conf file.
+         It scans module files in /lib/modules/`uname -r` and
+         determines dependencies and module alias names on the fly.
+         This may make module loading slower, most notably
+         when one needs to load module by alias (this requires
+         scanning through module _bodies_).
+
+         At the first attempt to load a module by alias modprobe
+         will try to generate modules.dep.bb file in order to speed up
+         future loads by alias. Failure to do so (read-only /lib/modules,
+         etc) is not reported, and future modprobes will be slow too.
+
+         NB: modules.dep.bb file format is not compatible
+         with modules.dep file as created/used by standard module tools.
+
+         Additional module parameters can be stored in
+         /etc/modules/$module_name files.
+
+         Apart from modprobe, other utilities are also provided:
+         - insmod is an alias to modprobe
+         - rmmod is an alias to modprobe -r
+         - depmod generates modules.dep.bb
+
+         As of 2008-07, this code is experimental. It is 14kb smaller
+         than "non-small" modutils.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
+       bool "Accept module options on modprobe command line"
+       default n
+       depends on BUSYBOX_CONFIG_MODPROBE_SMALL
+       help
+         Allow insmod and modprobe take module options from command line.
+         N.B. Very bloaty.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+       bool "Skip loading of already loaded modules"
+       default n
+       depends on BUSYBOX_CONFIG_MODPROBE_SMALL
+       help
+         Check if the module is already loaded.
+         N.B. It's racy.
+
 config BUSYBOX_CONFIG_DEPMOD
        bool "depmod"
        default n
+       depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          depmod generates modules.dep (FIXME: elaborate)
 
 config BUSYBOX_CONFIG_FEATURE_DEPMOD_PRUNE_FANCY
-       bool "fancy dependency pruning"
+       bool "Fancy dependency pruning"
        default n
        depends on BUSYBOX_CONFIG_DEPMOD
        help
@@ -26,7 +76,7 @@ config BUSYBOX_CONFIG_FEATURE_DEPMOD_PRUNE_FANCY
          If unsure, say N.
 
 config BUSYBOX_CONFIG_FEATURE_DEPMOD_ALIAS
-       bool "alias support"
+       bool "Alias support"
        default n
        depends on BUSYBOX_CONFIG_DEPMOD
        help
@@ -38,6 +88,7 @@ config BUSYBOX_CONFIG_FEATURE_DEPMOD_ALIAS
 config BUSYBOX_CONFIG_INSMOD
        bool "insmod"
        default y
+       depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          insmod is used to load specified modules in the running kernel.
 
@@ -46,7 +97,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
        default n
        depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
        help
-         Support checking of versions for modules.  This is used to
+         Support checking of versions for modules. This is used to
          ensure that the kernel and module are made for each other.
 
 config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
@@ -55,9 +106,9 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
        depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
        help
          By adding module symbols to the kernel symbol table, Oops messages
-         occuring within kernel modules can be properly debugged.  By enabling
+         occuring within kernel modules can be properly debugged. By enabling
          this feature, module symbols will always be added to the kernel symbol
-         table for properly debugging support.  If you are not interested in
+         table for properly debugging support. If you are not interested in
          Oops messages from kernel modules, say N.
 
 config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
@@ -87,18 +138,20 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
        depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
        help
          Without this option, -m will only output section
-         load map.  With this option, -m will also output
+         load map. With this option, -m will also output
          symbols load map.
 
 config BUSYBOX_CONFIG_RMMOD
        bool "rmmod"
        default y
+       depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          rmmod is used to unload specified modules from the kernel.
 
 config BUSYBOX_CONFIG_LSMOD
        bool "lsmod"
        default y
+       depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          lsmod is used to display a list of loaded modules.
 
@@ -113,6 +166,7 @@ config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
 config BUSYBOX_CONFIG_MODPROBE
        bool "modprobe"
        default n
+       depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
        help
          Handle the loading of modules, and their dependencies on a high
          level.
@@ -168,7 +222,7 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
        default y
        depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD
        help
-         Support checking for tainted modules.  These are usually binary
+         Support checking for tainted modules. These are usually binary
          only modules that will make the linux-kernel list ignore your
          support request.
          This option is required to support GPLONLY modules.
@@ -196,7 +250,7 @@ config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
        # Simulate indentation
        string "Default directory containing modules"
        default "/lib/modules"
-       depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_DEPMOD
+       depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_DEPMOD
        help
          Directory that contains kernel modules.
          Defaults to "/lib/modules"
@@ -205,7 +259,7 @@ config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
        # Simulate indentation
        string "Default name of modules.dep"
        default "modules.dep"
-       depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_DEPMOD
+       depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_DEPMOD
        help
          Filename that contains kernel modules dependencies.
          Defaults to "modules.dep"
index 0a79cdd..7663085 100644 (file)
@@ -66,12 +66,12 @@ config BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
          This adds about 600 bytes.
 
 config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
-       bool "Support show"
+       bool "Support show, showmac and showstp"
        default y
        depends on BUSYBOX_CONFIG_BRCTL && BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
        help
          Add support for option which prints the current config:
-           show
+           showmacs, showstp, show
 
 config BUSYBOX_CONFIG_DNSD
        bool "dnsd"
@@ -216,7 +216,7 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
        depends on BUSYBOX_CONFIG_HTTPD
        help
          This option allows html encoding of arbitrary strings for display
-         by the browser.  Output goes to stdout.
+         by the browser. Output goes to stdout.
          For example, httpd -e "<Hello World>" produces
          "&#60Hello&#32World&#62".
 
@@ -264,7 +264,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP
        default n
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
-         Allow "keepalive" and "outfill" support for SLIP.  If you're not
+         Allow "keepalive" and "outfill" support for SLIP. If you're not
          planning on using serial lines, leave this unchecked.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
@@ -281,7 +281,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
          Set the hardware address of this interface, if the device driver
-         supports  this  operation.  Currently, we only support the 'ether'
+         supports  this  operation. Currently, we only support the 'ether'
          class.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
@@ -303,15 +303,15 @@ config BUSYBOX_CONFIG_IFUPDOWN
        bool "ifupdown"
        default n
        help
-         Activate or deactivate the specified interfaces.  This applet makes
+         Activate or deactivate the specified interfaces. This applet makes
          use of either "ifconfig" and "route" or the "ip" command to actually
-         configure network interfaces.  Therefore, you will probably also want
+         configure network interfaces. Therefore, you will probably also want
          to enable either IFCONFIG and ROUTE, or enable
-         FEATURE_IFUPDOWN_IP and the various IP options.  Of
+         FEATURE_IFUPDOWN_IP and the various IP options. Of
          course you could use non-busybox versions of these programs, so
          against my better judgement (since this will surely result in plenty
          of support questions on the mailing list), I do not force you to
-         enable these additional options.  It is up to you to supply either
+         enable these additional options. It is up to you to supply either
          "ifconfig", "route" and "run-parts" or the "ip" command, either
          via busybox or via standalone utilities.
 
@@ -458,7 +458,7 @@ config BUSYBOX_CONFIG_IP
        default n
        help
          The "ip" applet is a TCP/IP interface configuration and routing
-         utility.  You generally don't need "ip" to use busybox with
+         utility. You generally don't need "ip" to use busybox with
          TCP/IP.
 
 config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
@@ -558,7 +558,8 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
        default n
        depends on BUSYBOX_CONFIG_IPCALC
        help
-         Adds the options hostname, prefix and silent to the output of "ipcalc".
+         Adds the options hostname, prefix and silent to the output of
+         "ipcalc".
 
 config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
        bool "Enable long options"
@@ -638,6 +639,14 @@ config BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE
          Add support for wide columns. Useful when displaying IPv6 addresses
          (-W option).
 
+config BUSYBOX_CONFIG_FEATURE_NETSTAT_PRG
+       bool "Enable PID/Program name output"
+       default n
+       depends on BUSYBOX_CONFIG_NETSTAT
+       help
+         Add support for -p flag to print out PID and program name.
+         +700 bytes of code.
+
 config BUSYBOX_CONFIG_NSLOOKUP
        bool "nslookup"
        default y
@@ -694,7 +703,8 @@ config BUSYBOX_CONFIG_SLATTACH
        bool "slattach"
        default n
        help
-         slattach is a small utility to attach network interfaces to serial lines.
+         slattach is a small utility to attach network interfaces to serial
+         lines.
 
 config BUSYBOX_CONFIG_TELNET
        bool "telnet"
@@ -709,7 +719,7 @@ config BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE
        depends on BUSYBOX_CONFIG_TELNET
        help
          Setting this option will forward the TERM environment variable to the
-         remote host you are connecting to.  This is useful to make sure that
+         remote host you are connecting to. This is useful to make sure that
          things like ANSI colors and other control sequences behave.
 
 config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
@@ -728,9 +738,9 @@ config BUSYBOX_CONFIG_TELNETD
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          A daemon for the TELNET protocol, allowing you to log onto the host
-         running the daemon.  Please keep in mind that the TELNET protocol
-         sends passwords in plain text.  If you can't afford the space for an
-         SSH daemon and you trust your network, you may say 'y' here.  As a
+         running the daemon. Please keep in mind that the TELNET protocol
+         sends passwords in plain text. If you can't afford the space for an
+         SSH daemon and you trust your network, you may say 'y' here. As a
          more secure alternative, you should seriously consider installing the
          very small Dropbear SSH daemon instead:
                http://matt.ucc.asn.au/dropbear/dropbear.html
@@ -756,7 +766,7 @@ config BUSYBOX_CONFIG_TELNETD
                  mount -t devpts devpts /dev/pts
 
          You need to be sure that Busybox has LOGIN and
-         FEATURE_SUID enabled.  And finally, you should make
+         FEATURE_SUID enabled. And finally, you should make
          certain that Busybox has been installed setuid root:
 
                chown root.root /bin/busybox
@@ -776,7 +786,7 @@ config BUSYBOX_CONFIG_TFTP
        bool "tftp"
        default n
        help
-         This enables the Trivial File Transfer Protocol client program.  TFTP
+         This enables the Trivial File Transfer Protocol client program. TFTP
          is usually used for simple, small transfers such as a root image
          for a network-enabled bootloader.
 
@@ -795,7 +805,7 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_GET
        default n
        depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
        help
-         Add support for the GET command within the TFTP client.  This allows
+         Add support for the GET command within the TFTP client. This allows
          a client to retrieve a file from a TFTP server.
          Also enable upload support in tftpd, if tftpd is selected.
 
@@ -804,7 +814,7 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
        default n
        depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
        help
-         Add support for the PUT command within the TFTP client.  This allows
+         Add support for the PUT command within the TFTP client. This allows
          a client to transfer a file to a TFTP server.
          Also enable download support in tftpd, if tftpd is selected.
 
@@ -821,7 +831,7 @@ config BUSYBOX_CONFIG_DEBUG_TFTP
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
-         Enable debug settings for tftp.  This is useful if you're running
+         Enable debug settings for tftp. This is useful if you're running
          into problems with tftp as the protocol doesn't help you much when
          you run into problems.
 
@@ -836,7 +846,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
        default y
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
-         Add some verbosity to traceroute.  This includes amongst other things
+         Add some verbosity to traceroute. This includes amongst other things
          hostnames and ICMP response types.
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
@@ -906,12 +916,14 @@ config BUSYBOX_CONFIG_TCPSVD
        bool "tcpsvd"
        default n
        help
-         tcpsvd listens on a TCP port and runs a program for each new connection
+         tcpsvd listens on a TCP port and runs a program for each new
+         connection.
 
 config BUSYBOX_CONFIG_UDPSVD
        bool "udpsvd"
        default n
        help
-         udpsvd listens on an UDP port and runs a program for each new connection
+         udpsvd listens on an UDP port and runs a program for each new
+         connection.
 
 endmenu
index f650f52..ac93163 100644 (file)
@@ -18,7 +18,7 @@ config BUSYBOX_CONFIG_FUSER
        default n
        help
          fuser lists all PIDs (Process IDs) that currently have a given
-         file open.  fuser can also list all PIDs that have a given network
+         file open. fuser can also list all PIDs that have a given network
          (TCP or UDP) port open.
 
 config BUSYBOX_CONFIG_KILL
@@ -26,7 +26,7 @@ config BUSYBOX_CONFIG_KILL
        default y
        help
          The command kill sends the specified signal to the specified
-         process or process group.  If no signal is specified, the TERM
+         process or process group. If no signal is specified, the TERM
          signal is sent.
 
 config BUSYBOX_CONFIG_KILLALL
@@ -35,7 +35,7 @@ config BUSYBOX_CONFIG_KILLALL
        depends on BUSYBOX_CONFIG_KILL
        help
          killall sends a signal to all processes running any of the
-         specified commands.  If no signal name is specified, SIGTERM is
+         specified commands. If no signal name is specified, SIGTERM is
          sent.
 
 config BUSYBOX_CONFIG_KILLALL5
index 141a1d3..4107e12 100644 (file)
@@ -39,7 +39,7 @@ config BUSYBOX_CONFIG_ASH
        help
          Tha 'ash' shell adds about 60k in the default configuration and is
          the most complete and most pedantically correct shell included with
-         busybox.  This shell is actually a derivative of the Debian 'dash'
+         busybox. This shell is actually a derivative of the Debian 'dash'
          shell (by Herbert Xu), which was created by porting the 'ash' shell
          (written by Kenneth Almquist) from NetBSD.
 
@@ -51,7 +51,7 @@ config BUSYBOX_CONFIG_ASH_BASH_COMPAT
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
-         Enable bash-conpatible extensions.
+         Enable bash-compatible extensions.
 
 config BUSYBOX_CONFIG_ASH_JOB_CONTROL
        bool "Job control"
@@ -69,7 +69,7 @@ config BUSYBOX_CONFIG_ASH_READ_NCHARS
          'read -s' will read without echoing the user's input.
 
 config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
-       bool "'read -t S' support."
+       bool "'read -t S' support"
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
@@ -96,7 +96,7 @@ config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
        default y
        depends on BUSYBOX_CONFIG_ASH_MATH_SUPPORT
        help
-         Enable 64-bit math support in the ash shell.  This will make
+         Enable 64-bit math support in the ash shell. This will make
          the shell slightly larger, but will allow computation with very
          large numbers.
 
@@ -176,11 +176,13 @@ config BUSYBOX_CONFIG_HUSH
        default n
        help
          hush is a very small shell (just 18k) and it has fairly complete
-         Bourne shell grammar.  It even handles all the normal flow control
+         Bourne shell grammar. It even handles all the normal flow control
          options such as if/then/elif/else/fi, for/in/do/done, while loops,
-         etc.
+         case/esac.
 
-         It does not handle case/esac, select, function, here documents ( <<
+         It uses only vfork, so it can be used on uClinux systems.
+
+         It does not handle select, functions, here documents ( <<
          word ), arithmetic expansion, aliases, brace expansion, tilde
          expansion, &> and >& redirection of stdout+stderr, etc.
 
@@ -232,6 +234,14 @@ config BUSYBOX_CONFIG_HUSH_LOOPS
        depends on BUSYBOX_CONFIG_HUSH
        help
          Enable for, while and until loops in hush.
+         As of 2008-07, break and continue statements are not supported.
+
+config BUSYBOX_CONFIG_HUSH_CASE
+       bool "Support case ... esac statement"
+       default n
+       depends on BUSYBOX_CONFIG_HUSH
+       help
+         Enable case ... esac statement in hush. +400 bytes.
 
 config BUSYBOX_CONFIG_LASH
        bool "lash"
@@ -246,10 +256,10 @@ config BUSYBOX_CONFIG_MSH
        help
          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 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 also uses only vfork, so it can be used on uClinux systems.
+         It uses only vfork, so it can be used on uClinux systems.
 
 comment "Bourne Shell Options"
        depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
@@ -267,11 +277,11 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
        depends on (BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || 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
+         in preference to executables in the PATH whenever possible. For
          example, entering the command 'ifconfig' into the shell would cause
-         busybox to use the ifconfig busybox applet.  Specifying the fully
+         busybox to use the ifconfig busybox applet. Specifying the fully
          qualified executable name, such as '/sbin/ifconfig' will still
-         execute the /sbin/ifconfig executable on the filesystem.  This option
+         execute the /sbin/ifconfig executable on the filesystem. This option
          is generally used when creating a statically linked version of busybox
          for use as a rescue shell, in the event that you screw up your system.
 
@@ -285,12 +295,12 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
          started this way).
 # untrue?
 #        Note that this will *also* cause applets to take precedence
-#        over shell builtins of the same name.  So turning this on will
+#        over shell builtins of the same name. So turning this on will
 #        eliminate any performance gained by turning on the builtin "echo"
 #        and "test" commands in ash.
 # untrue?
 #        Note that when using this option, the shell will attempt to directly
-#        run '/bin/busybox'.  If you do not have the busybox binary sitting in
+#        run '/bin/busybox'. If you do not have the busybox binary sitting in
 #        that exact location with that exact name, this option will not work at
 #        all.
 
index c4ce8e6..b9e0db2 100644 (file)
@@ -10,14 +10,14 @@ config BUSYBOX_CONFIG_SYSLOGD
        default y
        help
          The syslogd utility is used to record logs of all the
-         significant events that occur on a system.  Every
+         significant events that occur on a system. Every
          message that is logged records the date and time of the
          event, and will generally also record the name of the
-         application that generated the message.  When used in
+         application that generated the message. When used in
          conjunction with klogd, messages from the Linux kernel
-         can also be recorded.  This is terribly useful,
+         can also be recorded. This is terribly useful,
          especially for finding what happened when something goes
-         wrong.  And something almost always will go wrong if
+         wrong. And something almost always will go wrong if
          you wait long enough....
 
 config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
@@ -35,10 +35,10 @@ config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
        help
          When you enable this feature, the syslogd utility can
          be used to send system log messages to another system
-         connected via a network.  This allows the remote
+         connected via a network. This allows the remote
          machine to log all the system messages, which can be
          terribly useful for reducing the number of serial
-         cables you use.  It can also be a very good security
+         cables you use. It can also be a very good security
          measure to prevent system logs from being tampered with
          by an intruder.
 
@@ -58,7 +58,7 @@ config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
          When you enable this feature, the syslogd utility will
          use a circular buffer to record system log messages.
          When the buffer is filled it will continue to overwrite
-         the oldest messages.  This can be very useful for
+         the oldest messages. This can be very useful for
          systems with little or no permanent storage, since
          otherwise system logs can eventually fill up your
          entire filesystem, which may cause your system to
@@ -79,7 +79,7 @@ config BUSYBOX_CONFIG_LOGREAD
        depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
        help
          If you enabled Circular Buffer support, you almost
-         certainly want to enable this feature as well.  This
+         certainly want to enable this feature as well. This
          utility will allow you to read the messages that are
          stored in the syslogd circular buffer.
 
@@ -100,7 +100,7 @@ config BUSYBOX_CONFIG_KLOGD
        help
          klogd is a utility which intercepts and logs all
          messages from the Linux kernel and sends the messages
-         out to the 'syslogd' utility so they can be logged.  If
+         out to the 'syslogd' utility so they can be logged. If
          you wish to record the messages produced by the kernel,
          you should enable this option.
 
@@ -111,7 +111,7 @@ config BUSYBOX_CONFIG_LOGGER
        help
            The logger utility allows you to send arbitrary text
            messages to the system log (i.e. the 'syslogd' utility) so
-           they can be logged.  This is generally used to help locate
+           they can be logged. This is generally used to help locate
            problems that occur within programs and scripts.
 
 endmenu
index 5c5af20..6e3fc39 100644 (file)
@@ -9,12 +9,12 @@ config BUSYBOX_CONFIG_DMESG
        bool "dmesg"
        default y
        help
-         dmesg is used to examine or control the kernel ring buffer.  When the
+         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
-         the kernel ring buffer.  You can use dmesg to print the kernel's ring
+         the kernel ring buffer. You can use dmesg to print the kernel's ring
          buffer, clear the kernel ring buffer, change the size of the kernel
          ring buffer, and change the priority level at which kernel messages
-         are also logged to the system console.  Enable this option if you
+         are also logged to the system console. Enable this option if you
          wish to enable the 'dmesg' utility.
 
 config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
@@ -23,7 +23,8 @@ config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
        depends on BUSYBOX_CONFIG_DMESG
        help
          If you wish to scrub the syslog level from the output, say 'Y' here.
-         The syslog level is a string prefixed to every line with the form "<#>".
+         The syslog level is a string prefixed to every line with the form
+         "<#>".
 
          With this option you will see:
            # dmesg
@@ -42,8 +43,8 @@ config BUSYBOX_CONFIG_FBSET
        default n
        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
-         interface to access a graphics display.  Enable this option
+         device. The frame buffer device provides a simple and unique
+         interface to access a graphics display. Enable this option
          if you wish to enable the 'fbset' utility.
 
 config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
@@ -52,8 +53,8 @@ config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
        depends on BUSYBOX_CONFIG_FBSET
        help
          This option enables extended fbset options, allowing one to set the
-         framebuffer size, color depth, etc.  interface to access a graphics
-         display.  Enable this option if you wish to enable extended fbset
+         framebuffer size, color depth, etc. interface to access a graphics
+         display. Enable this option if you wish to enable extended fbset
          options.
 
 config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
@@ -70,11 +71,11 @@ config BUSYBOX_CONFIG_FDFLUSH
        default n
        help
          fdflush is only needed when changing media on slightly-broken
-         removable media drives.  It is used to make Linux believe that a
+         removable media drives. It is used to make Linux believe that a
          hardware disk-change switch has been actuated, which causes Linux to
-         forget anything it has cached from the previous media.  If you have
+         forget anything it has cached from the previous media. If you have
          such a slightly-broken drive, you will need to run fdflush every time
-         you change a disk.  Most people have working hardware and can safely
+         you change a disk. Most people have working hardware and can safely
          leave this disabled.
 
 config BUSYBOX_CONFIG_FDFORMAT
@@ -88,7 +89,7 @@ config BUSYBOX_CONFIG_FDISK
        default n
        help
          The fdisk utility is used to divide hard disks into one or more
-         logical disks, which are generally called partitions.  This utility
+         logical disks, which are generally called partitions. This utility
          can be used to list and edit the set of partitions or BSD style
          'disk slices' that are defined on a hard drive.
 
@@ -105,7 +106,7 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        depends on BUSYBOX_CONFIG_FDISK
        help
          Enabling this option allows you to create or change a partition table
-         and write those changes out to disk.  If you leave this option
+         and write those changes out to disk. If you leave this option
          disabled, you will only be able to view the partition table.
 
 config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
@@ -147,7 +148,7 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
        help
          Enabling this option allows you to do terribly unsafe things like
          define arbitrary drive geometry, move the beginning of data in a
-         partition, and similarly evil things.  Unless you have a very good
+         partition, and similarly evil things. Unless you have a very good
          reason you would be wise to leave this disabled.
 
 config BUSYBOX_CONFIG_FINDFS
@@ -156,7 +157,7 @@ config BUSYBOX_CONFIG_FINDFS
        select BUSYBOX_CONFIG_VOLUMEID
        help
          This is similar to the findfs program that is part of the e2fsprogs
-         package.  However, the e2fsprogs version only support ext2/3.  This
+         package. However, the e2fsprogs version only support ext2/3. This
          version supports those in addition to FAT, swap, and ReiserFS.
          WARNING:
          With all submodules selected, it will add ~8k to busybox.
@@ -165,11 +166,11 @@ config BUSYBOX_CONFIG_FREERAMDISK
        bool "freeramdisk"
        default n
        help
-         Linux allows you to create ramdisks.  This utility allows you to
+         Linux allows you to create ramdisks. This utility allows you to
          delete them and completely free all memory that was used for the
-         ramdisk.  For example, if you boot Linux into a ramdisk and later
+         ramdisk. For example, if you boot Linux into a ramdisk and later
          pivot_root, you may want to free the memory that is allocated to the
-         ramdisk.  If you have no use for freeing memory from a ramdisk, leave
+         ramdisk. If you have no use for freeing memory from a ramdisk, leave
          this disabled.
 
 config BUSYBOX_CONFIG_FSCK_MINIX
@@ -177,9 +178,9 @@ config BUSYBOX_CONFIG_FSCK_MINIX
        default n
        help
          The minix filesystem is a nice, small, compact, read-write filesystem
-         with little overhead.  It is not a journaling filesystem however and
+         with little overhead. It is not a journaling filesystem however and
          can experience corruption if it is not properly unmounted or if the
-         power goes off in the middle of a write.  This utility allows you to
+         power goes off in the middle of a write. This utility allows you to
          check for and attempt to repair any corruption that occurs to a minix
          filesystem.
 
@@ -188,8 +189,8 @@ config BUSYBOX_CONFIG_MKFS_MINIX
        default n
        help
          The minix filesystem is a nice, small, compact, read-write filesystem
-         with little overhead.  If you wish to be able to create minix filesystems
-         this utility will do the job for you.
+         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
@@ -199,9 +200,9 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
        default n
        depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
        help
-         If you wish to be able to create version 2 minix filesystems, enable this.
-         If you enabled 'mkfs_minix' then you almost certainly want to be using the
-         version 2 filesystem support.
+         If you wish to be able to create version 2 minix filesystems, enable
+         this. If you enabled 'mkfs_minix' then you almost certainly want to
+         be using the version 2 filesystem support.
 
 config BUSYBOX_CONFIG_GETOPT
        bool "getopt"
@@ -209,9 +210,9 @@ config BUSYBOX_CONFIG_GETOPT
        help
          The getopt utility is used to break up (parse) options in command
          lines to make it easy to write complex shell scripts that also check
-         for legal (and illegal) options.  If you want to write horribly
+         for legal (and illegal) options. If you want to write horribly
          complex shell scripts, or use some horribly complex shell script
-         written by others, this utility may be for you.  Most people will
+         written by others, this utility may be for you. Most people will
          wisely leave this disabled.
 
 config BUSYBOX_CONFIG_HEXDUMP
@@ -243,7 +244,7 @@ config BUSYBOX_CONFIG_HWCLOCK
        default y
        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
+         on a system. This is primarily used to set the current time on
          shutdown in the hardware clock, so the hardware will keep the
          correct time when Linux is _not_ running.
 
@@ -252,7 +253,7 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
        default n
        depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_GETOPT_LONG
        help
-         By default, the hwclock utility only uses short options.  If you
+         By default, the hwclock utility only uses short options. If you
          are overly fond of its long options, such as --hctosys, --utc, etc)
          then enable this option.
 
@@ -262,11 +263,11 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
        depends on BUSYBOX_CONFIG_HWCLOCK
        help
          Starting with FHS 2.3, the adjtime state file is supposed to exist
-         at /var/lib/hwclock/adjtime instead of /etc/adjtime.  If you wish
+         at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
          to use the FHS behavior, answer Y here, otherwise answer N for the
          classic /etc/adjtime path.
 
-         http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
+         pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
 
 config BUSYBOX_CONFIG_IPCRM
        bool "ipcrm"
@@ -290,7 +291,7 @@ config BUSYBOX_CONFIG_LOSETUP
        default n
        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
+         file or block device, and to query the status of a loop device. This
          version does not currently support enabling data encryption.
 
 config BUSYBOX_CONFIG_MDEV
@@ -326,7 +327,8 @@ config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
        default n
        depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
        help
-         Add support for regular expressions substitutions when renaming device.
+         Add support for regular expressions substitutions when renaming
+         device.
 
 config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
        bool "Support command execution at device addition/removal"
@@ -354,9 +356,9 @@ config BUSYBOX_CONFIG_MKSWAP
        default n
        help
          The mkswap utility is used to configure a file or disk partition as
-         Linux swap space.  This allows Linux to use the entire file or
+         Linux swap space. This allows Linux to use the entire file or
          partition as if it were additional RAM, which can greatly increase
-         the capability of low-memory machines.  This additional memory is
+         the capability of low-memory machines. This additional memory is
          much slower than real RAM, but can be very helpful at preventing your
          applications being killed by the Linux out of memory (OOM) killer.
          Once you have created swap space using 'mkswap' you need to enable
@@ -377,9 +379,9 @@ config BUSYBOX_CONFIG_MORE
        default n
        help
          more is a simple utility which allows you to read text one screen
-         sized page at a time.  If you want to read text that is larger than
+         sized page at a time. If you want to read text that is larger than
          the screen, and you are using anything faster than a 300 baud modem,
-         you will probably find this utility very helpful.  If you don't have
+         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
@@ -388,7 +390,7 @@ config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
        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
+         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.
@@ -608,10 +610,10 @@ config BUSYBOX_CONFIG_MOUNT
        default y
        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
-         particular part of the tree.  A filesystem can either live on a block
+         tree. The 'mount' utility is used to graft a filesystem onto a
+         particular part of the tree. A filesystem can either live on a block
          device, or it can be accessible over the network, as is the case with
-         NFS filesystems.  Most people using BusyBox will also want to enable
+         NFS filesystems. Most people using BusyBox will also want to enable
          the 'mount' utility.
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
@@ -649,7 +651,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
        select BUSYBOX_CONFIG_VOLUMEID
        help
          This allows for specifying a device by label or uuid, rather than by
-         name.  This feature utilizes the same functionality as findfs.
+         name. This feature utilizes the same functionality as findfs.
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
        bool "Support mounting NFS file systems"
@@ -672,7 +674,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS
        bool "Support lots of -o flags in mount"
        default y
        help
-         Without this, mount only supports ro/rw/remount.  With this, it
+         Without this, mount only supports ro/rw/remount. With this, it
          supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
          noatime, diratime, nodiratime, loud, bind, move, shared, slave,
          private, unbindable, rshared, rslave, rprivate, and runbindable.
@@ -689,11 +691,11 @@ config BUSYBOX_CONFIG_PIVOT_ROOT
        default y
        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
+         with some other mounted filesystem. This allows you to do all sorts
          of wild and crazy things with your Linux system and is far more
          powerful than 'chroot'.
 
-         Note: This is for initrd in linux 2.4.  Under initramfs (introduced
+         Note: This is for initrd in linux 2.4. Under initramfs (introduced
          in linux 2.6) use switch_root instead.
 
 config BUSYBOX_CONFIG_RDATE
@@ -705,6 +707,12 @@ config BUSYBOX_CONFIG_RDATE
          the RFC868 protocol, which is built into the inetd daemon on most
          systems.
 
+config BUSYBOX_CONFIG_RDEV
+       bool "rdev"
+       default n
+       help
+         Print the device node associated with the filesystem mounted at '/'.
+
 config BUSYBOX_CONFIG_READPROFILE
        bool "readprofile"
        default n
@@ -728,7 +736,7 @@ config BUSYBOX_CONFIG_SETARCH
        default n
        help
          The linux32 utility is used to create a 32bit environment for the
-         specified program (usually a shell).  It only makes sense to have
+         specified program (usually a shell). It only makes sense to have
          this util on a system that supports both 64bit and 32bit userland
          (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
 
@@ -738,9 +746,9 @@ config BUSYBOX_CONFIG_SWAPONOFF
        help
          This option enables both the 'swapon' and the 'swapoff' utilities.
          Once you have created some swap space using 'mkswap', you also need
-         to enable your swap space with the 'swapon' utility.  The 'swapoff'
+         to enable your swap space with the 'swapon' utility. The 'swapoff'
          utility is used, typically at system shutdown, to disable any swap
-         space.  If you are not using any swap space, you can leave this
+         space. If you are not using any swap space, you can leave this
          option disabled.
 
 config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
@@ -755,28 +763,28 @@ config BUSYBOX_CONFIG_SWITCH_ROOT
        default y
        help
          The switch_root utility is used from initramfs to select a new
-         root device.  Under initramfs, you have to use this instead of
-         pivot_root.  (Stop reading here if you don't care why.)
+         root device. Under initramfs, you have to use this instead of
+         pivot_root. (Stop reading here if you don't care why.)
 
          Booting with initramfs extracts a gzipped cpio archive into rootfs
-         (which is a variant of ramfs/tmpfs).  Because rootfs can't be moved
-         or unmounted*, pivot_root will not work from initramfs.  Instead,
+         (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
+         or unmounted*, pivot_root will not work from initramfs. Instead,
          switch_root deletes everything out of rootfs (including itself),
          does a mount --move that overmounts rootfs with the new root, and
          then execs the specified init program.
 
          * Because the Linux kernel uses rootfs internally as the starting
          and ending point for searching through the kernel's doubly linked
-         list of active mount points.  That's why.
+         list of active mount points. That's why.
 
 config BUSYBOX_CONFIG_UMOUNT
        bool "umount"
        default y
        help
-         When you want to remove a mounted filesystem from its current mount point,
-         for example when you are shutting down the system, the 'umount' utility is
-         the tool to use.  If you enabled the 'mount' utility, you almost certainly
-         also want to enable 'umount'.
+         When you want to remove a mounted filesystem from its current mount
+         point, for example when you are shutting down the system, the
+         'umount' utility is the tool to use. If you enabled the 'mount'
+         utility, you almost certainly also want to enable 'umount'.
 
 config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
        bool "Support option -a"
@@ -794,10 +802,11 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
        depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
        help
          Enabling this feature allows automatic mounting of files (containing
-         filesystem images) via the linux kernel's loopback devices.  The mount
-         command will detect you are trying to mount a file instead of a block
-         device, and transparently associate the file with a loopback device.
-         The umount command will also free that loopback device.
+         filesystem images) via the linux kernel's loopback devices.
+         The mount command will detect you are trying to mount a file instead
+         of a block device, and transparently associate the file with a
+         loopback device. The umount command will also free that loopback
+         device.
 
          You can still use the 'losetup' utility (to manually associate files
          with loop devices) if you need to do something advanced, such as
@@ -811,9 +820,9 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
        select BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
        help
          Historically, Unix systems kept track of the currently mounted
-         partitions in the file "/etc/mtab".  These days, the kernel exports
+         partitions in the file "/etc/mtab". These days, the kernel exports
          the list of currently mounted partitions in "/proc/mounts", rendering
-         the old mtab file obsolete.  (In modern systems, /etc/mtab should be
+         the old mtab file obsolete. (In modern systems, /etc/mtab should be
          a symlink to /proc/mounts.)
 
          The only reason to have mount maintain an /etc/mtab file itself is if
@@ -823,7 +832,7 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
          features like separate per-process filesystem namespaces, requires
          that your /etc directory be writeable, 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.)
+         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.
index 1181557..25f690a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/init/init.c
 +++ b/init/init.c
-@@ -505,12 +505,11 @@ static void run_actions(int action_type)
+@@ -498,12 +498,11 @@ static void run_actions(int action_type)
        for (a = init_action_list; a; a = tmp) {
                tmp = a->next;
                if (a->action_type & action_type) {
diff --git a/package/busybox/patches/003-brctl_show_fix.patch b/package/busybox/patches/003-brctl_show_fix.patch
new file mode 100644 (file)
index 0000000..51b0cf7
--- /dev/null
@@ -0,0 +1,37 @@
+--- a/networking/brctl.c
++++ b/networking/brctl.c
+@@ -90,7 +90,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
+               "setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
+               "setpathcost\0" "setportprio\0" "setbridgeprio\0"
+       )
+-      USE_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
++      USE_FEATURE_BRCTL_SHOW("show\0");
+       enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
+               USE_FEATURE_BRCTL_FANCY(,
+@@ -98,7 +98,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
+                  ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
+                  ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
+               )
+-              USE_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
++              USE_FEATURE_BRCTL_SHOW(, ARG_show)
+       };
+       int fd;
+--- a/networking/Config.in
++++ b/networking/Config.in
+@@ -66,12 +66,12 @@ config FEATURE_BRCTL_FANCY
+         This adds about 600 bytes.
+ config FEATURE_BRCTL_SHOW
+-      bool "Support show, showmac and showstp"
++      bool "Support show"
+       default n
+       depends on BRCTL && FEATURE_BRCTL_FANCY
+       help
+         Add support for option which prints the current config:
+-          showmacs, showstp, show
++          show
+ config DNSD
+       bool "dnsd"
index 9b59c61..8837769 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/wget.c
 +++ b/networking/wget.c
-@@ -437,7 +437,7 @@ int wget_main(int argc ATTRIBUTE_UNUSED,
+@@ -437,7 +437,7 @@ int wget_main(int argc UNUSED_PARAM, cha
                "directory-prefix\0" Required_argument "P"
                "proxy\0"            Required_argument "Y"
                "user-agent\0"       Required_argument "U"
index 30f64e1..f45fc6e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -352,7 +352,7 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSE
+@@ -353,7 +353,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
  
                        switch (state) {
                        case INIT_SELECTING:
@@ -9,7 +9,7 @@
                                        if (packet_num == 0)
                                                xid = random_xid();
  
-@@ -382,7 +382,7 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSE
+@@ -383,7 +383,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
                                continue;
                        case RENEW_REQUESTED:
                        case REQUESTING:
index 5098766..96936e4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/udhcp/dhcpc.c
 +++ b/networking/udhcp/dhcpc.c
-@@ -319,6 +319,12 @@ int udhcpc_main(int argc ATTRIBUTE_UNUSE
+@@ -320,6 +320,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
        for (;;) {
                unsigned timestamp_before_wait;
  
index 0662ba3..50eaa62 100644 (file)
@@ -1,9 +1,9 @@
 --- a/shell/ash.c
 +++ b/shell/ash.c
-@@ -11909,8 +11909,17 @@ exportcmd(int argc ATTRIBUTE_UNUSED, cha
+@@ -12018,8 +12018,17 @@ exportcmd(int argc UNUSED_PARAM, char **
        const char *p;
        char **aptr;
-       int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
+       int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
 +      int mask = ~0;
 +      int nopt;
 +      while ((nopt = nextopt("np"))) {
@@ -19,7 +19,7 @@
                aptr = argptr;
                name = *aptr;
                if (name) {
-@@ -11922,10 +11931,12 @@ exportcmd(int argc ATTRIBUTE_UNUSED, cha
+@@ -12031,10 +12040,12 @@ exportcmd(int argc UNUSED_PARAM, char **
                                        vp = *findvar(hashvar(name), name);
                                        if (vp) {
                                                vp->flags |= flag;
index 01c290f..ae5be7e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/applets.h
 +++ b/include/applets.h
-@@ -257,6 +257,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
+@@ -261,6 +261,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
  USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
  USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER))
  USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
@@ -10,7 +10,7 @@
  USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -2815,6 +2815,9 @@
+@@ -2816,6 +2816,9 @@
  
  #endif
  
 +#define netmsg_full_usage ""
 +
  #define netstat_trivial_usage \
-        "[-laentuwxr"USE_FEATURE_NETSTAT_WIDE("W")"]"
+        "[-laentuwxr"USE_FEATURE_NETSTAT_WIDE("W")USE_FEATURE_NETSTAT_PRG("p")"]"
  #define netstat_full_usage "\n\n" \
 --- a/networking/Config.in
 +++ b/networking/Config.in
-@@ -602,6 +602,12 @@ config NC
+@@ -603,6 +603,12 @@ config NC
          A simple Unix utility which reads and writes data across network
          connections.
  
index 9a1cc95..1c246fc 100644 (file)
@@ -3,7 +3,7 @@
 
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -1697,21 +1697,32 @@ static int check_user_passwd(const char 
+@@ -1705,21 +1705,32 @@ static int check_user_passwd(const char 
  
                if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
                        char *md5_passwd;
index ed7de41..6276de9 100644 (file)
@@ -1,8 +1,8 @@
 --- a/include/applets.h
 +++ b/include/applets.h
-@@ -220,6 +220,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
+@@ -222,6 +222,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
  USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
- USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+ USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
 +USE_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_NEVER))
  USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
@@ -10,7 +10,7 @@
  USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -2138,6 +2138,9 @@
+@@ -2132,6 +2132,9 @@
  #define loadkmap_example_usage \
         "$ loadkmap < /etc/i18n/lang-keymap\n"
  
@@ -22,7 +22,7 @@
  #define logger_full_usage "\n\n" \
 --- a/miscutils/Config.in
 +++ b/miscutils/Config.in
-@@ -364,6 +364,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
+@@ -366,6 +366,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
          Enables the 'hdparm -d' option to get/set using_dma flag.
          This is dangerous stuff, so you should probably say N.
  
index 5cda8c3..ab25cd2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/usage.h
 +++ b/include/usage.h
-@@ -1558,7 +1558,8 @@
+@@ -1552,7 +1552,8 @@
        USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
        USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
         " [-h home]" \
@@ -10,7 +10,7 @@
  #define httpd_full_usage "\n\n" \
         "Listen for incoming HTTP requests\n" \
       "\nOptions:" \
-@@ -1576,6 +1577,8 @@
+@@ -1570,6 +1571,8 @@
       "\n      -h HOME         Home directory (default .)" \
       "\n      -e STRING       HTML encode STRING" \
       "\n      -d STRING       URL decode STRING" \
@@ -21,7 +21,7 @@
        USE_GETOPT_LONG( \
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -247,6 +247,8 @@ struct globals {
+@@ -248,6 +248,8 @@ struct globals {
  
        const char *found_mime_type;
        const char *found_moved_temporarily;
@@ -30,7 +30,7 @@
        Htaccess_IP *ip_a_d;    /* config allow/deny lines */
  
        USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
-@@ -292,6 +294,8 @@ struct globals {
+@@ -293,6 +295,8 @@ struct globals {
  #define index_page        (G.index_page       )
  #define found_mime_type   (G.found_mime_type  )
  #define found_moved_temporarily (G.found_moved_temporarily)
@@ -39,7 +39,7 @@
  #define last_mod          (G.last_mod         )
  #define ip_a_d            (G.ip_a_d           )
  #define g_realm           (G.g_realm          )
-@@ -991,8 +995,11 @@ static void send_headers(int responseNum
+@@ -999,8 +1003,11 @@ static void send_headers(int responseNum
        }
  #endif
        if (responseNum == HTTP_MOVED_TEMPORARILY) {
@@ -52,7 +52,7 @@
                                (g_query ? "?" : ""),
                                (g_query ? g_query : ""));
        }
-@@ -1923,8 +1930,12 @@ static void handle_incoming_and_exit(con
+@@ -1931,8 +1938,12 @@ static void handle_incoming_and_exit(con
        } while (*++tptr);
        *++urlp = '\0';       /* terminate after last character */
  
@@ -66,7 +66,7 @@
                if (is_directory(urlcopy + 1, 1, &sb)) {
                        found_moved_temporarily = urlcopy;
                }
-@@ -2274,7 +2285,9 @@ static void sighup_handler(int sig)
+@@ -2281,7 +2292,9 @@ static void sighup_handler(int sig)
  #endif
  
  enum {
@@ -77,7 +77,7 @@
        d_opt_decode_url,
        h_opt_home_httpd,
        USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
-@@ -2323,12 +2336,13 @@ int httpd_main(int argc ATTRIBUTE_UNUSED
+@@ -2330,12 +2343,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
        /* We do not "absolutize" path given by -h (home) opt.
         * If user gives relative path in -h,
         * $SCRIPT_FILENAME will not be set. */
index 3abbdb4..b47751a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -1247,10 +1247,10 @@ static NOINLINE void cgi_io_loop_and_exi
+@@ -1255,10 +1255,10 @@ static NOINLINE void cgi_io_loop_and_exi
                                                if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
                                                        break;
                                        }
index 51965b5..48127a5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/coreutils/uniq.c
 +++ b/coreutils/uniq.c
-@@ -82,6 +82,8 @@ int uniq_main(int argc ATTRIBUTE_UNUSED,
+@@ -82,6 +82,8 @@ int uniq_main(int argc UNUSED_PARAM, cha
  
                        if (!s0 || strncmp(e0, e1, max_chars)) {
                                break;
index f70b00c..744e962 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -1808,6 +1808,7 @@ static void handle_incoming_and_exit(con
+@@ -1816,6 +1816,7 @@ static void handle_incoming_and_exit(con
        char *header_ptr = header_ptr;
        Htaccess_Proxy *proxy_entry;
  #endif
index e3948cf..88dfcfb 100644 (file)
@@ -1,6 +1,6 @@
 --- a/networking/httpd.c
 +++ b/networking/httpd.c
-@@ -255,6 +255,8 @@ struct globals {
+@@ -256,6 +256,8 @@ struct globals {
        USE_FEATURE_HTTPD_BASIC_AUTH(char *remoteuser;)
        USE_FEATURE_HTTPD_CGI(char *referer;)
        USE_FEATURE_HTTPD_CGI(char *user_agent;)
@@ -9,7 +9,7 @@
  
        off_t file_size;        /* -1 - unknown */
  #if ENABLE_FEATURE_HTTPD_RANGES
-@@ -302,6 +304,8 @@ struct globals {
+@@ -303,6 +305,8 @@ struct globals {
  #define remoteuser        (G.remoteuser       )
  #define referer           (G.referer          )
  #define user_agent        (G.user_agent       )
@@ -18,7 +18,7 @@
  #define file_size         (G.file_size        )
  #if ENABLE_FEATURE_HTTPD_RANGES
  #define range_start       (G.range_start      )
-@@ -1383,6 +1387,10 @@ static void send_cgi_and_exit(
+@@ -1391,6 +1395,10 @@ static void send_cgi_and_exit(
                }
        }
        setenv1("HTTP_USER_AGENT", user_agent);
@@ -29,7 +29,7 @@
        if (post_len)
                putenv(xasprintf("CONTENT_LENGTH=%d", post_len));
        if (cookie)
-@@ -2020,6 +2028,10 @@ static void handle_incoming_and_exit(con
+@@ -2028,6 +2036,10 @@ static void handle_incoming_and_exit(con
                                referer = xstrdup(skip_whitespace(iobuf + sizeof("Referer:")-1));
                        } else if (STRNCASECMP(iobuf, "User-Agent:") == 0) {
                                user_agent = xstrdup(skip_whitespace(iobuf + sizeof("User-Agent:")-1));
index 5853502..62619c2 100644 (file)
 +int insmod_main_26(int argc, char **argv);
  #endif
 +int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
++
 +static char *g_filename = NULL;
 +#define _PATH_MODULES "/lib/modules"
 +
-+static int check_module_name_match(const char *filename, struct stat *statbuf,
++static int FAST_FUNC check_module_name_match(const char *filename, struct stat *statbuf,
 +                                 void *userdata, int depth)
 +{
 +      char *fullname = (char *) userdata;
 +
 +done:
 +      free(filename);
-+
 +      return ret;
 +}
 +
 -/*======================================================================*/
 -
 -
--static int check_module_name_match(const char *filename,
--              struct stat *statbuf ATTRIBUTE_UNUSED,
--              void *userdata, int depth ATTRIBUTE_UNUSED)
+-static int FAST_FUNC check_module_name_match(const char *filename,
+-              struct stat *statbuf UNUSED_PARAM,
+-              void *userdata, int depth UNUSED_PARAM)
 -{
 -      char *fullname = (char *) userdata;
 -      char *tmp;
                        break;
  
  #elif defined(__microblaze__)
-@@ -1759,7 +1823,7 @@ static int arch_list_add(ElfW(RelM) *rel
+@@ -1764,7 +1828,7 @@ static int arch_list_add(ElfW(RelM) *rel
  
  #if defined(USE_SINGLE)
  
                             int offset, int size)
  {
        if (single->allocated == 0) {
-@@ -1907,7 +1971,7 @@ static void arch_create_got(struct obj_f
+@@ -1912,7 +1976,7 @@ static void arch_create_got(struct obj_f
  #if defined(USE_GOT_ENTRIES)
                        if (got_allocate) {
                                got_offset += arch_single_init(
                                                got_offset, GOT_ENTRY_SIZE);
  
                                got_needed = 1;
-@@ -1921,7 +1985,7 @@ static void arch_create_got(struct obj_f
+@@ -1926,7 +1990,7 @@ static void arch_create_got(struct obj_f
                                                plt_offset, PLT_ENTRY_SIZE);
  #else
                                plt_offset += arch_single_init(
                                                plt_offset, PLT_ENTRY_SIZE);
  #endif
                                plt_needed = 1;
-@@ -1959,8 +2023,7 @@ static unsigned long obj_elf_hash_n(cons
+@@ -1964,8 +2028,7 @@ static unsigned long obj_elf_hash_n(cons
        while (n > 0) {
                ch = *name++;
                h = (h << 4) + ch;
                        h ^= g >> 24;
                        h &= ~g;
                }
-@@ -2039,7 +2102,7 @@ obj_add_symbol(struct obj_file *f, const
+@@ -2044,7 +2107,7 @@ obj_add_symbol(struct obj_file *f, const
        int n_type = ELF_ST_TYPE(info);
        int n_binding = ELF_ST_BIND(info);
  
                if (f->symbol_cmp(sym->name, name) == 0) {
                        int o_secidx = sym->secidx;
                        int o_info = sym->info;
-@@ -2098,14 +2161,14 @@ obj_add_symbol(struct obj_file *f, const
+@@ -2103,14 +2166,14 @@ obj_add_symbol(struct obj_file *f, const
                                return sym;
                        }
                }
                if (symidx >= f->local_symtab_size)
                        bb_error_msg("local symbol %s with index %ld exceeds local_symtab_size %ld",
                                        name, (long) symidx, (long) f->local_symtab_size);
-@@ -3228,7 +3291,7 @@ static int obj_relocate(struct obj_file 
+@@ -3234,7 +3297,7 @@ static int obj_relocate(struct obj_file 
  
                        /* Do it! */
                        switch (arch_apply_relocation
                        ) {
                        case obj_reloc_ok:
                                break;
-@@ -3307,11 +3370,11 @@ static int obj_create_image(struct obj_f
+@@ -3313,11 +3376,11 @@ static int obj_create_image(struct obj_f
  
  /*======================================================================*/
  
--static struct obj_file *obj_load(FILE * fp, int loadprogbits ATTRIBUTE_UNUSED)
-+static struct obj_file *obj_load(FILE * fp, int loadprogbits)
+-static struct obj_file *obj_load(FILE *fp, int loadprogbits UNUSED_PARAM)
++static struct obj_file *obj_load(FILE *fp, int loadprogbits)
  {
        struct obj_file *f;
        ElfW(Shdr) * section_headers;
        char *shstrtab;
  
        /* Read the file header.  */
-@@ -3583,7 +3646,7 @@ static int obj_gpl_license(struct obj_fi
+@@ -3591,7 +3654,7 @@ static int obj_gpl_license(struct obj_fi
                while (ptr < endptr) {
                        value = strchr(ptr, '=');
                        if (value && strncmp(ptr, "license", value-ptr) == 0) {
                                if (license)
                                        *license = value+1;
                                for (i = 0; i < ARRAY_SIZE(gpl_licenses); ++i) {
-@@ -3687,9 +3750,6 @@ static void check_tainted_module(struct 
+@@ -3695,9 +3758,6 @@ static void check_tainted_module(struct 
   * start of some sections.  this info is used by ksymoops to do better
   * debugging.
   */
  static int
  get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
  {
-@@ -3722,8 +3782,7 @@ add_ksymoops_symbols(struct obj_file *f,
+@@ -3730,8 +3790,7 @@ add_ksymoops_symbols(struct obj_file *f,
        struct obj_symbol *sym;
        char *name, *absolute_filename;
        char str[STRVERSIONLEN];
        struct stat statbuf;
  
        /* WARNING: was using realpath, but replaced by readlink to stop using
-@@ -3910,145 +3969,57 @@ static void print_load_map(struct obj_fi
+@@ -3922,145 +3981,57 @@ static void print_load_map(struct obj_fi
  void print_load_map(struct obj_file *f);
  #endif
  
 +      if (arg1 == NULL)
                bb_show_usage();
 -      }
+-
 -      /* Grab the module name */
 -      tmp1 = xstrdup(arg1);
 -      tmp = basename(tmp1);
 -                      k_version = myuname.release[2] - '0';
 -              }
 -      }
--
 -#if ENABLE_FEATURE_2_6_MODULES
 -      if (k_version > 4 && len > 3 && tmp[len - 3] == '.'
 -       && tmp[len - 2] == 'k' && tmp[len - 1] == 'o'
 -
 -      /* Get a filedesc for the module.  Check that we have a complete path */
 -      if (stat(arg1, &st) < 0 || !S_ISREG(st.st_mode)
--       || (fp = fopen(arg1, "r")) == NULL
+-       || (fp = fopen_for_read(arg1)) == NULL
 -      ) {
 -              /* Hmm.  Could not open it.  First search under /lib/modules/`uname -r`,
 -               * but do not error out yet if we fail to find it... */
 -              }
 -
 -              /* Check if we have found anything yet */
--              if (!m_filename || ((fp = fopen(m_filename, "r")) == NULL)) {
+-              if (!m_filename || ((fp = fopen_for_read(m_filename)) == NULL)) {
 -                      int r;
 -                      char *module_dir;
 -
 -                              bb_error_msg_and_die("%s: module not found", m_fullName);
 -                      free(module_dir);
 -                      if (m_filename == NULL
--                       || ((fp = fopen(m_filename, "r")) == NULL)
+-                       || ((fp = fopen_for_read(m_filename)) == NULL)
 -                      ) {
 -                              bb_error_msg_and_die("%s: module not found", m_fullName);
 -                      }
                }
 -      } else
 -              m_filename = xstrdup(arg1);
+-
 -      if (flag_verbose)
 -              printf("Using %s\n", m_filename);
--
 -#if ENABLE_FEATURE_2_6_MODULES
 -      if (k_version > 4) {
 -              argv[optind] = m_filename;
 -              optind--;
 -              return insmod_ng_main(argc - optind, argv + optind);
-+      fp = fopen(g_filename, "r");
++      fp = fopen_for_read(g_filename);
 +      if (!fp) {
 +              ret = errno;
 +              goto out;
  
        f = obj_load(fp, LOADBITS);
  
-@@ -4075,7 +4046,7 @@ int insmod_main(int argc, char **argv)
+@@ -4087,7 +4058,7 @@ int insmod_main(int argc, char **argv)
                                "\t%s was compiled for kernel version %s\n"
                                "\twhile this kernel is version %s",
                                flag_force_load ? "warning: " : "",
                        if (!flag_force_load)
                                goto out;
                }
-@@ -4117,7 +4088,7 @@ int insmod_main(int argc, char **argv)
+@@ -4129,7 +4100,7 @@ int insmod_main(int argc, char **argv)
        hide_special_symbols(f);
  
  #if ENABLE_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
  #endif /* FEATURE_INSMOD_KSYMOOPS_SYMBOLS */
  
        new_create_module_ksymtab(f);
-@@ -4126,7 +4097,7 @@ int insmod_main(int argc, char **argv)
+@@ -4138,7 +4109,7 @@ int insmod_main(int argc, char **argv)
        m_size = obj_load_size(f);
  
        m_addr = create_module(m_name, m_size);
                case EEXIST:
                        bb_error_msg_and_die("a module named %s already exists", m_name);
                case ENOMEM:
-@@ -4142,36 +4113,37 @@ int insmod_main(int argc, char **argv)
+@@ -4154,36 +4125,37 @@ int insmod_main(int argc, char **argv)
         * now we can load them directly into the kernel memory
         */
        if (!obj_load_progbits(fp, f, (char*)m_addr)) {
  }
  
  #endif /* ENABLE_FEATURE_2_4_MODULES */
-@@ -4183,15 +4155,8 @@ int insmod_main(int argc, char **argv)
+@@ -4195,15 +4167,8 @@ int insmod_main(int argc, char **argv)
  #if ENABLE_FEATURE_2_6_MODULES
  
  #include <sys/mman.h>
  
  /* We use error numbers in a loose translation... */
  static const char *moderror(int err)
-@@ -4210,22 +4175,32 @@ static const char *moderror(int err)
+@@ -4222,22 +4187,32 @@ static const char *moderror(int err)
        }
  }
  
 -#if !ENABLE_FEATURE_2_4_MODULES
 -int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
--int insmod_main(int argc ATTRIBUTE_UNUSED, char **argv)
+-int insmod_main(int argc UNUSED_PARAM, char **argv)
 -#else
--static int insmod_ng_main(int argc ATTRIBUTE_UNUSED, char **argv)
+-static int insmod_ng_main(int argc UNUSED_PARAM, char **argv)
 -#endif
 +int insmod_main_26(int argc, char **argv)
  {
        /* Rest is options */
        options = xzalloc(1);
        optlen = 0;
-@@ -4235,41 +4210,47 @@ static int insmod_ng_main(int argc ATTRI
+@@ -4247,41 +4222,47 @@ static int insmod_ng_main(int argc UNUSE
                optlen += sprintf(options + optlen, (strchr(*argv,' ') ? "\"%s\" " : "%s "), *argv);
        }
  
 -      }
 -#else
        len = MAXINT(ssize_t);
--      map = xmalloc_open_read_close(filename, &len);
+-      map = xmalloc_xopen_read_close(filename, &len);
 -#endif
 +      map = xmalloc_open_read_close(g_filename, &len);
 +      ret = syscall(__NR_init_module, map, len, options);
index 6162600..1281135 100644 (file)
@@ -1,15 +1,15 @@
 --- a/editors/vi.c
 +++ b/editors/vi.c
-@@ -3313,7 +3313,7 @@ static void do_cmd(char c)
+@@ -3317,7 +3317,7 @@ static void do_cmd(char c)
                buf[1] = '\0';
                q = get_input_line(buf);        // get input line- use "status line"
                if (q[0] && !q[1]) {
 -                      if (last_search_pattern[0])
 +                      if (last_search_pattern)
-                           last_search_pattern[0] = c;
+                               last_search_pattern[0] = c;
                        goto dc3; // if no pat re-use old pat
                }
-@@ -3329,6 +3329,10 @@ static void do_cmd(char c)
+@@ -3333,6 +3333,10 @@ static void do_cmd(char c)
                if (cmdcnt-- > 1) {
                        do_cmd(c);
                }                               // repeat cnt
                dir = BACK;             // assume BACKWARD search
                p = dot - 1;
                if (last_search_pattern[0] == '?') {
-@@ -3348,10 +3352,8 @@ static void do_cmd(char c)
-                       msg = "No previous regular expression";
-                       goto dc2;
-               }
--              if (last_search_pattern[0] == '/') {
--                      dir = FORWARD;  // assume FORWARD search
--                      p = dot + 1;
--              }
-+              dir = FORWARD;  // assume FORWARD search
-+              p = dot + 1;
-               if (last_search_pattern[0] == '?') {
-                       dir = BACK;
-                       p = dot - 1;
index c2d3040..b185408 100644 (file)
@@ -15,7 +15,7 @@
  } func;
  
  /* I/O stream */
-@@ -1395,7 +1400,8 @@ static void parse_program(char *p)
+@@ -1400,7 +1405,8 @@ static void parse_program(char *p)
                        next_token(TC_FUNCTION);
                        g_pos++;
                        f = newfunc(t_string);
@@ -25,7 +25,7 @@
                        f->nargs = 0;
                        while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
                                v = findvar(ahash, t_string);
-@@ -1404,7 +1410,7 @@ static void parse_program(char *p)
+@@ -1409,7 +1415,7 @@ static void parse_program(char *p)
                                if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
                                        break;
                        }
@@ -34,7 +34,7 @@
                        chain_group();
                        clear_array(ahash);
  
-@@ -2367,7 +2373,8 @@ static var *evaluate(node *op, var *res)
+@@ -2374,7 +2380,8 @@ static var *evaluate(node *op, var *res)
                        break;
  
                case XC( OC_FUNC ):
@@ -44,7 +44,7 @@
                                syntax_error(EMSG_UNDEF_FUNC);
  
                        X.v = R.v = nvalloc(op->r.f->nargs+1);
-@@ -2384,7 +2391,10 @@ static var *evaluate(node *op, var *res)
+@@ -2391,7 +2398,10 @@ static var *evaluate(node *op, var *res)
                        fnargs = X.v;
  
                        L.s = g_progname;
@@ -56,7 +56,7 @@
                        g_progname = L.s;
  
                        nvfree(fnargs);
-@@ -2747,6 +2757,143 @@ static rstream *next_input_file(void)
+@@ -2754,6 +2764,143 @@ static rstream *next_input_file(void)
  #undef files_happen
  }
  
  int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  int awk_main(int argc, char **argv)
  {
-@@ -2812,6 +2959,9 @@ int awk_main(int argc, char **argv)
+@@ -2819,6 +2966,9 @@ int awk_main(int argc, char **argv)
                        *s1 = '=';
                }
        }
index 66ec574..e69de29 100644 (file)
@@ -1,36 +0,0 @@
---- a/editors/awk.c
-+++ b/editors/awk.c
-@@ -2041,27 +2041,27 @@ static var *exec_builtin(node *op, var *
-               break;
-       case B_an:
--              setvar_i(res, (long)getvar_i(av[0]) & (long)getvar_i(av[1]));
-+              setvar_i(res, (unsigned long)getvar_i(av[0]) & (unsigned long)getvar_i(av[1]));
-               break;
-       case B_co:
--              setvar_i(res, ~(long)getvar_i(av[0]));
-+              setvar_i(res, ~(unsigned long)getvar_i(av[0]));
-               break;
-       case B_ls:
--              setvar_i(res, (long)getvar_i(av[0]) << (long)getvar_i(av[1]));
-+              setvar_i(res, (unsigned long)getvar_i(av[0]) << (unsigned long)getvar_i(av[1]));
-               break;
-       case B_or:
--              setvar_i(res, (long)getvar_i(av[0]) | (long)getvar_i(av[1]));
-+              setvar_i(res, (unsigned long)getvar_i(av[0]) | (unsigned long)getvar_i(av[1]));
-               break;
-       case B_rs:
--              setvar_i(res, (long)((unsigned long)getvar_i(av[0]) >> (unsigned long)getvar_i(av[1])));
-+              setvar_i(res, (unsigned long)getvar_i(av[0]) >> (unsigned long)getvar_i(av[1]));
-               break;
-       case B_xo:
--              setvar_i(res, (long)getvar_i(av[0]) ^ (long)getvar_i(av[1]));
-+              setvar_i(res, (unsigned long)getvar_i(av[0]) ^ (unsigned long)getvar_i(av[1]));
-               break;
-       case B_lo:
index 6d6dbc7..84321e0 100644 (file)
@@ -9,7 +9,7 @@
  #endif
  
  /* Use internal number parsing and not the "exact" conversion.  */
-@@ -155,6 +155,7 @@ int brctl_main(int argc ATTRIBUTE_UNUSED
+@@ -155,6 +155,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
                                printf(bi.stp_enabled ? "\tyes" : "\tno");
  
                                /* print interface list */
@@ -17,7 +17,7 @@
                                arm_ioctl(args, BRCTL_GET_PORT_LIST,
                                                        (unsigned long) ifidx, MAX_PORTS);
                                xioctl(fd, SIOCDEVPRIVATE, &ifr);
-@@ -183,9 +184,19 @@ int brctl_main(int argc ATTRIBUTE_UNUSED
+@@ -183,9 +184,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
                br = *argv++;
  
                if (key == ARG_addbr || key == ARG_delbr) { /* addbr or delbr */
@@ -40,7 +40,7 @@
                        goto done;
                }
  
-@@ -194,14 +205,27 @@ int brctl_main(int argc ATTRIBUTE_UNUSED
+@@ -194,14 +205,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
  
                strncpy(ifr.ifr_name, br, IFNAMSIZ);
                if (key == ARG_addif || key == ARG_delif) { /* addif or delif */
index 10a79ff..61f1367 100644 (file)
@@ -1,11 +1,14 @@
 config BUSYBOX_CONFIG_FEATURE_DEVFS
+       bool
        default y if LINUX_2_4
        default n if LINUX_2_6
 
 config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+       bool
        default y if LINUX_2_4
        default n if LINUX_2_6
 
 config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
+       bool
        default n if LINUX_2_4
        default y if LINUX_2_6