update busybox to v1.2.1
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 8 Aug 2006 10:27:25 +0000 (10:27 +0000)
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 8 Aug 2006 10:27:25 +0000 (10:27 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4528 3c298f89-4303-0410-b956-a3cf2f4a3e73

28 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/editors/Config.in
package/busybox/config/findutils/Config.in
package/busybox/config/init/Config.in
package/busybox/config/loginutils/Config.in
package/busybox/config/miscutils/Config.in
package/busybox/config/modutils/Config.in
package/busybox/config/networking/Config.in
package/busybox/config/networking/udhcp/Config.in
package/busybox/config/procps/Config.in
package/busybox/config/shell/Config.in
package/busybox/config/sysklogd/Config.in
package/busybox/config/util-linux/Config.in
package/busybox/patches/100-killall5.patch
package/busybox/patches/110-telnetd.patch
package/busybox/patches/150-udhcp-release.patch
package/busybox/patches/300-netmsg.patch
package/busybox/patches/320-httpd_address_binding.patch
package/busybox/patches/340-lock_util.patch
package/busybox/patches/911-ipkg.patch
package/busybox/patches/912-ipkg-no_warnings.patch
package/busybox/patches/913-libbb_hash.patch
package/busybox/patches/914-ipkg-fixes.patch

index 6a35968..6e9cf41 100644 (file)
@@ -9,13 +9,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.1.3
+PKG_VERSION:=1.2.1
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.busybox.net/downloads
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.busybox.net/downloads
-PKG_MD5SUM:=19a0b475169335f17e421cf644616fe7
+PKG_MD5SUM:=362b3dc0f2023ddfda901dc1f1a74391
 PKG_CAT:=bzcat
 
 include $(INCLUDE_DIR)/package.mk
 PKG_CAT:=bzcat
 
 include $(INCLUDE_DIR)/package.mk
index eedb4ba..6a5d6a7 100644 (file)
@@ -12,9 +12,26 @@ menu "Busybox Settings"
 
 menu "General Configuration"
 
 
 menu "General Configuration"
 
+config BUSYBOX_CONFIG_NITPICK
+       bool "See lots more (probably unnecessary) configuration options."
+       default n
+       help
+         Some BusyBox applets have more configuration options than anyone
+         will ever care about.  To avoid drowining people in complexity, most
+         of the applet features that can be set to a sane default value are
+         hidden, unless you hit the above switch.
+
+         This is better than to telling people to edit the busybox source
+         code, but not by much.
+
+         See http://en.wikipedia.org/wiki/Fibber_McGee_and_Molly#The_Closet
+
+         You have been warned.
+
 choice
        prompt "Buffer allocation policy"
        default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
 choice
        prompt "Buffer allocation policy"
        default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
+       depends on BUSYBOX_CONFIG_NITPICK
        help
          There are 3 ways BusyBox can handle buffer allocations:
          - Use malloc. This costs code size for the call to xmalloc.
        help
          There are 3 ways BusyBox can handle buffer allocations:
          - Use malloc. This costs code size for the call to xmalloc.
@@ -36,15 +53,39 @@ config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
 
 endchoice
 
 
 endchoice
 
+config BUSYBOX_CONFIG_SHOW_USAGE
+       bool "Show terse applet usage messages"
+       default y
+       help
+         All BusyBox applets will show help messages when invoked with
+         wrong arguments. You can turn off printing these terse usage
+         messages if you say no here.
+         This will save you up to 7k.
+
 config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
        bool "Show verbose applet usage messages"
        default y
 config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
        bool "Show verbose applet usage messages"
        default y
+       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
          13k, but it can add much more depending on your configuration.
 
        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
          13k, but it can add much more depending on your configuration.
 
+config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
+       bool "Store applet usage messages in compressed form"
+       default n
+       depends on BUSYBOX_CONFIG_SHOW_USAGE && BUSYBOX_CONFIG_NITPICK
+       help
+         Store usage messages in compressed form, uncompress them on-the-fly
+         when <applet> --help is called.
+
+         If you have a really tiny busybox with few applets enabled (and
+         bunzip2 isn't one of them), the overhead of the decompressor might
+         be noticeable.  Also, if you run executables directly from ROM
+         and have very little memory, this might not be a win.  Otherwise,
+         you probably want this.
+
 config BUSYBOX_CONFIG_FEATURE_INSTALLER
        bool "Support --install [-s] to install applet links at runtime"
        default n
 config BUSYBOX_CONFIG_FEATURE_INSTALLER
        bool "Support --install [-s] to install applet links at runtime"
        default n
@@ -61,25 +102,29 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT
          Enable this if your system has locale support and you would like
          busybox to support locale settings.
 
          Enable this if your system has locale support and you would like
          busybox to support locale settings.
 
-config BUSYBOX_CONFIG_FEATURE_DEVFS
-       bool "Support for devfs"
+config BUSYBOX_CONFIG_GETOPT_LONG
+       bool
        default y
        default y
-       help
-         Enable if you want BusyBox to work with devfs.
+#      bool "Enable support for --long-options"
+#      default n
+#      help
+#        Enable this if you want busybox applets to use the gnu --long-option
+#        style, in addition to single character -a -b -c style options.
 
 config BUSYBOX_CONFIG_FEATURE_DEVPTS
        bool "Use the devpts filesystem for Unix98 PTYs"
 
 config BUSYBOX_CONFIG_FEATURE_DEVPTS
        bool "Use the devpts filesystem for Unix98 PTYs"
-       default y if BUSYBOX_CONFIG_FEATURE_DEVFS
+       default y
        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
          /dev/ttyp<number> will be used. To use this option, you should have
        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
          /dev/ttyp<number> will be used. To use this option, you should have
-         devpts or devfs mounted.
+         devpts mounted.
 
 config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
        bool "Clean up all memory before exiting (usually not needed)"
        default n
 
 config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
        bool "Clean up all memory before exiting (usually not needed)"
        default n
+       depends on BUSYBOX_CONFIG_NITPICK
        help
          As a size optimization, busybox normally exits without explicitly
          freeing dynamically allocated memory or closing files.  This saves
        help
          As a size optimization, busybox normally exits without explicitly
          freeing dynamically allocated memory or closing files.  This saves
@@ -93,15 +138,25 @@ config BUSYBOX_CONFIG_FEATURE_SUID
        bool "Support for SUID/SGID handling"
        default y
        help
        bool "Support for SUID/SGID handling"
        default y
        help
-         Support SUID and SGID binaries.
+         With this option you can install the busybox binary belonging
+         to root with the suid bit set, and it'll and it'll automatically drop
+         priviledges for applets that don't need root access.
+
+         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
+         are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs,
+         and vlock.
 
 config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
        bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
        default n if BUSYBOX_CONFIG_FEATURE_SUID
        depends on BUSYBOX_CONFIG_FEATURE_SUID
        help
 
 config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
        bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
        default n if BUSYBOX_CONFIG_FEATURE_SUID
        depends on BUSYBOX_CONFIG_FEATURE_SUID
        help
-         Allow the SUID / SGID state of an applet to be determined runtime by
-         checking /etc/busybox.conf.  The format of this file is as follows:
+         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.)
+         The format of this file is as follows:
 
          <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
 
 
          <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
 
@@ -138,17 +193,32 @@ config BUSYBOX_CONFIG_SELINUX
        bool "Support NSA Security Enhanced Linux"
        default n
        help
        bool "Support NSA Security Enhanced Linux"
        default n
        help
-         Enable support for SE Linux in applets ls, ps, and id.  Also provide
-         the option of compiling in SE Linux applets.
+         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 SE Linux Full Userland installed, this
-         stuff will not compile.  Go visit
+         If you do not have a complete SELinux userland installed, this stuff
+         will not compile. Go visit
                http://www.nsa.gov/selinux/index.html
                http://www.nsa.gov/selinux/index.html
-         to download the necessary stuff to allow busybox to compile with this
-         option enabled.
+         to download the necessary stuff to allow busybox to compile with
+         this option enabled. Specifially, libselinux 1.28 or better is
+         directly required by busybox. If the installation is located in a
+         non-standard directory, provide it by invoking make as follows:
+               CFLAGS=-I<libselinux-include-path> \
+               LDFLAGS=-L<libselinux-lib-path> \
+               make
 
          Most people will leave this set to 'N'.
 
 
          Most people will leave this set to 'N'.
 
+config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
+       string "Path to BusyBox executable"
+       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
+         mounted, /proc/self/exe always points to the currently running
+         executable.  If you haven't got /proc, set this to wherever you
+         want to run BusyBox from.
+
 endmenu
 
 menu 'Build Options'
 endmenu
 
 menu 'Build Options'
@@ -167,21 +237,18 @@ config BUSYBOX_CONFIG_STATIC
 
          Most people will leave this set to 'N'.
 
 
          Most people will leave this set to 'N'.
 
-# The busybox shared library feature is there so make standalone can produce
-# smaller applets.  Since make standalone isn't in yet, there's nothing using
-# this yet, and so it's disabled.
-config BUSYBOX_CONFIG_DISABLE_SHARED
-       bool
-       default n
-
 config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
        bool "Build shared libbusybox"
        default n
 config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
        bool "Build shared libbusybox"
        default n
-       depends on BUSYBOX_CONFIG_DISABLE_SHARED
        help
          Build a shared library libbusybox.so which contains all
          libraries used inside busybox.
 
        help
          Build a shared library libbusybox.so which contains all
          libraries used inside busybox.
 
+         This is an experimental feature intended to support the upcoming
+         "make standalone" mode.  Enabling it against the one big busybox
+         binary serves no purpose (and increases the size).  You should
+         almost certainly say "no" to this right now.
+
 config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX
        bool "Feature-complete libbusybox"
        default n if !CONFIG_FEATURE_SHARED_BUSYBOX
 config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX
        bool "Feature-complete libbusybox"
        default n if !CONFIG_FEATURE_SHARED_BUSYBOX
@@ -239,15 +306,6 @@ config BUSYBOX_CROSS_COMPILER_PREFIX
          then I would enter '/usr/i386-linux-uclibc/bin/i386-uclibc-' here,
          which will ensure the correct compiler is used.
 
          then I would enter '/usr/i386-linux-uclibc/bin/i386-uclibc-' here,
          which will ensure the correct compiler is used.
 
-config BUSYBOX_EXTRA_CFLAGS_OPTIONS
-       string
-       default "-Os "
-       help
-         Do you want to pass any extra CFLAGS options to the compiler as
-         you build BusyBox? If so, this is the option for you...  For example,
-         if you want to add some simple compiler switches (like -march=i686),
-         or check for warnings using -Werror, just those options here.
-
 config BUSYBOX_CONFIG_BUILD_AT_ONCE
        bool "Compile all sources at once"
        default n
 config BUSYBOX_CONFIG_BUILD_AT_ONCE
        bool "Compile all sources at once"
        default n
@@ -272,17 +330,27 @@ endmenu
 menu 'Debugging Options'
 
 config BUSYBOX_CONFIG_DEBUG
 menu 'Debugging Options'
 
 config BUSYBOX_CONFIG_DEBUG
-       bool "Build BusyBox with Debugging symbols"
+       bool "Build BusyBox with extra Debugging symbols"
        default n
        help
        default n
        help
-         Say Y here if you wish to compile BusyBox with debugging symbols.
-         This will allow you to use a debugger 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 development and want to debug BusyBox, answer Y.
+         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
+         development and want to debug BusyBox, answer Y.
 
          Most people should answer N.
 
 
          Most people should answer N.
 
+config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
+       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
+         in a much bigger executable that more closely matches the source
+         code.
+
 choice
        prompt "Additional debugging library"
        default BUSYBOX_CONFIG_NO_DEBUG_LIB
 choice
        prompt "Additional debugging library"
        default BUSYBOX_CONFIG_NO_DEBUG_LIB
@@ -329,7 +397,7 @@ config BUSYBOX_CONFIG_DEBUG_YANK_SUSv2
        bool "Disable obsolete features removed before SUSv3?"
        default y
        help
        bool "Disable obsolete features removed before SUSv3?"
        default y
        help
-         This option will disable backwards compatability with SuSv2,
+         This option will disable backwards compatibility with SuSv2,
          specifically, old-style numeric options ('command -1 <file>')
          will not be supported in head, tail, and fold.  (Note: should
          yank from renice too.)
          specifically, old-style numeric options ('command -1 <file>')
          will not be supported in head, tail, and fold.  (Note: should
          yank from renice too.)
index bd5c4b1..ac71d75 100644 (file)
@@ -29,7 +29,7 @@ config BUSYBOX_CONFIG_AR
          probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
          probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
-       bool "  Enable support for long filenames (not need for debs)"
+       bool "Enable support for long filenames (not need for debs)"
        default n
        depends on BUSYBOX_CONFIG_AR
        help
        default n
        depends on BUSYBOX_CONFIG_AR
        help
@@ -89,7 +89,7 @@ config BUSYBOX_CONFIG_DPKG_DEB
          probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
          probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
-       bool "  extract only (-x)"
+       bool "extract only (-x)"
        default n
        depends on BUSYBOX_CONFIG_DPKG_DEB
        help
        default n
        depends on BUSYBOX_CONFIG_DPKG_DEB
        help
@@ -106,7 +106,7 @@ config BUSYBOX_CONFIG_GUNZIP
          an archive, without decompressing it.
 
 config BUSYBOX_CONFIG_FEATURE_GUNZIP_UNCOMPRESS
          an archive, without decompressing it.
 
 config BUSYBOX_CONFIG_FEATURE_GUNZIP_UNCOMPRESS
-       bool "  Uncompress support"
+       bool "Uncompress support"
        default y
        depends on BUSYBOX_CONFIG_GUNZIP
        help
        default y
        depends on BUSYBOX_CONFIG_GUNZIP
        help
@@ -150,7 +150,7 @@ config BUSYBOX_CONFIG_TAR
          UNIX archive program.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
          UNIX archive program.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
-       bool "  Enable archive creation"
+       bool "Enable archive creation"
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
@@ -158,7 +158,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
          tar archives using the `-c' option.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
          tar archives using the `-c' option.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
-       bool "  Enable -j option to handle .tar.bz2 files"
+       bool "Enable -j option to handle .tar.bz2 files"
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
@@ -166,7 +166,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
          archives compressed with bzip2.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
          archives compressed with bzip2.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
-       bool "  Enable -a option to handle .tar.lzma files"
+       bool "Enable -a option to handle .tar.lzma files"
        default n
        depends on BUSYBOX_CONFIG_TAR
        help
        default n
        depends on BUSYBOX_CONFIG_TAR
        help
@@ -174,7 +174,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
          archives compressed with lzma.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_FROM
          archives compressed with lzma.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_FROM
-       bool "  Enable -X (exclude from) and -T (include from) options)"
+       bool "Enable -X (exclude from) and -T (include from) options)"
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
@@ -182,7 +182,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_FROM
          a list of files to include or exclude from an archive.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_GZIP
          a list of files to include or exclude from an archive.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_GZIP
-       bool "  Enable -z option"
+       bool "Enable -z option"
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
@@ -190,15 +190,15 @@ config BUSYBOX_CONFIG_FEATURE_TAR_GZIP
          when creating or extracting tar gziped archives.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
          when creating or extracting tar gziped archives.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS
-       bool "  Enable -Z option"
+       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.
 
        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_OLDGNU_COMPATABILITY
-       bool "  Enable support for old tar header format"
+config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
+       bool "Enable support for old tar header format"
        default n
        depends on BUSYBOX_CONFIG_TAR
        help
        default n
        depends on BUSYBOX_CONFIG_TAR
        help
@@ -207,7 +207,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY
          repacking your ancient archives with the new format.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
          repacking your ancient archives with the new format.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
-       bool "  Enable support for some GNU tar extensions"
+       bool "Enable support for some GNU tar extensions"
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
        default y
        depends on BUSYBOX_CONFIG_TAR
        help
@@ -215,9 +215,9 @@ config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
          linknames.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
          linknames.
 
 config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
-       bool "  Enable long options"
+       bool "Enable long options"
        default n
        default n
-       depends on BUSYBOX_CONFIG_TAR
+       depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_GETOPT_LONG
        help
                Enable use of long options, increases size by about 400 Bytes
 
        help
                Enable use of long options, increases size by about 400 Bytes
 
@@ -244,11 +244,11 @@ config BUSYBOX_CONFIG_UNLZMA
          should probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
          should probably say N here.
 
 config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
-       bool "  Optimze unlzma for speed"
+       bool "Optimze unlzma for speed"
        default n
        depends on BUSYBOX_CONFIG_UNLZMA
        help
        default n
        depends on BUSYBOX_CONFIG_UNLZMA
        help
-         This option reduce decompression time by about 33% at the cost of
+         This option reduces decompression time by about 33% at the cost of
          a 2K bigger binary.
 
 config BUSYBOX_CONFIG_UNZIP
          a 2K bigger binary.
 
 config BUSYBOX_CONFIG_UNZIP
@@ -265,7 +265,7 @@ comment "Common options for cpio and tar"
        depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
 
 config BUSYBOX_CONFIG_FEATURE_UNARCHIVE_TAPE
        depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
 
 config BUSYBOX_CONFIG_FEATURE_UNARCHIVE_TAPE
-       bool "  Enable tape drive support"
+       bool "Enable tape drive support"
        default n
        depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
        help
        default n
        depends on BUSYBOX_CONFIG_CPIO || BUSYBOX_CONFIG_TAR
        help
@@ -275,7 +275,7 @@ comment "Common options for dpkg and dpkg_deb"
        depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
 
 config BUSYBOX_CONFIG_FEATURE_DEB_TAR_GZ
        depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
 
 config BUSYBOX_CONFIG_FEATURE_DEB_TAR_GZ
-       bool "  gzip debian packages (normal)"
+       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
        default n if BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
        depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
        help
@@ -284,7 +284,7 @@ config BUSYBOX_CONFIG_FEATURE_DEB_TAR_GZ
          If you want compatibility with standard .deb's you should say yes here.
 
 config BUSYBOX_CONFIG_FEATURE_DEB_TAR_BZ2
          If you want compatibility with standard .deb's you should say yes here.
 
 config BUSYBOX_CONFIG_FEATURE_DEB_TAR_BZ2
-       bool "  bzip2 debian packages"
+       bool "bzip2 debian packages"
        default n
        depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
        help
        default n
        depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
        help
@@ -295,7 +295,7 @@ config BUSYBOX_CONFIG_FEATURE_DEB_TAR_BZ2
          use an internal control.tar.bz2 or data.tar.bz2.
 
 config BUSYBOX_CONFIG_FEATURE_DEB_TAR_LZMA
          use an internal control.tar.bz2 or data.tar.bz2.
 
 config BUSYBOX_CONFIG_FEATURE_DEB_TAR_LZMA
-       bool "  lzma debian packages"
+       bool "lzma debian packages"
        default n
        depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
        help
        default n
        depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
        help
index 4faaeb4..1efe300 100644 (file)
@@ -65,6 +65,13 @@ config BUSYBOX_CONFIG_SETCONSOLE
          This program redirects the system console to another device,
          like the current tty while logged in via telnet.
 
          This program redirects the system console to another device,
          like the current tty while logged in via telnet.
 
+config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_SET_CONSOLE && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the setconsole applet.
+
 config BUSYBOX_CONFIG_SETKEYCODES
        bool "setkeycodes"
        default n
 config BUSYBOX_CONFIG_SETKEYCODES
        bool "setkeycodes"
        default n
@@ -72,4 +79,10 @@ config BUSYBOX_CONFIG_SETKEYCODES
          This program loads entries into the kernel's scancode-to-keycode
          map, allowing unusual keyboards to generate usable keycodes.
 
          This program loads entries into the kernel's scancode-to-keycode
          map, allowing unusual keyboards to generate usable keycodes.
 
+config BUSYBOX_CONFIG_SETLOGCONS
+       bool "setlogcons"
+       default n
+       help
+         This program redirects the output console of kernel messages.
+
 endmenu
 endmenu
index 53984e3..6aaee5e 100644 (file)
@@ -26,6 +26,13 @@ config BUSYBOX_CONFIG_CAT
          cat is used to concatenate files and print them to the standard
          output.  Enable this option if you wish to enable the 'cat' utility.
 
          cat is used to concatenate files and print them to the standard
          output.  Enable this option if you wish to enable the 'cat' utility.
 
+config BUSYBOX_CONFIG_CATV
+       bool "catv"
+       default n
+       help
+         Display nonprinting characters as escape sequences (like some
+         implementations' cat -v option).
+
 config BUSYBOX_CONFIG_CHGRP
        bool "chgrp"
        default y
 config BUSYBOX_CONFIG_CHGRP
        bool "chgrp"
        default y
@@ -52,6 +59,12 @@ config BUSYBOX_CONFIG_CHROOT
          chroot is used to change the root directory and run a command.
          The default command is `/bin/sh'.
 
          chroot is used to change the root directory and run a command.
          The default command is `/bin/sh'.
 
+config BUSYBOX_CONFIG_CKSUM
+       bool "cksum"
+       default n
+       help
+         cksum is used to calculate the CRC32 checksum of a file.
+
 config BUSYBOX_CONFIG_CMP
        bool "cmp"
        default n
 config BUSYBOX_CONFIG_CMP
        bool "cmp"
        default n
@@ -87,7 +100,7 @@ config BUSYBOX_CONFIG_DATE
          current time in the given format.
 
 config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
          current time in the given format.
 
 config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
-       bool "  Enable ISO date format output (-I)"
+       bool "Enable ISO date format output (-I)"
        default y
        depends on BUSYBOX_CONFIG_DATE
        help
        default y
        depends on BUSYBOX_CONFIG_DATE
        help
@@ -102,6 +115,26 @@ config BUSYBOX_CONFIG_DD
          by default) using specific input and output blocksizes,
          while optionally performing conversions on it.
 
          by default) using specific input and output blocksizes,
          while optionally performing conversions on it.
 
+config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
+       bool "Enable DD signal handling for status reporting"
+       default y
+       depends on BUSYBOX_CONFIG_DD
+       help
+         sending a SIGUSR1 signal to a running `dd' process makes it 
+         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 
+         10899206+0 records in 10899206+0 records out
+
+config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
+       bool "Enable ibs, obs and conv options"
+       default n
+       depends on BUSYBOX_CONFIG_DD
+       help
+         Enables support for writing a certain number of bytes in and out,
+         at a time, and performing conversions on the data stream.
+
 config BUSYBOX_CONFIG_DF
        bool "df"
        default y
 config BUSYBOX_CONFIG_DF
        bool "df"
        default y
@@ -109,6 +142,38 @@ config BUSYBOX_CONFIG_DF
          df reports the amount of disk space used and available
          on filesystems.
 
          df reports the amount of disk space used and available
          on filesystems.
 
+config BUSYBOX_CONFIG_DIFF
+       bool "diff"
+       default n
+       help
+         diff compares two files or directories and outputs the
+         differences between them in a form that can be given to
+         the patch command.
+
+config BUSYBOX_CONFIG_FEATURE_DIFF_BINARY
+       bool "Enable checks for binary files"
+       default n
+       depends on BUSYBOX_CONFIG_DIFF
+       help
+         This option enables support for checking for binary files
+         before a comparison is carried out.
+
+config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
+       bool "Enable directory support"
+       default n
+       depends on BUSYBOX_CONFIG_DIFF
+       help
+         This option enables support for directory and subdirectory
+         comparison.
+
+config BUSYBOX_CONFIG_FEATURE_DIFF_MINIMAL
+       bool "Enable -d option to find smaller sets of changes"
+       default n
+       depends on BUSYBOX_CONFIG_DIFF
+       help
+         Enabling this option allows the use of -d to make diff
+         try hard to find the smallest possible set of changes.
+
 config BUSYBOX_CONFIG_DIRNAME
        bool "dirname"
        default y
 config BUSYBOX_CONFIG_DIRNAME
        bool "dirname"
        default y
@@ -127,6 +192,9 @@ config BUSYBOX_CONFIG_UNIX2DOS
        bool
        default n
        depends on BUSYBOX_CONFIG_DOS2UNIX
        bool
        default n
        depends on BUSYBOX_CONFIG_DOS2UNIX
+       help
+         unix2dos is used to convert a text file from UNIX format to
+         DOS format, and vice versa.
 
 config BUSYBOX_CONFIG_DU
        bool "du (default blocksize of 512 bytes)"
 
 config BUSYBOX_CONFIG_DU
        bool "du (default blocksize of 512 bytes)"
@@ -135,8 +203,8 @@ config BUSYBOX_CONFIG_DU
          du is used to report the amount of disk space used
          for specified files.
 
          du is used to report the amount of disk space used
          for specified files.
 
-config BUSYBOX_CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K
-       bool "  Use a default blocksize of 1024 bytes (1K)"
+config BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
+       bool "Use a default blocksize of 1024 bytes (1K)"
        default y
        depends on BUSYBOX_CONFIG_DU
        help
        default y
        depends on BUSYBOX_CONFIG_DU
        help
@@ -150,7 +218,7 @@ config BUSYBOX_CONFIG_ECHO
 
 # this entry also appears in shell/Config.in, next to the echo builtin
 config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
 
 # this entry also appears in shell/Config.in, next to the echo builtin
 config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
-       bool "  Enable echo options (-n and -e)"
+       bool "Enable echo options (-n and -e)"
        default y
        depends on BUSYBOX_CONFIG_ECHO
        help
        default y
        depends on BUSYBOX_CONFIG_ECHO
        help
@@ -164,6 +232,13 @@ config BUSYBOX_CONFIG_ENV
          a command; without options it displays the current
          environment.
 
          a command; without options it displays the current
          environment.
 
+config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the env applet.
+
 config BUSYBOX_CONFIG_EXPR
        bool "expr"
        default y
 config BUSYBOX_CONFIG_EXPR
        bool "expr"
        default y
@@ -172,7 +247,7 @@ config BUSYBOX_CONFIG_EXPR
          to standard output.
 
 config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
          to standard output.
 
 config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
-       bool "    Extend Posix numbers support to 64 bit"
+       bool "Extend Posix numbers support to 64 bit"
        default n
        depends on BUSYBOX_CONFIG_EXPR
        help
        default n
        depends on BUSYBOX_CONFIG_EXPR
        help
@@ -200,7 +275,7 @@ config BUSYBOX_CONFIG_HEAD
          from files.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
          from files.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
-       bool "  Enable head options (-c, -q, and -v)"
+       bool "Enable head options (-c, -q, and -v)"
        default y
        depends on BUSYBOX_CONFIG_HEAD
        help
        default y
        depends on BUSYBOX_CONFIG_HEAD
        help
@@ -225,6 +300,13 @@ config BUSYBOX_CONFIG_INSTALL
        help
          Copy files and set attributes.
 
        help
          Copy files and set attributes.
 
+config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the install applet.
+
 config BUSYBOX_CONFIG_LENGTH
        bool "length"
        default y
 config BUSYBOX_CONFIG_LENGTH
        bool "length"
        default y
@@ -250,56 +332,56 @@ config BUSYBOX_CONFIG_LS
          ls is used to list the contents of directories.
 
 config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
          ls is used to list the contents of directories.
 
 config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
-       bool "  Enable filetyping options (-p and -F)"
+       bool "Enable filetyping options (-p and -F)"
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Enable the ls options (-p and -F).
 
 config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Enable the ls options (-p and -F).
 
 config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
-       bool "  Enable symlinks dereferencing (-L)"
+       bool "Enable symlinks dereferencing (-L)"
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Enable the ls option (-L).
 
 config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Enable the ls option (-L).
 
 config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
-       bool "  Enable recursion (-R)"
+       bool "Enable recursion (-R)"
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Enable the ls option (-R).
 
 config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Enable the ls option (-R).
 
 config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
-       bool "  Sort the file names"
+       bool "Sort the file names"
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Allow ls to sort file names alphabetically.
 
 config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Allow ls to sort file names alphabetically.
 
 config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
-       bool "  Show file timestamps"
+       bool "Show file timestamps"
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Allow ls to display timestamps for files.
 
 config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Allow ls to display timestamps for files.
 
 config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
-       bool "  Show username/groupnames"
+       bool "Show username/groupnames"
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Allow ls to display username/groupname for files.
 
 config BUSYBOX_CONFIG_FEATURE_LS_COLOR
        default y
        depends on BUSYBOX_CONFIG_LS
        help
          Allow ls to display username/groupname for files.
 
 config BUSYBOX_CONFIG_FEATURE_LS_COLOR
-       bool "  Allow use of color to identify file types"
+       bool "Allow use of color to identify file types"
        default y
        default y
-       depends on BUSYBOX_CONFIG_LS
+       depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_GETOPT_LONG
        help
          This enables the --color option to ls.
 
 config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
        help
          This enables the --color option to ls.
 
 config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
-       bool "  Produce colored ls output by default"
+       bool "Produce colored ls output by default"
        default y
        depends on BUSYBOX_CONFIG_FEATURE_LS_COLOR
        help
        default y
        depends on BUSYBOX_CONFIG_FEATURE_LS_COLOR
        help
@@ -321,6 +403,13 @@ config BUSYBOX_CONFIG_MKDIR
        help
          mkdir is used to create directories with the specified names.
 
        help
          mkdir is used to create directories with the specified names.
 
+config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the mkdir applet.
+
 config BUSYBOX_CONFIG_MKFIFO
        bool "mkfifo"
        default y
 config BUSYBOX_CONFIG_MKFIFO
        bool "mkfifo"
        default y
@@ -341,6 +430,13 @@ config BUSYBOX_CONFIG_MV
        help
          mv is used to move or rename files or directories.
 
        help
          mv is used to move or rename files or directories.
 
+config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the mv applet.
+
 config BUSYBOX_CONFIG_NICE
        bool "nice"
        default n
 config BUSYBOX_CONFIG_NICE
        bool "nice"
        default n
@@ -416,7 +512,7 @@ config BUSYBOX_CONFIG_SLEEP
          sleep is used to pause for a specified number of seconds,
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
          sleep is used to pause for a specified number of seconds,
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
-       bool "  Enable multiple integer args and optional time suffixes"
+       bool "Enable multiple integer args and optional time suffixes"
        default y
        depends on BUSYBOX_CONFIG_SLEEP
        help
        default y
        depends on BUSYBOX_CONFIG_SLEEP
        help
@@ -429,7 +525,7 @@ config BUSYBOX_CONFIG_SORT
          sort is used to sort lines of text in specified files.
 
 config BUSYBOX_CONFIG_FEATURE_SORT_BIG
          sort is used to sort lines of text in specified files.
 
 config BUSYBOX_CONFIG_FEATURE_SORT_BIG
-       bool "  full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
+       bool "full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
        default n
        depends on BUSYBOX_CONFIG_SORT
        help
        default n
        depends on BUSYBOX_CONFIG_SORT
        help
@@ -447,7 +543,7 @@ config BUSYBOX_CONFIG_STAT
          display file or filesystem status.
 
 config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
          display file or filesystem status.
 
 config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
-       bool "  Enable custom formats (-c)"
+       bool "Enable custom formats (-c)"
        default n
        depends on BUSYBOX_CONFIG_STAT
        help
        default n
        depends on BUSYBOX_CONFIG_STAT
        help
@@ -481,7 +577,7 @@ config BUSYBOX_CONFIG_TAIL
          from files.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
          from files.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
-       bool "  Enable extra tail options (-q, -s, and -v)"
+       bool "Enable extra tail options (-q, -s, and -v)"
        default y
        depends on BUSYBOX_CONFIG_TAIL
        help
        default y
        depends on BUSYBOX_CONFIG_TAIL
        help
@@ -496,7 +592,7 @@ config BUSYBOX_CONFIG_TEE
          to standard output and files.
 
 config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
          to standard output and files.
 
 config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
-       bool "  Enable block i/o (larger/faster) instead of byte i/o."
+       bool "Enable block i/o (larger/faster) instead of byte i/o."
        default y
        depends on BUSYBOX_CONFIG_TEE
        help
        default y
        depends on BUSYBOX_CONFIG_TEE
        help
@@ -507,11 +603,11 @@ config BUSYBOX_CONFIG_TEST
        default y
        help
          test is used to check file types and compare values,
        default y
        help
          test is used to check file types and compare values,
-         returning an appropriate exit code. The shells (ash
-         and bash) have test builtin.
+         returning an appropriate exit code.  The bash shell
+         has test built in, ash can build it in optionally.
 
 config BUSYBOX_CONFIG_FEATURE_TEST_64
 
 config BUSYBOX_CONFIG_FEATURE_TEST_64
-       bool "  Extend test to 64 bit"
+       bool "Extend test to 64 bit"
        default n
        depends on BUSYBOX_CONFIG_TEST
        help
        default n
        depends on BUSYBOX_CONFIG_TEST
        help
@@ -532,7 +628,7 @@ config BUSYBOX_CONFIG_TR
          input, writing to standard output.
 
 config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
          input, writing to standard output.
 
 config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
-       bool "  Enable character classes (such as [:upper:])"
+       bool "Enable character classes (such as [:upper:])"
        default n
        depends on BUSYBOX_CONFIG_TR
        help
        default n
        depends on BUSYBOX_CONFIG_TR
        help
@@ -540,7 +636,7 @@ config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
          tr [:upper:] [:lower:] to convert input into lowercase.
 
 config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
          tr [:upper:] [:lower:] to convert input into lowercase.
 
 config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
-       bool "  Enable equivalence classes"
+       bool "Enable equivalence classes"
        default n
        depends on BUSYBOX_CONFIG_TR
        help
        default n
        depends on BUSYBOX_CONFIG_TR
        help
@@ -633,7 +729,7 @@ comment "Common options for cp and mv"
        depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
 
 config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
        depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
 
 config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
-       bool "  Preserve hard links"
+       bool "Preserve hard links"
        default y
        depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
        help
        default y
        depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
        help
@@ -643,7 +739,7 @@ comment "Common options for ls, more and telnet"
        depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
 
 config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
        depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
 
 config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
-       bool "  Calculate terminal & column widths"
+       bool "Calculate terminal & column widths"
        default y
        depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
        help
        default y
        depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
        help
@@ -657,7 +753,7 @@ comment "Common options for df, du, ls"
        depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
 
 config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
        depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
 
 config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
-       bool "  Support for human readable output (example 13k, 23M, 235G)"
+       bool "Support for human readable output (example 13k, 23M, 235G)"
        default y
        depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
        help
        default y
        depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
        help
@@ -667,7 +763,7 @@ comment "Common options for md5sum, sha1sum"
        depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
 
 config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
        depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
 
 config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
-       bool "  Enable -c, -s and -w options"
+       bool "Enable -c, -s and -w options"
        default y
        depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
        help
        default y
        depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
        help
index 71f2bf3..bc98103 100644 (file)
@@ -25,7 +25,7 @@ config BUSYBOX_CONFIG_READLINK
          of the file it points to
 
 config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
          of the file it points to
 
 config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
-       bool "  Enable canonicalization by following all symlinks (-f)"
+       bool "Enable canonicalization by following all symlinks (-f)"
        default n
        depends on BUSYBOX_CONFIG_READLINK
        help
        default n
        depends on BUSYBOX_CONFIG_READLINK
        help
@@ -46,6 +46,13 @@ config BUSYBOX_CONFIG_RUN_PARTS
          Unless you know that run-parts is used in some of your scripts
          you can safely say N here.
 
          Unless you know that run-parts is used in some of your scripts
          you can safely say N here.
 
+config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the run-parts applet.
+
 config BUSYBOX_CONFIG_START_STOP_DAEMON
        bool "start-stop-daemon"
        default n
 config BUSYBOX_CONFIG_START_STOP_DAEMON
        bool "start-stop-daemon"
        default n
@@ -54,6 +61,22 @@ config BUSYBOX_CONFIG_START_STOP_DAEMON
          termination of system-level processes, usually the ones
          started during the startup of the system.
 
          termination of system-level processes, usually the ones
          started during the startup of the system.
 
+config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY
+       bool "Support additional arguments"
+       default n
+       depends on BUSYBOX_CONFIG_START_STOP_DAEMON
+       help
+         Support additional arguments.
+         -o|--oknodo ignored since we exit with 0 anyway
+         -v|--verbose
+
+config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the start-stop-daemon applet.
+
 config BUSYBOX_CONFIG_WHICH
        bool "which"
        default y
 config BUSYBOX_CONFIG_WHICH
        bool "which"
        default y
index 85074b3..3c1a320 100644 (file)
@@ -13,13 +13,21 @@ config BUSYBOX_CONFIG_AWK
          the BusyBox implementation of that programming language.
 
 config BUSYBOX_CONFIG_FEATURE_AWK_MATH
          the BusyBox implementation of that programming language.
 
 config BUSYBOX_CONFIG_FEATURE_AWK_MATH
-       bool "  Enable math functions (requires libm)"
+       bool "Enable math functions (requires libm)"
        default y
        depends on BUSYBOX_CONFIG_AWK
        help
          Enable math functions of the Awk programming language.
          NOTE: This will require libm to be present for linking.
 
        default y
        depends on BUSYBOX_CONFIG_AWK
        help
          Enable math functions of the Awk programming language.
          NOTE: This will require libm to be present for linking.
 
+config BUSYBOX_CONFIG_ED
+       bool "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
+         this, you don't need it.
+
 config BUSYBOX_CONFIG_PATCH
        bool "patch"
        default n
 config BUSYBOX_CONFIG_PATCH
        bool "patch"
        default n
@@ -43,7 +51,7 @@ config BUSYBOX_CONFIG_VI
          you may wish to use something else.
 
 config BUSYBOX_CONFIG_FEATURE_VI_COLON
          you may wish to use something else.
 
 config BUSYBOX_CONFIG_FEATURE_VI_COLON
-       bool "  Enable \":\" colon commands (no \"ex\" mode)"
+       bool "Enable \":\" colon commands (no \"ex\" mode)"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
        default y
        depends on BUSYBOX_CONFIG_VI
        help
@@ -51,7 +59,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_COLON
          provide an "ex" mode.
 
 config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
          provide an "ex" mode.
 
 config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
-       bool "  Enable yank/put commands and mark cmds"
+       bool "Enable yank/put commands and mark cmds"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
        default y
        depends on BUSYBOX_CONFIG_VI
        help
@@ -59,7 +67,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
          busybox vi.
 
 config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
          busybox vi.
 
 config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
-       bool "  Enable search and replace cmds"
+       bool "Enable search and replace cmds"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
        default y
        depends on BUSYBOX_CONFIG_VI
        help
@@ -67,7 +75,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
          busybox vi.
 
 config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
          busybox vi.
 
 config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
-       bool "  Catch signals"
+       bool "Catch signals"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
        default y
        depends on BUSYBOX_CONFIG_VI
        help
@@ -76,14 +84,14 @@ config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
          Ctrl-Z and Ctrl-C and alarms.
 
 config BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD
          Ctrl-Z and Ctrl-C and alarms.
 
 config BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD
-       bool "  Remember previous cmd and \".\" cmd"
+       bool "Remember previous cmd and \".\" cmd"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Make busybox vi remember the last command and be able to repeat it.
 
 config BUSYBOX_CONFIG_FEATURE_VI_READONLY
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Make busybox vi remember the last command and be able to repeat it.
 
 config BUSYBOX_CONFIG_FEATURE_VI_READONLY
-       bool "  Enable -R option and \"view\" mode"
+       bool "Enable -R option and \"view\" mode"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
        default y
        depends on BUSYBOX_CONFIG_VI
        help
@@ -91,28 +99,28 @@ config BUSYBOX_CONFIG_FEATURE_VI_READONLY
          open a file in read-only mode.
 
 config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS
          open a file in read-only mode.
 
 config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS
-       bool "  Enable set-able options, ai ic showmatch"
+       bool "Enable set-able options, ai ic showmatch"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Enable the editor to set some (ai, ic, showmatch) options.
 
 config BUSYBOX_CONFIG_FEATURE_VI_SET
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Enable the editor to set some (ai, ic, showmatch) options.
 
 config BUSYBOX_CONFIG_FEATURE_VI_SET
-       bool "  Support for :set"
+       bool "Support for :set"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Support for ":set".
 
 config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Support for ":set".
 
 config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
-       bool "  Handle window resize"
+       bool "Handle window resize"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Make busybox vi behave nicely with terminals that get resized.
 
 config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
        default y
        depends on BUSYBOX_CONFIG_VI
        help
          Make busybox vi behave nicely with terminals that get resized.
 
 config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
-       bool "  Optimize cursor movement"
+       bool "Optimize cursor movement"
        default y
        depends on BUSYBOX_CONFIG_VI
        help
        default y
        depends on BUSYBOX_CONFIG_VI
        help
index 9667bfb..e708259 100644 (file)
@@ -11,8 +11,18 @@ config BUSYBOX_CONFIG_FIND
        help
          find is used to search your system to find specified files.
 
        help
          find is used to search your system to find specified files.
 
+config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
+       bool "Enable -print0 option"
+       default y
+       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
+         newlines and other whitespace to be more easily
+         interpreted by other programs.
+
 config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
 config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
-       bool "  Enable modified time matching (-mtime) option"
+       bool "Enable modified time matching (-mtime) option"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -20,7 +30,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
          files, in days.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
          files, in days.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
-       bool "  Enable modified time matching (-min) option"
+       bool "Enable modified time matching (-min) option"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -28,14 +38,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
          files, in minutes.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_PERM
          files, in minutes.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_PERM
-       bool "  Enable permissions matching (-perm) option"
+       bool "Enable permissions matching (-perm) option"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          Enable searching based on file permissions.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
          Enable searching based on file permissions.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
-       bool "  Enable filetype matching (-type) option"
+       bool "Enable filetype matching (-type) option"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -43,7 +53,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
          directory, socket, device, etc.).
 
 config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
          directory, socket, device, etc.).
 
 config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
-       bool "  Enable stay in filesystem (-xdev) option"
+       bool "Enable stay in filesystem (-xdev) option"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -51,7 +61,7 @@ config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
          filesystem.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
          filesystem.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
-       bool "  Enable -newer option for comparing file mtimes"
+       bool "Enable -newer option for comparing file mtimes"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -59,14 +69,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
          a modified time that is more recent than the specified FILE.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_INUM
          a modified time that is more recent than the specified FILE.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_INUM
-       bool "  Enable inode number matching (-inum) option"
+       bool "Enable inode number matching (-inum) option"
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
          Support the 'find -inum' option for searching by inode number.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
        default n
        depends on BUSYBOX_CONFIG_FIND
        help
          Support the 'find -inum' option for searching by inode number.
 
 config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
-       bool "  Enable (-exec) option allowing execution of commands"
+       bool "Enable (-exec) option allowing execution of commands"
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
        default y
        depends on BUSYBOX_CONFIG_FIND
        help
@@ -80,7 +90,7 @@ config BUSYBOX_CONFIG_GREP
          grep is used to search files for a specified pattern.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
          grep is used to search files for a specified pattern.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
-       bool "  Support extended regular expressions (egrep & grep -E)"
+       bool "Support extended regular expressions (egrep & grep -E)"
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
@@ -89,7 +99,7 @@ config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
          and various repetition operators.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
          and various repetition operators.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
-       bool "  Alias fgrep to grep -F"
+       bool "Alias fgrep to grep -F"
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
@@ -98,7 +108,7 @@ config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
          grep -F is always builtin, this just creates the fgrep alias.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
          grep -F is always builtin, this just creates the fgrep alias.
 
 config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
-       bool "  Enable before and after context flags (-A, -B and -C)"
+       bool "Enable before and after context flags (-A, -B and -C)"
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
        default y
        depends on BUSYBOX_CONFIG_GREP
        help
@@ -114,7 +124,7 @@ config BUSYBOX_CONFIG_XARGS
          every item from standard input.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
          every item from standard input.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
-       bool "  Enable prompt and confirmation option -p"
+       bool "Enable prompt and confirmation option -p"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
@@ -122,7 +132,7 @@ config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
          line and read a line from the terminal.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
          line and read a line from the terminal.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
-       bool "  Enable support single and double quotes and backslash"
+       bool "Enable support single and double quotes and backslash"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
@@ -130,7 +140,7 @@ config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
          and backslash for can use aruments with spaces.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
          and backslash for can use aruments with spaces.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
-       bool "  Enable support options -x"
+       bool "Enable support options -x"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
@@ -138,7 +148,7 @@ config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
          is exceeded.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
          is exceeded.
 
 config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
-       bool "  Enable options -0"
+       bool "Enable options -0"
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
        default y
        depends on BUSYBOX_CONFIG_XARGS
        help
index 88dcaca..3696f70 100644 (file)
@@ -11,15 +11,23 @@ config BUSYBOX_CONFIG_INIT
        help
          init is the first program run when the system boots.
 
        help
          init is the first program run when the system boots.
 
+config BUSYBOX_CONFIG_DEBUG_INIT
+       bool "debugging aid"
+       default n
+       depends on BUSYBOX_CONFIG_INIT
+       help
+         Turn this on to disable all the dangerous
+         rebooting stuff when debugging.
+
 config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
 config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
-       bool "  Support reading an inittab file"
+       bool "Support reading an inittab file"
        default y
        depends on BUSYBOX_CONFIG_INIT
        help
          Allow init to read an inittab file when the system boot.
 
 config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
        default y
        depends on BUSYBOX_CONFIG_INIT
        help
          Allow init to read an inittab file when the system boot.
 
 config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
-       bool "  Support running commands with a controlling-tty"
+       bool "Support running commands with a controlling-tty"
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
@@ -30,14 +38,14 @@ config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
          the console is only accessed during development or for maintenance.
 
 config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
          the console is only accessed during development or for maintenance.
 
 config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
-       bool "  Be _extra_ quiet on boot"
+       bool "Be _extra_ quiet on boot"
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
          Prevent init from logging some messages to the console during boot.
 
 config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
          Prevent init from logging some messages to the console during boot.
 
 config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
-       bool "  Support dumping core for child processes (debugging only)"
+       bool "Support dumping core for child processes (debugging only)"
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
@@ -49,7 +57,7 @@ config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
 
 
 config BUSYBOX_CONFIG_FEATURE_INITRD
 
 
 config BUSYBOX_CONFIG_FEATURE_INITRD
-       bool "  Support running init from within an initrd (not initramfs)"
+       bool "Support running init from within an initrd (not initramfs)"
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
        default n
        depends on BUSYBOX_CONFIG_INIT
        help
@@ -72,9 +80,4 @@ config BUSYBOX_CONFIG_MESG
          Mesg controls access to your terminal by others.  It is typically
          used to allow or disallow other users to write to your terminal
 
          Mesg controls access to your terminal by others.  It is typically
          used to allow or disallow other users to write to your terminal
 
-       default y
-       help
-         Stop all processes and (try to) power off the system.
-
 endmenu
 endmenu
-
index 621d576..33a764e 100644 (file)
@@ -84,14 +84,14 @@ config BUSYBOX_CONFIG_GETTY
          getty lets you log in on a tty, it is normally invoked by init.
 
 config BUSYBOX_CONFIG_FEATURE_UTMP
          getty lets you log in on a tty, it is normally invoked by init.
 
 config BUSYBOX_CONFIG_FEATURE_UTMP
-       bool "  Support utmp file"
+       bool "Support utmp file"
        depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO
        default n
        help
          The file /var/run/utmp is used to track who is currently logged in.
 
 config BUSYBOX_CONFIG_FEATURE_WTMP
        depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO
        default n
        help
          The file /var/run/utmp is used to track who is currently logged in.
 
 config BUSYBOX_CONFIG_FEATURE_WTMP
-       bool "  Support wtmp file"
+       bool "Support wtmp file"
        depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_LAST
        default n
        select BUSYBOX_CONFIG_FEATURE_UTMP
        depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_LAST
        default n
        select BUSYBOX_CONFIG_FEATURE_UTMP
@@ -110,7 +110,7 @@ config BUSYBOX_CONFIG_LOGIN
          work properly.
 
 config BUSYBOX_CONFIG_FEATURE_SECURETTY
          work properly.
 
 config BUSYBOX_CONFIG_FEATURE_SECURETTY
-       bool "  Support for /etc/securetty"
+       bool "Support for /etc/securetty"
        default n
        depends on BUSYBOX_CONFIG_LOGIN
        help
        default n
        depends on BUSYBOX_CONFIG_LOGIN
        help
index 4041701..f13d8ba 100644 (file)
@@ -34,8 +34,15 @@ config BUSYBOX_CONFIG_CROND
          Note that Busybox binary must be setuid root for this applet to
          work properly.
 
          Note that Busybox binary must be setuid root for this applet to
          work properly.
 
+config BUSYBOX_CONFIG_DEBUG_CROND_OPTION
+       bool "Support debug option -d"
+       depends on BUSYBOX_CONFIG_CROND
+       default n
+       help
+         Support option -d to enter debug mode.
+
 config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
 config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
-       bool "  Using /usr/sbin/sendmail?"
+       bool "Using /usr/sbin/sendmail?"
        default n
        depends on BUSYBOX_CONFIG_CROND
        help
        default n
        depends on BUSYBOX_CONFIG_CROND
        help
@@ -57,9 +64,11 @@ config BUSYBOX_CONFIG_DC
          precision arithmetic.
 
 config BUSYBOX_CONFIG_DEVFSD
          precision arithmetic.
 
 config BUSYBOX_CONFIG_DEVFSD
-       bool "devfsd"
+       bool "devfsd (obsolete)"
        default n
        help
        default n
        help
+         This is deprecated, and will be going away in a future release.
+
          Provides compatibility with old device names on a devfs systems.
          You should set it to true if you have devfs enabled.
          The following keywords in devsfd.conf are supported:
          Provides compatibility with old device names on a devfs systems.
          You should set it to true if you have devfs enabled.
          The following keywords in devsfd.conf are supported:
@@ -74,7 +83,8 @@ config BUSYBOX_CONFIG_DEVFSD_MODLOAD
        default n
        depends on BUSYBOX_CONFIG_DEVFSD
        help
        default n
        depends on BUSYBOX_CONFIG_DEVFSD
        help
-         This actually doesn't work with busybox  modutils but needs the real modutils.
+         This actually doesn't work with busybox modutils but needs
+         the external modutils.
 
 config BUSYBOX_CONFIG_DEVFSD_FG_NP
        bool "Enables the -fg and -np options"
 
 config BUSYBOX_CONFIG_DEVFSD_FG_NP
        bool "Enables the -fg and -np options"
@@ -91,6 +101,17 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
        help
          Increases logging to stderr or syslog.
 
        help
          Increases logging to stderr or syslog.
 
+config BUSYBOX_CONFIG_FEATURE_DEVFS
+       bool "  Use devfs names for all devices (obsolete)"
+       default y
+       help
+         This tells busybox to look for names like /dev/loop/0 instead of
+         /dev/loop0.  If your /dev directory has normal names instead of
+         devfs names, you don't want this.
+
+         This is obsolete and will be going away someday.  Consider it
+         deprecated.
+
 config BUSYBOX_CONFIG_EJECT
        bool "eject"
        default n
 config BUSYBOX_CONFIG_EJECT
        bool "eject"
        default n
@@ -112,7 +133,7 @@ config BUSYBOX_CONFIG_LESS
          a wide array of features, and is an improvement over 'more'.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
          a wide array of features, and is an improvement over 'more'.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
-       bool "  Enable bracket searching"
+       bool "Enable bracket searching"
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
@@ -120,7 +141,7 @@ config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
          brackets, facilitating programming.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
          brackets, facilitating programming.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
-       bool "  Enable extra flags"
+       bool "Enable extra flags"
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
@@ -130,7 +151,7 @@ config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
          The -m flag enables a simpler status line with a percentage.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_FLAGCS
          The -m flag enables a simpler status line with a percentage.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_FLAGCS
-       bool "  Enable flag changes"
+       bool "Enable flag changes"
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
@@ -138,14 +159,14 @@ config BUSYBOX_CONFIG_FEATURE_LESS_FLAGCS
          less itself.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
          less itself.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
-       bool "  Enable marks"
+       bool "Enable marks"
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
          Marks enable positions in a file to be stored for easy reference.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
          Marks enable positions in a file to be stored for easy reference.
 
 config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
-       bool "  Enable regular expressions"
+       bool "Enable regular expressions"
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
        default n
        depends on BUSYBOX_CONFIG_LESS
        help
@@ -160,16 +181,17 @@ config BUSYBOX_CONFIG_HDPARM
          BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY option)....
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
          BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY option)....
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
-       bool "  Support obtaining detailed information directly from drives"
+       bool "Support obtaining detailed information directly from drives"
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
-         Enables the -I and -Istdin options to obtain detailed information
+         Enables the -I and -i options to obtain detailed information
          directly from drives about their capabilities and supported ATA
          directly from drives about their capabilities and supported ATA
-         feature set.  Enabling this option will add about 16k...
+         feature set. If no device name is specified, hdparm will read
+         identify data from stdin. Enabling this option will add about 16k...
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
-       bool "  Register an IDE interface (DANGEROUS)"
+       bool "Register an IDE interface (DANGEROUS)"
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
@@ -177,7 +199,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
          This is dangerous stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
          This is dangerous stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
-       bool "  Un-register an IDE interface (DANGEROUS)"
+       bool "Un-register an IDE interface (DANGEROUS)"
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
@@ -185,7 +207,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
          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
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
@@ -193,7 +215,7 @@ 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
          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
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
@@ -202,7 +224,7 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
          stuff, so you should probably say N.
 
 config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
          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
        default n
        depends on BUSYBOX_CONFIG_HDPARM
        help
@@ -231,7 +253,7 @@ config BUSYBOX_CONFIG_MAKEDEVS
           Device properties are passed as command line arguments.
          .
          'table' reads device properties from a file or stdin, allowing
           Device properties are passed as command line arguments.
          .
          'table' reads device properties from a file or stdin, allowing
-         a batch of unrelated devices to be makde with one command.
+         a batch of unrelated devices to be made with one command.
           User/group names are allowed as an alternative to uid/gid.
 
 choice
           User/group names are allowed as an alternative to uid/gid.
 
 choice
@@ -289,6 +311,18 @@ config BUSYBOX_CONFIG_SETSID
        help
          setsid runs a program in a new session
 
        help
          setsid runs a program in a new session
 
+config BUSYBOX_CONFIG_TASKSET
+       bool "taskset"
+       default n
+       help
+         Retrieve or set a processes's CPU affinity
+
+config BUSYBOX_CONFIG_TASKSET
+       bool "taskset"
+       default n
+       help
+         Retrieve or set a processes's CPU affinity (on linux)
+
 config BUSYBOX_CONFIG_TIME
        bool "time"
        default y
 config BUSYBOX_CONFIG_TIME
        bool "time"
        default y
index 7c9f50f..8151914 100644 (file)
@@ -84,7 +84,7 @@ config BUSYBOX_CONFIG_MODPROBE
        bool "modprobe"
        default n
        help
        bool "modprobe"
        default n
        help
-         Handle the loading of modules, and their dependancies on a high
+         Handle the loading of modules, and their dependencies on a high
          level.
 
          Note that in the state, modprobe does not understand multiple
          level.
 
          Note that in the state, modprobe does not understand multiple
@@ -111,7 +111,7 @@ comment "Options common to multiple modutils"
 
 config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
        # Simulate indentation
 
 config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
        # Simulate indentation
-       bool "  Support tainted module checking with new kernels"
+       bool "Support tainted module checking with new kernels"
        default n
        depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD
        help
        default n
        depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD
        help
@@ -122,7 +122,7 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
 
 config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
        # Simulate indentation
 
 config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
        # Simulate indentation
-       bool "  Support version 2.2.x to 2.4.x Linux kernels"
+       bool "Support version 2.2.x to 2.4.x Linux kernels"
        default y
        depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD
        help
        default y
        depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD
        help
@@ -130,7 +130,7 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
 
 config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
        # Simulate indentation
 
 config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
        # Simulate indentation
-       bool "  Support version 2.6.x Linux kernels"
+       bool "Support version 2.6.x Linux kernels"
        default y
        depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE
        help
        default y
        depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE
        help
index 7e280b7..3e0cbc9 100644 (file)
@@ -9,8 +9,8 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
        bool "Enable IPv6 support"
        default y
        help
        bool "Enable IPv6 support"
        default y
        help
-         Enable IPv6 support to busybox. This makes applets that talk IP
-         able to work with IPv6.
+         Enable IPv6 support in busybox.
+         This adds IPv6 support in the networking applets.
 
 config BUSYBOX_CONFIG_ARPING
        bool "arping"
 
 config BUSYBOX_CONFIG_ARPING
        bool "arping"
@@ -22,7 +22,7 @@ config BUSYBOX_CONFIG_DNSD
        bool "dnsd"
        default n
        help
        bool "dnsd"
        default n
        help
-         Small and static DNS server deamon. 
+         Small and static DNS server daemon. 
 
 config BUSYBOX_CONFIG_ETHER_WAKE
        bool "ether-wake"
 
 config BUSYBOX_CONFIG_ETHER_WAKE
        bool "ether-wake"
@@ -34,8 +34,8 @@ config BUSYBOX_CONFIG_FAKEIDENTD
        bool "fakeidentd"
        default n
        help
        bool "fakeidentd"
        default n
        help
-         fakeidentd listens to the ident port and returns a set fake
-         value whatever it gets.
+         fakeidentd listens on the ident port and returns a predefined
+         fake value on any query.
 
 config BUSYBOX_CONFIG_FTPGET
        bool "ftpget"
 
 config BUSYBOX_CONFIG_FTPGET
        bool "ftpget"
@@ -49,6 +49,13 @@ config BUSYBOX_CONFIG_FTPPUT
        help
          Store a remote file via FTP.
 
        help
          Store a remote file via FTP.
 
+config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
+       bool "Enable long options in ftpget/ftpput"
+       default n
+       depends on BUSYBOX_CONFIG_GETOPT_LONG && (CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
+       help
+         Support long options for the ftpget/ftpput applet.
+
 config BUSYBOX_CONFIG_HOSTNAME
        bool "hostname"
        default n
 config BUSYBOX_CONFIG_HOSTNAME
        bool "hostname"
        default n
@@ -61,52 +68,50 @@ config BUSYBOX_CONFIG_HTTPD
        help
          Serve web pages via an HTTP server.
 
        help
          Serve web pages via an HTTP server.
 
-config BUSYBOX_CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
-       bool "  Support using httpd only from inetd"
-       default n
-       depends on BUSYBOX_CONFIG_HTTPD
-       help
-         This option disables uid and port options for the httpd applet
-         but requires inetd server daemon.
-
-config BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
-       bool "  Enable Basic http Authentication"
+config BUSYBOX_CONFIG_FEATURE_HTTPD_WITHOUT_INETD
+       bool "Support using httpd as a daemon (not from inetd)"
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
-         Utilizes password settings from /etc/httpd.conf for basic
-         authentication on a per url basis.
+         This option enables uid and port options for the httpd applet,
+         and eliminates the need to be called from the inetd server daemon.
 
 
-config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
-       bool "  Support MD5 crypted passwords for http Authentication"
-       default y
-       depends on BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
-       help
-         Enables basic per url authentication from /etc/httpd.conf
-         using md5 passwords.
-
-if !CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
 config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
 config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
-       bool "  Support reloading the global config file using hup signal"
-       default y
-       depends on BUSYBOX_CONFIG_HTTPD
+       bool "Support reloading the global config file using hup signal"
+       default n
+       depends on BUSYBOX_CONFIG_HTTPD && BUSYBOX_CONFIG_FEATURE_HTTPD_WITHOUT_INETD
        help
          This option enables processing of SIGHUP to reload cached
          configuration settings.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
        help
          This option enables processing of SIGHUP to reload cached
          configuration settings.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
-       bool "  Enable support -u <user> option"
+       bool "Enable support -u <user> option"
        default n
        default n
-       depends on BUSYBOX_CONFIG_HTTPD
+       depends on BUSYBOX_CONFIG_HTTPD && BUSYBOX_CONFIG_FEATURE_HTTPD_WITHOUT_INETD
        help
          This option allows the server to run as a specific user
          rather than defaulting to the user that starts the server.
          Use of this option requires special privileges to change to a
          different user.
        help
          This option allows the server to run as a specific user
          rather than defaulting to the user that starts the server.
          Use of this option requires special privileges to change to a
          different user.
-endif
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
+       bool "Enable Basic http Authentication"
+       default y
+       depends on BUSYBOX_CONFIG_HTTPD
+       help
+         Utilizes password settings from /etc/httpd.conf for basic
+         authentication on a per url basis.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
+       bool "Support MD5 crypted passwords for http Authentication"
+       default y
+       depends on BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
+       help
+         Enables basic per URL authentication from /etc/httpd.conf
+         using md5 passwords.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
-       bool "  Support loading additional MIME types at run-time"
+       bool "Support loading additional MIME types at run-time"
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
@@ -114,26 +119,26 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
          run-time to be specified in the configuration file.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
          run-time to be specified in the configuration file.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
-       bool "  Support Common Gateway Interface (CGI)"
+       bool "Support Common Gateway Interface (CGI)"
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
          This option allows scripts and executables to be invoked
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
          This option allows scripts and executables to be invoked
-         when specific urls are requested.
+         when specific URLs are requested.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
-       bool "  Enable support for running scripts through an interpreter"
+       bool "Enable support for running scripts through an interpreter"
        default n
        depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
        help
          This option enables support for running scripts through an 
        default n
        depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
        help
          This option enables support for running scripts through an 
-         interpreter. Turn this on, if you want PHP scripts to work 
+         interpreter. Turn this on if you want PHP scripts to work 
          properly. You need to supply an addition line in your httpd 
          config file:
          *.php:/path/to/your/php
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
          properly. You need to supply an addition line in your httpd 
          config file:
          *.php:/path/to/your/php
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
-       bool "  Support the REMOTE_PORT environment variable for CGI"
+       bool "Support the REMOTE_PORT environment variable for CGI"
        default y
        depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
        help
        default y
        depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
        help
@@ -141,11 +146,11 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
          references that contain a unique port number.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
          references that contain a unique port number.
 
 config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
-       bool "  Enable the -e option for shell script CGI simplification."
+       bool "Enable the -e option for shell script CGI simplification."
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
        default y
        depends on BUSYBOX_CONFIG_HTTPD
        help
-         After set, this option allows html encoding arbitrary
+         This option allows html encoding arbitrary
          strings for display of the browser.  Output goes to stdout.
          For example, httpd -e "<Hello World>" as
          "&#60Hello&#32World&#62".
          strings for display of the browser.  Output goes to stdout.
          For example, httpd -e "<Hello World>" as
          "&#60Hello&#32World&#62".
@@ -157,7 +162,7 @@ config BUSYBOX_CONFIG_IFCONFIG
          Ifconfig is used to configure the kernel-resident network interfaces.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS
          Ifconfig is used to configure the kernel-resident network interfaces.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS
-       bool "  Enable status reporting output (+7k)"
+       bool "Enable status reporting output (+7k)"
        default y
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
        default y
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
@@ -165,7 +170,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS
          of the currently active interfaces.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP
          of the currently active interfaces.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP
-       bool "  Enable slip-specific options \"keepalive\" and \"outfill\""
+       bool "Enable slip-specific options \"keepalive\" and \"outfill\""
        default n
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
        default n
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
@@ -173,7 +178,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP
          planning on using serial lines, leave this unchecked.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
          planning on using serial lines, leave this unchecked.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
-       bool "  Enable options \"mem_start\", \"io_addr\", and \"irq\""
+       bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
        default n
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
        default n
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
@@ -181,7 +186,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
          and/or the interrupt line used by the specified device.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW
          and/or the interrupt line used by the specified device.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW
-       bool "  Enable option \"hw\" (ether only)"
+       bool "Enable option \"hw\" (ether only)"
        default y
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
        default y
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
@@ -190,7 +195,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW
          class.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
          class.
 
 config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
-       bool "  Set the broadcast automatically"
+       bool "Set the broadcast automatically"
        default y
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
        default y
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
@@ -215,7 +220,7 @@ config BUSYBOX_CONFIG_IFUPDOWN
          standalone utilities.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
          standalone utilities.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
-       bool "  Use ip applet"
+       bool "Use ip applet"
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
@@ -223,7 +228,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
          than the default of using the older 'ifconfig' and 'route' utilities.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
          than the default of using the older 'ifconfig' and 'route' utilities.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
-       bool "  Use busybox ip applet"
+       bool "Use busybox ip applet"
        default n
        depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
        select BUSYBOX_CONFIG_IP
        default n
        depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
        select BUSYBOX_CONFIG_IP
@@ -237,7 +242,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
          utility or the  "ifup" and "ifdown" applets will not work.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
          utility or the  "ifup" and "ifdown" applets will not work.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
-       bool "  Use busybox ifconfig and route applets"
+       bool "Use busybox ifconfig and route applets"
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN && !CONFIG_FEATURE_IFUPDOWN_IP
        select BUSYBOX_CONFIG_IFCONFIG
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN && !CONFIG_FEATURE_IFUPDOWN_IP
        select BUSYBOX_CONFIG_IFCONFIG
@@ -251,21 +256,21 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
          work.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
          work.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
-       bool "  Enable support for IPv4"
+       bool "Enable support for IPv4"
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
          If you want busybox to talk IPv4, leave this on.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
          If you want busybox to talk IPv4, leave this on.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
-       bool "  Enable support for IPv6"
+       bool "Enable support for IPv6"
        default n
        default n
-       depends on BUSYBOX_CONFIG_IFUPDOWN
+       depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_FEATURE_IPV6
        help
          If you need support for IPv6, turn this option on.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPX
        help
          If you need support for IPv6, turn this option on.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPX
-       bool "  Enable support for IPX"
+       bool "Enable support for IPX"
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
@@ -273,7 +278,7 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPX
          networks.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
          networks.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
-       bool "  Enable mapping support"
+       bool "Enable mapping support"
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
@@ -286,43 +291,43 @@ config BUSYBOX_CONFIG_INETD
        help
          Internet superserver daemon
 
        help
          Internet superserver daemon
 
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO
-       bool "  Support echo service"
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
+       bool "Support echo service"
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Echo received data internal inetd service
 
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Echo received data internal inetd service
 
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD
-       bool "  Support discard service"
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
+       bool "Support discard service"
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Internet /dev/null internal inetd service
 
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Internet /dev/null internal inetd service
 
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME
-       bool "  Support time service"
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME
+       bool "Support time service"
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Return 32 bit time since 1900 internal inetd service
 
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Return 32 bit time since 1900 internal inetd service
 
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME
-       bool "  Support daytime service"
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
+       bool "Support daytime service"
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Return human-readable time internal inetd service
 
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Return human-readable time internal inetd service
 
-config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN
-       bool "  Support chargen service"
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
+       bool "Support chargen service"
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Familiar character generator internal inetd service
 
 config BUSYBOX_CONFIG_FEATURE_INETD_RPC
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
          Familiar character generator internal inetd service
 
 config BUSYBOX_CONFIG_FEATURE_INETD_RPC
-       bool "  Support RPC services"
+       bool "Support RPC services"
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
        default n
        depends on BUSYBOX_CONFIG_INETD
        help
@@ -337,99 +342,88 @@ config BUSYBOX_CONFIG_IP
          utility.  You generally don't need "ip" to use busybox with
          TCP/IP.
 
          utility.  You generally don't need "ip" to use busybox with
          TCP/IP.
 
-if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPADDR
-       config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
-               default n
-       comment "  address (forced enabled for ipaddr)"
-endif
-if ! (CONFIG_IP && BUSYBOX_CONFIG_IPADDR)
-       config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
-               bool "  address"
-               default n
-               depends on BUSYBOX_CONFIG_IP
-               help
-                 Address manipulation support for the "ip" applet.
-endif
-
-if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPLINK
-       config BUSYBOX_CONFIG_FEATURE_IP_LINK
-               default n
-       comment "  link (forced enabled for iplink)"
-endif
-if !(CONFIG_IP && BUSYBOX_CONFIG_IPLINK)
-       config BUSYBOX_CONFIG_FEATURE_IP_LINK
-               bool "  link"
-               default n
-               depends on BUSYBOX_CONFIG_IP
-               help
-                 Configure network devices with "ip".
-endif
-
-if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPROUTE
-       config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
-               default n
-       comment "  route (forced enabled for iproute)"
-endif
-if !(CONFIG_IP && BUSYBOX_CONFIG_IPROUTE)
-       config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
-               bool "  route"
-               default n
-               depends on BUSYBOX_CONFIG_IP
-               help
-                 Add support for routing table management to "ip".
-endif
-
-if BUSYBOX_CONFIG_IP && BUSYBOX_CONFIG_IPTUNNEL
-       config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
-               default n
-       comment "  tunnel (forced enabled for iptunnel)"
-endif
-if !(CONFIG_IP && BUSYBOX_CONFIG_IPTUNNEL)
-       config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
-               bool "  tunnel"
-               default n
-               depends on BUSYBOX_CONFIG_IP
-               help
-                 Add support for tunneling commands to "ip".
-endif
+config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
+       bool "ip address"
+       default n
+       depends on BUSYBOX_CONFIG_IP
+       help
+         Address manipulation support for the "ip" applet.
 
 
-config BUSYBOX_CONFIG_IPCALC
-       bool "ipcalc"
+config BUSYBOX_CONFIG_FEATURE_IP_LINK
+       bool "ip link"
        default n
        default n
+       depends on BUSYBOX_CONFIG_IP
        help
        help
-         ipcalc takes an IP address and netmask and calculates the
-         resulting broadcast, network, and host range.
+         Configure network devices with "ip".
 
 
-config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
-       bool "  Fancy IPCALC, more options, adds 1 kbyte"
+config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
+       bool "ip route"
        default n
        default n
-       depends on BUSYBOX_CONFIG_IPCALC
+       depends on BUSYBOX_CONFIG_IP
        help
        help
-         Adds the options hostname, prefix and silent to the output of "ipcalc".
+         Add support for routing table management to "ip".
 
 
-config BUSYBOX_CONFIG_IPADDR
-       bool "ipaddr"
+config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
+       bool "ip tunnel"
        default n
        default n
+       depends on BUSYBOX_CONFIG_IP
        help
        help
-         Equivalent to selecting address support to "ip", above.
+         Add support for tunneling commands to "ip".
 
 
-config BUSYBOX_CONFIG_IPLINK
-       bool "iplink"
+config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
+       bool "Support short forms of ip commands."
        default n
        default n
+       depends on BUSYBOX_CONFIG_IP
        help
        help
-         Equivalent to selecting link support to "ip", above.
+         Also support short-form of ip <OBJECT> commands:
+         ip addr   -> ipaddr
+         ip link   -> iplink
+         ip route  -> iproute
+         ip tunnel -> iptunnel
+
+         Say N unless you desparately need the short form of the ip
+         object commands.
+
+config BUSYBOX_CONFIG_IPADDR
+       bool
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
+
+config BUSYBOX_CONFIG_IPLINK
+       bool
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_LINK
 
 config BUSYBOX_CONFIG_IPROUTE
 
 config BUSYBOX_CONFIG_IPROUTE
-       bool "iproute"
+       bool
        default n
        default n
-       help
-         Equivalent to selecting route support to "ip", above.
+       depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ROUTE
 
 config BUSYBOX_CONFIG_IPTUNNEL
 
 config BUSYBOX_CONFIG_IPTUNNEL
-       bool "iptunnel"
+       bool
        default n
        default n
+       depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
+
+config BUSYBOX_CONFIG_IPCALC
+       bool "ipcalc"
+       default n
+       help
+         ipcalc takes an IP address and netmask and calculates the
+         resulting broadcast, network, and host range.
+
+config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
+       bool "Fancy IPCALC, more options, adds 1 kbyte"
+       default n
+       depends on BUSYBOX_CONFIG_IPCALC
+       help
+         Adds the options hostname, prefix and silent to the output of "ipcalc".
+
+config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_GETOPT_LONG
        help
        help
-         Equivalent to selecting tunnel support to "ip", above.
+         Support long options for the ipcalc applet.
 
 config BUSYBOX_CONFIG_NAMEIF
        bool "nameif"
 
 config BUSYBOX_CONFIG_NAMEIF
        bool "nameif"
@@ -486,7 +480,7 @@ config BUSYBOX_CONFIG_PING
          elicit an ICMP ECHO_RESPONSE from a host or gateway.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_PING
          elicit an ICMP ECHO_RESPONSE from a host or gateway.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_PING
-       bool "  Enable fancy ping output"
+       bool "Enable fancy ping output"
        default y
        depends on BUSYBOX_CONFIG_PING
        help
        default y
        depends on BUSYBOX_CONFIG_PING
        help
@@ -501,7 +495,7 @@ config BUSYBOX_CONFIG_PING6
          This will give you a ping that can talk IPv6.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_PING6
          This will give you a ping that can talk IPv6.
 
 config BUSYBOX_CONFIG_FEATURE_FANCY_PING6
-       bool "  Enable fancy ping6 output"
+       bool "Enable fancy ping6 output"
        default y
        depends on BUSYBOX_CONFIG_PING6
        help
        default y
        depends on BUSYBOX_CONFIG_PING6
        help
@@ -522,7 +516,7 @@ config BUSYBOX_CONFIG_TELNET
          used to test other simple protocols.
 
 config BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE
          used to test other simple protocols.
 
 config BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE
-       bool "  Pass TERM type to remote host"
+       bool "Pass TERM type to remote host"
        default y
        depends on BUSYBOX_CONFIG_TELNET
        help
        default y
        depends on BUSYBOX_CONFIG_TELNET
        help
@@ -531,7 +525,7 @@ config BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE
          things like ANSI colors and other control sequences behave.
 
 config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
          things like ANSI colors and other control sequences behave.
 
 config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
-       bool "  Pass USER type to remote host"
+       bool "Pass USER type to remote host"
        default n
        depends on BUSYBOX_CONFIG_TELNET
        help
        default n
        depends on BUSYBOX_CONFIG_TELNET
        help
@@ -583,7 +577,7 @@ config BUSYBOX_CONFIG_TELNETD
 
 
 config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD
 
 
 config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD
-       bool "  Support call from inetd only"
+       bool "Support call from inetd only"
        default n
        depends on BUSYBOX_CONFIG_TELNETD
        help
        default n
        depends on BUSYBOX_CONFIG_TELNETD
        help
@@ -599,7 +593,7 @@ config BUSYBOX_CONFIG_TFTP
          for a network-enabled bootloader.
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_GET
          for a network-enabled bootloader.
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_GET
-       bool "  Enable \"get\" command"
+       bool "Enable \"get\" command"
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
@@ -607,7 +601,7 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_GET
          a client to retrieve a file from a TFTP server.
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
          a client to retrieve a file from a TFTP server.
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
-       bool "  Enable \"put\" command"
+       bool "Enable \"put\" command"
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
@@ -615,14 +609,14 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
          a client to transfer a file to a TFTP server.
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
          a client to transfer a file to a TFTP server.
 
 config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
-       bool "  Enable \"blocksize\" command"
+       bool "Enable \"blocksize\" command"
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
          Allow the client to specify the desired block size for transfers.
 
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
          Allow the client to specify the desired block size for transfers.
 
-config BUSYBOX_CONFIG_FEATURE_TFTP_DEBUG
-       bool "  Enable debug"
+config BUSYBOX_CONFIG_DEBUG_TFTP
+       bool "Enable debug"
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
        default n
        depends on BUSYBOX_CONFIG_TFTP
        help
@@ -637,7 +631,7 @@ config BUSYBOX_CONFIG_TRACEROUTE
          Utility to trace the route of IP packets
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
          Utility to trace the route of IP packets
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
-       bool "  Enable verbose output"
+       bool "Enable verbose output"
        default y
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
        default y
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
@@ -645,7 +639,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
          hostnames and ICMP response types.
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
          hostnames and ICMP response types.
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
-       bool "  Enable loose source route"
+       bool "Enable loose source route"
        default n
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
        default n
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
@@ -653,12 +647,13 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
          (8 maximum).
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
          (8 maximum).
 
 config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
-       bool "  Use ICMP instead of UDP"
+       bool "Use ICMP instead of UDP"
        default n
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
          Add feature to allow for ICMP ECHO instead of UDP datagrams.
 
        default n
        depends on BUSYBOX_CONFIG_TRACEROUTE
        help
          Add feature to allow for ICMP ECHO instead of UDP datagrams.
 
+source package/busybox/config/networking/udhcp/Config.in
 
 config BUSYBOX_CONFIG_VCONFIG
        bool "vconfig"
 
 config BUSYBOX_CONFIG_VCONFIG
        bool "vconfig"
@@ -674,27 +669,32 @@ config BUSYBOX_CONFIG_WGET
          HTTPS, and FTP servers.
 
 config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
          HTTPS, and FTP servers.
 
 config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
-       bool "  Enable a nifty process meter (+2k)"
+       bool "Enable a nifty process meter (+2k)"
        default y
        depends on BUSYBOX_CONFIG_WGET
        help
          Enable the transfer progress bar for wget transfers.
 
 config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
        default y
        depends on BUSYBOX_CONFIG_WGET
        help
          Enable the transfer progress bar for wget transfers.
 
 config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
-       bool "  Enable HTTP authentication"
+       bool "Enable HTTP authentication"
        default y
        depends on BUSYBOX_CONFIG_WGET
        help
          Support authenticated HTTP transfers.
 
 config BUSYBOX_CONFIG_FEATURE_WGET_IP6_LITERAL
        default y
        depends on BUSYBOX_CONFIG_WGET
        help
          Support authenticated HTTP transfers.
 
 config BUSYBOX_CONFIG_FEATURE_WGET_IP6_LITERAL
-       bool "  Enable IPv6 literal addresses"
+       bool "Enable IPv6 literal addresses"
        default y
        default y
-       depends on BUSYBOX_CONFIG_WGET
+       depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_FEATURE_IPV6
        help
          Support IPv6 address literal notation in URLs.
 
        help
          Support IPv6 address literal notation in URLs.
 
-source package/busybox/config/networking/udhcp/Config.in
+config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
+       bool "Enable long options"
+       default y
+       depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_GETOPT_LONG
+       help
+         Support long options for the wget applet.
 
 config BUSYBOX_CONFIG_ZCIP
        bool "zcip"
 
 config BUSYBOX_CONFIG_ZCIP
        bool "zcip"
@@ -708,4 +708,3 @@ config BUSYBOX_CONFIG_ZCIP
          in the busybox examples.
 
 endmenu
          in the busybox examples.
 
 endmenu
-
index d15128c..741afa3 100644 (file)
@@ -5,7 +5,7 @@
 
 menu "udhcp Server/Client"
 
 
 menu "udhcp Server/Client"
 
-config BUSYBOX_CONFIG_UDHCPD
+config BUSYBOX_CONFIG_APP_UDHCPD
        bool "udhcp Server (udhcpd)"
        default n
        help
        bool "udhcp Server (udhcpd)"
        default n
        help
@@ -14,7 +14,7 @@ config BUSYBOX_CONFIG_UDHCPD
 
          See http://udhcp.busybox.net for further details.
 
 
          See http://udhcp.busybox.net for further details.
 
-config BUSYBOX_CONFIG_UDHCPC
+config BUSYBOX_CONFIG_APP_UDHCPC
        bool "udhcp Client (udhcpc)"
        default y
        help
        bool "udhcp Client (udhcpc)"
        default y
        help
@@ -26,10 +26,10 @@ config BUSYBOX_CONFIG_UDHCPC
 
          See http://udhcp.busybox.net for further details.
 
 
          See http://udhcp.busybox.net for further details.
 
-config BUSYBOX_CONFIG_DUMPLEASES
+config BUSYBOX_CONFIG_APP_DUMPLEASES
        bool "Lease display utility (dumpleases)"
        default n
        bool "Lease display utility (dumpleases)"
        default n
-       depends on BUSYBOX_CONFIG_UDHCPD
+       depends on BUSYBOX_CONFIG_APP_UDHCPD
        help
          dumpleases displays the leases written out by the udhcpd server.
          Lease times are stored in the file by time remaining in lease, or
        help
          dumpleases displays the leases written out by the udhcpd server.
          Lease times are stored in the file by time remaining in lease, or
@@ -40,7 +40,7 @@ config BUSYBOX_CONFIG_DUMPLEASES
 config BUSYBOX_CONFIG_FEATURE_UDHCP_SYSLOG
        bool "  Log udhcp messages to syslog (instead of stdout)"
        default n
 config BUSYBOX_CONFIG_FEATURE_UDHCP_SYSLOG
        bool "  Log udhcp messages to syslog (instead of stdout)"
        default n
-       depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
+       depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
        help
          If selected, udhcpd will log all its messages to syslog, otherwise,
          it will attempt to log them to stdout.
        help
          If selected, udhcpd will log all its messages to syslog, otherwise,
          it will attempt to log them to stdout.
@@ -50,7 +50,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_SYSLOG
 config BUSYBOX_CONFIG_FEATURE_UDHCP_DEBUG
        bool "  Compile udhcp with noisy debugging messages"
        default n
 config BUSYBOX_CONFIG_FEATURE_UDHCP_DEBUG
        bool "  Compile udhcp with noisy debugging messages"
        default n
-       depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
+       depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
        help
          If selected, udhcpd will output extra debugging output.  If using
          this option, compile uDHCP with "-g", and do not fork the daemon to
        help
          If selected, udhcpd will output extra debugging output.  If using
          this option, compile uDHCP with "-g", and do not fork the daemon to
index b94632b..34d1ace 100644 (file)
@@ -51,14 +51,14 @@ config BUSYBOX_CONFIG_PIDOF
          those id's on the standard output.
 
 config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
          those id's on the standard output.
 
 config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
-       bool "  Enable argument for single shot (-s)"
+       bool "Enable argument for single shot (-s)"
        default n
        depends on BUSYBOX_CONFIG_PIDOF
        help
          Support argument '-s' for returning only the first pid found.
 
 config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
        default n
        depends on BUSYBOX_CONFIG_PIDOF
        help
          Support argument '-s' for returning only the first pid found.
 
 config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
-       bool "  Enable argument for omitting pids (-o)"
+       bool "Enable argument for omitting pids (-o)"
        default n
        depends on BUSYBOX_CONFIG_PIDOF
        help
        default n
        depends on BUSYBOX_CONFIG_PIDOF
        help
@@ -73,7 +73,7 @@ config BUSYBOX_CONFIG_PS
          ps gives a snapshot of the current processes.
 
 config BUSYBOX_CONFIG_FEATURE_PS_WIDE
          ps gives a snapshot of the current processes.
 
 config BUSYBOX_CONFIG_FEATURE_PS_WIDE
-       bool "  Enable argument for wide output (-w)"
+       bool "Enable argument for wide output (-w)"
        default n
        depends on BUSYBOX_CONFIG_PS
        help
        default n
        depends on BUSYBOX_CONFIG_PS
        help
@@ -102,7 +102,7 @@ config BUSYBOX_CONFIG_TOP
          system.
 
 config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
          system.
 
 config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
-       bool "  Support showing CPU usage percentage (add 2k bytes)"
+       bool "Support showing CPU usage percentage (add 2k bytes)"
        default y
        depends on BUSYBOX_CONFIG_TOP
        help
        default y
        depends on BUSYBOX_CONFIG_TOP
        help
index b9a1b4d..373c746 100644 (file)
@@ -48,14 +48,14 @@ comment "Ash Shell Options"
        depends on BUSYBOX_CONFIG_ASH
 
 config BUSYBOX_CONFIG_ASH_JOB_CONTROL
        depends on BUSYBOX_CONFIG_ASH
 
 config BUSYBOX_CONFIG_ASH_JOB_CONTROL
-       bool "  Enable Job control"
+       bool "Job control"
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable job control in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_READ_NCHARS
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable job control in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_READ_NCHARS
-       bool "  Enable 'read -n N' and 'read -s' support"
+       bool "'read -n N' and 'read -s' support"
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
@@ -63,7 +63,7 @@ config BUSYBOX_CONFIG_ASH_READ_NCHARS
          'read -s' will read without echoing the user's input.
 
 config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
          'read -s' will read without echoing the user's input.
 
 config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
-       bool "  Enable 'read -t S' support."
+       bool "'read -t S' support."
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
@@ -72,21 +72,21 @@ config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
          as a decimal fraction, e.g. 'read -t 2.5 foo'.
 
 config BUSYBOX_CONFIG_ASH_ALIAS
          as a decimal fraction, e.g. 'read -t 2.5 foo'.
 
 config BUSYBOX_CONFIG_ASH_ALIAS
-       bool "  Enable alias support"
+       bool "alias support"
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable alias support in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_MATH_SUPPORT
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable alias support in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_MATH_SUPPORT
-       bool "  Enable Posix math support"
+       bool "Posix math support"
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable math support in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable math support in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
-       bool "    Extend Posix math support to 64 bit"
+       bool "Extend Posix math support to 64 bit"
        default n
        depends on BUSYBOX_CONFIG_ASH_MATH_SUPPORT
        help
        default n
        depends on BUSYBOX_CONFIG_ASH_MATH_SUPPORT
        help
@@ -95,52 +95,53 @@ config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
          large numbers.
 
 config BUSYBOX_CONFIG_ASH_GETOPTS
          large numbers.
 
 config BUSYBOX_CONFIG_ASH_GETOPTS
-       bool "  Enable getopts builtin to parse positional parameters"
+       bool "Builtin getopt to parse positional parameters"
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable getopts builtin in the ash shell.
 
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable getopts builtin in the ash shell.
 
-config BUSYBOX_CONFIG_ASH_CMDCMD
-       bool "  Enable cmdcmd to override shell builtins"
+config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
+       bool "Builtin version of 'echo'"
        default y
        default y
+       select BUSYBOX_CONFIG_ECHO
        depends on BUSYBOX_CONFIG_ASH
        help
        depends on BUSYBOX_CONFIG_ASH
        help
-         Enable support for the ash 'command' builtin, which allows
-         you to run the specified command with the specified arguments,
-         even when there is an ash builtin command with the same name.
+         Enable support for echo, built in to ash.
 
 
-config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
-       bool "  Enable builtin version of 'echo'"
+config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
+       bool "Builtin version of 'test'"
        default y
        default y
+       select BUSYBOX_CONFIG_TEST
        depends on BUSYBOX_CONFIG_ASH
        help
        depends on BUSYBOX_CONFIG_ASH
        help
-         Enable support for echo, built in to ash.
+         Enable support for test, built in to ash.
 
 
-# this entry also appears in coreutils/Config.in, next to the echo applet
-config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
-       bool "  Enable echo options (-n and -e)"
+config BUSYBOX_CONFIG_ASH_CMDCMD
+       bool "'command' command to override shell builtins"
        default y
        default y
-       depends on BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
+       depends on BUSYBOX_CONFIG_ASH
        help
        help
-         This adds options (-n and -e) to echo.
+         Enable support for the ash 'command' builtin, which allows
+         you to run the specified command with the specified arguments,
+         even when there is an ash builtin command with the same name.
 
 config BUSYBOX_CONFIG_ASH_MAIL
 
 config BUSYBOX_CONFIG_ASH_MAIL
-       bool "  Check for new mail on interactive shells"
+       bool "Check for new mail on interactive shells"
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable "check for new mail" in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
          Enable "check for new mail" in the ash shell.
 
 config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
-       bool "  Optimize for size instead of speed"
+       bool "Optimize for size instead of speed"
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Compile ash for reduced size at the price of speed.
 
 config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
        default y
        depends on BUSYBOX_CONFIG_ASH
        help
          Compile ash for reduced size at the price of speed.
 
 config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
-       bool "  Enable pseudorandom generator and variable $RANDOM"
+       bool "Pseudorandom generator and variable $RANDOM"
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
@@ -151,7 +152,7 @@ config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
          variable will no longer have special treatment.
 
 config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
          variable will no longer have special treatment.
 
 config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
-       bool "  Expand prompt string"
+       bool "Expand prompt string"
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
        default n
        depends on BUSYBOX_CONFIG_ASH
        help
@@ -229,13 +230,18 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
          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.
 
          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.
 
+         Note that this will *also* cause applets to take precedence
+         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.
+
          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
          that exact location with that exact name, this option will not work at
          all.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
          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
          that exact location with that exact name, this option will not work at
          all.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
-       bool "command line editing"
+       bool "Command line editing"
        default y
        depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
        help
        default y
        depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
        help
@@ -250,28 +256,28 @@ config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING_VI
          turned on and off with "set -o vi" and "set +o vi".
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_HISTORY
          turned on and off with "set -o vi" and "set +o vi".
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_HISTORY
-       int "history size"
+       int "History size"
        default 15
        depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
        help
          Specify command history size in shell.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_SAVEHISTORY
        default 15
        depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
        help
          Specify command history size in shell.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_SAVEHISTORY
-       bool "history saving"
+       bool "History saving"
        default n
        depends on BUSYBOX_CONFIG_ASH && BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
        help
          Enable history saving in ash shell.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
        default n
        depends on BUSYBOX_CONFIG_ASH && BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
        help
          Enable history saving in ash shell.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
-       bool "tab completion"
+       bool "Tab completion"
        default y
        depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
        help
          Enable tab completion in shell.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
        default y
        depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
        help
          Enable tab completion in shell.
 
 config BUSYBOX_CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
-       bool "username completion"
+       bool "Username completion"
        default n
        depends on BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
        help
        default n
        depends on BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
        help
index 209bdff..f120695 100644 (file)
@@ -21,7 +21,7 @@ config BUSYBOX_CONFIG_SYSLOGD
          you wait long enough....
 
 config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
          you wait long enough....
 
 config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
-       bool "  Rotate message files"
+       bool "Rotate message files"
        default y
        depends on BUSYBOX_CONFIG_SYSLOGD
        help
        default y
        depends on BUSYBOX_CONFIG_SYSLOGD
        help
@@ -29,7 +29,7 @@ config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
          on his own. No need to use an external rotatescript.
 
 config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
          on his own. No need to use an external rotatescript.
 
 config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
-       bool "  Remote Log support"
+       bool "Remote Log support"
        default y
        depends on BUSYBOX_CONFIG_SYSLOGD
        help
        default y
        depends on BUSYBOX_CONFIG_SYSLOGD
        help
@@ -43,7 +43,7 @@ config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
          by an intruder.
 
 config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
          by an intruder.
 
 config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
-       bool "  Circular Buffer support"
+       bool "Circular Buffer support"
        default y
        depends on BUSYBOX_CONFIG_SYSLOGD
        help
        default y
        depends on BUSYBOX_CONFIG_SYSLOGD
        help
@@ -65,7 +65,7 @@ config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
          used to record system log messages.
 
 config BUSYBOX_CONFIG_LOGREAD
          used to record system log messages.
 
 config BUSYBOX_CONFIG_LOGREAD
-       bool "  logread"
+       bool "logread"
        default y
        depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
        help
        default y
        depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
        help
@@ -75,7 +75,7 @@ config BUSYBOX_CONFIG_LOGREAD
          stored in the syslogd circular buffer.
 
 config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
          stored in the syslogd circular buffer.
 
 config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
-       bool "    logread double buffering"
+       bool "logread double buffering"
        default n
        depends on BUSYBOX_CONFIG_LOGREAD
        help
        default n
        depends on BUSYBOX_CONFIG_LOGREAD
        help
index 474ef02..9081555 100644 (file)
@@ -27,7 +27,7 @@ config BUSYBOX_CONFIG_FBSET
          if you wish to enable the 'fbset' utility.
 
 config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
          if you wish to enable the 'fbset' utility.
 
 config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
-       bool "  Turn on extra fbset options"
+       bool "Turn on extra fbset options"
        default n
        depends on BUSYBOX_CONFIG_FBSET
        help
        default n
        depends on BUSYBOX_CONFIG_FBSET
        help
@@ -37,7 +37,7 @@ config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
          options.
 
 config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
          options.
 
 config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
-       bool "  Turn on fbset readmode support"
+       bool "Turn on fbset readmode support"
        default n
        depends on BUSYBOX_CONFIG_FBSET
        help
        default n
        depends on BUSYBOX_CONFIG_FBSET
        help
@@ -80,7 +80,7 @@ config BUSYBOX_FDISK_SUPPORT_LARGE_DISKS
          Enable this option to support large disks > 4GB.
 
 config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
          Enable this option to support large disks > 4GB.
 
 config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
-       bool "  Write support"
+       bool "Write support"
        default n
        depends on BUSYBOX_CONFIG_FDISK
        help
        default n
        depends on BUSYBOX_CONFIG_FDISK
        help
@@ -89,7 +89,7 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
          disabled, you will only be able to view the partition table.
 
 config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
          disabled, you will only be able to view the partition table.
 
 config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
-       bool "  Support AIX disklabels"
+       bool "Support AIX disklabels"
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
@@ -97,7 +97,7 @@ config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
          Most people can safely leave this option disabled.
 
 config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
          Most people can safely leave this option disabled.
 
 config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
-       bool "  Support SGI disklabels"
+       bool "Support SGI disklabels"
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
@@ -105,7 +105,7 @@ config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
          Most people can safely leave this option disabled.
 
 config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
          Most people can safely leave this option disabled.
 
 config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
-       bool "  Support SUN disklabels"
+       bool "Support SUN disklabels"
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
@@ -113,7 +113,7 @@ config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
          Most people can safely leave this option disabled.
 
 config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
          Most people can safely leave this option disabled.
 
 config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
-       bool "  Support BSD disklabels"
+       bool "Support BSD disklabels"
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
@@ -121,7 +121,7 @@ config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
          and define and edit BSD disk slices.
 
 config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
          and define and edit BSD disk slices.
 
 config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
-       bool "  Support expert mode"
+       bool "Support expert mode"
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
        default n
        depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
        help
@@ -164,7 +164,7 @@ comment "Minix filesystem support"
     depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
 
 config BUSYBOX_CONFIG_FEATURE_MINIX2
     depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
 
 config BUSYBOX_CONFIG_FEATURE_MINIX2
-       bool "  Support Minix fs v2 (fsck_minix/mkfs_minix)"
+       bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
        default n
        depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
        help
        default n
        depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
        help
@@ -199,17 +199,17 @@ config BUSYBOX_CONFIG_HWCLOCK
          shutdown in the hardware clock, so the hardware will keep the
          correct time when Linux is _not_ running.
 
          shutdown in the hardware clock, so the hardware will keep the
          correct time when Linux is _not_ running.
 
-config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONGOPTIONS
-       bool "  Support long options (--hctosys,...)"
+config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
+       bool "Support long options (--hctosys,...)"
        default n
        default n
-       depends on BUSYBOX_CONFIG_HWCLOCK
+       depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_GETOPT_LONG
        help
          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.
 
 config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
        help
          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.
 
 config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
-       bool "  Use FHS /var/lib/hwclock/adjtime"
+       bool "Use FHS /var/lib/hwclock/adjtime"
        default n
        depends on BUSYBOX_CONFIG_HWCLOCK
        help
        default n
        depends on BUSYBOX_CONFIG_HWCLOCK
        help
@@ -255,7 +255,7 @@ config BUSYBOX_CONFIG_MDEV
          from sysfs.
 
 config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
          from sysfs.
 
 config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
-       bool "  Support /etc/mdev.conf"
+       bool "Support /etc/mdev.conf"
        default n
        depends on BUSYBOX_CONFIG_MDEV
        help
        default n
        depends on BUSYBOX_CONFIG_MDEV
        help
@@ -265,16 +265,31 @@ config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
 
          That's device name (with regex match), uid:gid, and permissions.
 
 
          That's device name (with regex match), uid:gid, and permissions.
 
-         Optionally, that can be followed (on the same line) by an asterisk
-         and a command line to run after creating the corresponding device(s),
-         ala:
-
-           hdc root:cdrom 660  *ln -s hdc cdrom
-
          Config file parsing stops on the first matching line.  If no config
          entry is matched, devices are created with default 0:0 660.  (Make
          the last line match .* to override this.)
 
          Config file parsing stops on the first matching line.  If no config
          entry is matched, devices are created with default 0:0 660.  (Make
          the last line match .* to override this.)
 
+config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
+       bool "Support command execution at device addition/removal"
+       default n
+       depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
+       help
+         This adds support for an optional field to /etc/mdev.conf, consisting
+         of a special character and a command line to run after creating the
+         corresponding device(s) and before removing, ala:
+
+           hdc root:cdrom 660  *ln -s $MDEV cdrom
+
+         The $MDEV environment variable is set to the name of the device.
+
+         The special characters and their meanings are:
+           @ Run after creating the device.
+           $ Run before removing the device.
+           * Run both after creating and before removing the device.
+
+         Commands are executed via system() so you need /bin/sh, meaning you
+         probably want to select a default shell in the Shells menu.
+
 config BUSYBOX_CONFIG_MKSWAP
        bool "mkswap"
        default n
 config BUSYBOX_CONFIG_MKSWAP
        bool "mkswap"
        default n
@@ -288,6 +303,16 @@ config BUSYBOX_CONFIG_MKSWAP
          Once you have created swap space using 'mkswap' you need to enable
          the swap space using the 'swapon' utility.
 
          Once you have created swap space using 'mkswap' you need to enable
          the swap space using the 'swapon' utility.
 
+config BUSYBOX_CONFIG_FEATURE_MKSWAP_V0
+       bool "version 0 support"
+       default n
+       depends on BUSYBOX_CONFIG_MKSWAP
+#      depends on BUSYBOX_CONFIG_MKSWAP && BUSYBOX_CONFIG_DEPRECATED
+       help
+         Enable support for the old v0 style.
+         If your kernel is older than 2.1.117, then v0 support is the
+         only option.
+
 config BUSYBOX_CONFIG_MORE
        bool "more"
        default y
 config BUSYBOX_CONFIG_MORE
        bool "more"
        default y
@@ -299,7 +324,7 @@ config BUSYBOX_CONFIG_MORE
          any need to reading text files, you can leave this disabled.
 
 config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
          any need to reading text files, you can leave this disabled.
 
 config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
-       bool "  Use termios to manipulate the screen"
+       bool "Use termios to manipulate the screen"
        default y
        depends on BUSYBOX_CONFIG_MORE
        help
        default y
        depends on BUSYBOX_CONFIG_MORE
        help
@@ -321,7 +346,7 @@ config BUSYBOX_CONFIG_MOUNT
          the 'mount' utility.
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
          the 'mount' utility.
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
-       bool "  Support mounting NFS file systems"
+       bool "Support mounting NFS file systems"
        default y
        depends on BUSYBOX_CONFIG_MOUNT
        help
        default y
        depends on BUSYBOX_CONFIG_MOUNT
        help
@@ -403,7 +428,7 @@ config BUSYBOX_CONFIG_UMOUNT
          also want to enable 'umount'.
 
 config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
          also want to enable 'umount'.
 
 config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
-       bool "  umount -a option"
+       bool "umount -a option"
        default y
        depends on BUSYBOX_CONFIG_UMOUNT
        help
        default y
        depends on BUSYBOX_CONFIG_UMOUNT
        help
@@ -413,7 +438,7 @@ comment "Common options for mount/umount"
        depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
        depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
 
 config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
-       bool "  Support loopback mounts"
+       bool "Support loopback mounts"
        default y
        depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
        help
        default y
        depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
        help
@@ -429,7 +454,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
          (If you don't want umount to free the loop device, use "umount -D".)
 
 config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
          (If you don't want umount to free the loop device, use "umount -D".)
 
 config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
-       bool "  Support for the old /etc/mtab file"
+       bool "Support for the old /etc/mtab file"
        default n
        depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
        help
        default n
        depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
        help
@@ -445,7 +470,11 @@ config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
          example a mount under chroot won't update it), can't handle modern
          features like separate per-process filesystem namespaces, requires
          that your /etc directory be writeable, tends to get easily confused
          example a mount under chroot won't update it), can't handle modern
          features like separate per-process filesystem namespaces, requires
          that your /etc directory be writeable, tends to get easily confused
-         by --bind or --move mounts, and so on.  (In brief: avoid.)
+         by --bind or --move mounts, won't update if you rename a directory
+         that contains a mount point, and so on.  (In brief: avoid.)
+
+         About the only reason to use this is if you've removed /proc from
+         your kernel.
 
 endmenu
 
 
 endmenu
 
index 6f1585d..9828224 100644 (file)
@@ -1,18 +1,18 @@
-diff -Nur busybox-1.1.1/include/applets.h busybox-1.1.1-owrt/include/applets.h
---- busybox-1.1.1/include/applets.h    2006-03-22 22:16:24.000000000 +0100
-+++ busybox-1.1.1-owrt/include/applets.h       2006-04-01 18:23:43.000000000 +0200
-@@ -154,6 +154,7 @@
- USE_IPTUNNEL(APPLET(iptunnel, iptunnel_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_KILL(APPLET(kill, kill_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_KILLALL(APPLET(killall, kill_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-+USE_KILLALL5(APPLET(killall5, kill_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
- USE_KLOGD(APPLET(klogd, klogd_main, _BB_DIR_SBIN, _BB_SUID_NEVER))
- USE_LASH(APPLET(lash, lash_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_LAST(APPLET(last, last_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-diff -Nur busybox-1.1.1/include/usage.h busybox-1.1.1-owrt/include/usage.h
---- busybox-1.1.1/include/usage.h      2006-03-22 22:16:24.000000000 +0100
-+++ busybox-1.1.1-owrt/include/usage.h 2006-04-01 18:22:53.000000000 +0200
-@@ -1598,6 +1598,13 @@
+diff -ruN busybox-1.2.0-old/include/applets.h busybox-1.2.0-new/include/applets.h
+--- busybox-1.2.0-old/include/applets.h        2006-07-01 00:42:10.000000000 +0200
++++ busybox-1.2.0-new/include/applets.h        2006-07-31 00:29:34.000000000 +0200
+@@ -157,6 +157,7 @@
+ USE_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall))
++USE_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall5))
+ USE_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_NEVER))
+ USE_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+diff -ruN busybox-1.2.0-old/include/usage.h busybox-1.2.0-new/include/usage.h
+--- busybox-1.2.0-old/include/usage.h  2006-07-01 00:42:10.000000000 +0200
++++ busybox-1.2.0-new/include/usage.h  2006-07-31 00:25:57.000000000 +0200
+@@ -1503,6 +1503,13 @@
  #define killall_example_usage \
        "$ killall apache\n"
  
  #define killall_example_usage \
        "$ killall apache\n"
  
@@ -26,9 +26,9 @@ diff -Nur busybox-1.1.1/include/usage.h busybox-1.1.1-owrt/include/usage.h
  #define klogd_trivial_usage \
        "[-c n] [-n]"
  #define klogd_full_usage \
  #define klogd_trivial_usage \
        "[-c n] [-n]"
  #define klogd_full_usage \
-diff -Nur busybox-1.1.1/procps/Config.in busybox-1.1.1-owrt/procps/Config.in
---- busybox-1.1.1/procps/Config.in     2006-03-22 22:16:25.000000000 +0100
-+++ busybox-1.1.1-owrt/procps/Config.in        2006-04-01 18:22:53.000000000 +0200
+diff -ruN busybox-1.2.0-old/procps/Config.in busybox-1.2.0-new/procps/Config.in
+--- busybox-1.2.0-old/procps/Config.in 2006-07-01 00:42:12.000000000 +0200
++++ busybox-1.2.0-new/procps/Config.in 2006-07-31 00:25:57.000000000 +0200
 @@ -38,6 +38,11 @@
          specified commands.  If no signal name is specified, SIGTERM is
          sent.
 @@ -38,6 +38,11 @@
          specified commands.  If no signal name is specified, SIGTERM is
          sent.
@@ -41,10 +41,10 @@ diff -Nur busybox-1.1.1/procps/Config.in busybox-1.1.1-owrt/procps/Config.in
  config CONFIG_PIDOF
        bool "pidof"
        default n
  config CONFIG_PIDOF
        bool "pidof"
        default n
-diff -Nur busybox-1.1.1/procps/kill.c busybox-1.1.1-owrt/procps/kill.c
---- busybox-1.1.1/procps/kill.c        2006-03-22 22:16:25.000000000 +0100
-+++ busybox-1.1.1-owrt/procps/kill.c   2006-04-01 18:22:53.000000000 +0200
-@@ -34,6 +34,7 @@
+diff -ruN busybox-1.2.0-old/procps/kill.c busybox-1.2.0-new/procps/kill.c
+--- busybox-1.2.0-old/procps/kill.c    2006-07-01 00:42:12.000000000 +0200
++++ busybox-1.2.0-new/procps/kill.c    2006-07-31 00:25:57.000000000 +0200
+@@ -20,6 +20,7 @@
  
  #define KILL 0
  #define KILLALL 1
  
  #define KILL 0
  #define KILLALL 1
@@ -52,7 +52,7 @@ diff -Nur busybox-1.1.1/procps/kill.c busybox-1.1.1-owrt/procps/kill.c
  
  int kill_main(int argc, char **argv)
  {
  
  int kill_main(int argc, char **argv)
  {
-@@ -48,6 +49,9 @@
+@@ -34,6 +35,9 @@
  #else
        whichApp = KILL;
  #endif
  #else
        whichApp = KILL;
  #endif
@@ -62,7 +62,7 @@ diff -Nur busybox-1.1.1/procps/kill.c busybox-1.1.1-owrt/procps/kill.c
  
        /* Parse any options */
        if (argc < 2)
  
        /* Parse any options */
        if (argc < 2)
-@@ -126,6 +130,20 @@
+@@ -112,6 +116,20 @@
                }
  
        }
                }
  
        }
index f14143a..8ebb6de 100644 (file)
@@ -1,7 +1,7 @@
-diff -ur busybox-1.1.0/networking/telnetd.c busybox-1.1.0-owrt/networking/telnetd.c
---- busybox-1.1.0/networking/telnetd.c 2006-01-11 06:43:51.000000000 +0100
-+++ busybox-1.1.0-owrt/networking/telnetd.c    2006-01-14 17:41:20.000000000 +0100
-@@ -45,6 +45,7 @@
+diff -ruN busybox-1.2.0-old/networking/telnetd.c busybox-1.2.0-new/networking/telnetd.c
+--- busybox-1.2.0-old/networking/telnetd.c     2006-07-01 00:42:02.000000000 +0200
++++ busybox-1.2.0-new/networking/telnetd.c     2006-07-31 10:52:30.000000000 +0200
+@@ -44,6 +44,7 @@
  #include <arpa/telnet.h>
  #include <ctype.h>
  #include <sys/syslog.h>
  #include <arpa/telnet.h>
  #include <ctype.h>
  #include <sys/syslog.h>
@@ -9,7 +9,7 @@ diff -ur busybox-1.1.0/networking/telnetd.c busybox-1.1.0-owrt/networking/telnet
  
  #include "busybox.h"
  
  
  #include "busybox.h"
  
-@@ -394,11 +395,13 @@
+@@ -391,11 +392,13 @@
        struct in_addr bind_addr = { .s_addr = 0x0 };
  #endif /* CONFIG_FEATURE_TELNETD_INETD */
        int c;
        struct in_addr bind_addr = { .s_addr = 0x0 };
  #endif /* CONFIG_FEATURE_TELNETD_INETD */
        int c;
@@ -25,7 +25,7 @@ diff -ur busybox-1.1.0/networking/telnetd.c busybox-1.1.0-owrt/networking/telnet
  #endif /* CONFIG_FEATURE_TELNETD_INETD */
        int maxlen, w, r;
  
  #endif /* CONFIG_FEATURE_TELNETD_INETD */
        int maxlen, w, r;
  
-@@ -413,6 +416,9 @@
+@@ -410,6 +413,9 @@
                        case 'f':
                                issuefile = optarg;
                                break;
                        case 'f':
                                issuefile = optarg;
                                break;
@@ -35,17 +35,17 @@ diff -ur busybox-1.1.0/networking/telnetd.c busybox-1.1.0-owrt/networking/telnet
                        case 'l':
                                loginpath = optarg;
                                break;
                        case 'l':
                                loginpath = optarg;
                                break;
-@@ -465,6 +471,13 @@
+@@ -459,6 +465,13 @@
        sa.sin_addr = bind_addr;
  #endif
  
        sa.sin_addr = bind_addr;
  #endif
  
-+      /* Set it to listen on the specified interface */
-+      if (interface_name) {
-+              strncpy(interface.ifr_ifrn.ifrn_name, interface_name, IFNAMSIZ);
-+              (void)setsockopt(master_fd, SOL_SOCKET,
-+                              SO_BINDTODEVICE, &interface, sizeof(interface));
-+      }
-+
-       if (bind(master_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
-               bb_perror_msg_and_die("bind");
-       }
++      /* Set it to listen on the specified interface */
++      if (interface_name) {
++              strncpy(interface.ifr_ifrn.ifrn_name, interface_name, IFNAMSIZ);
++              (void)setsockopt(master_fd, SOL_SOCKET,
++                              SO_BINDTODEVICE, &interface, sizeof(interface));
++      }
++ 
+       bb_xbind(master_fd, (struct sockaddr *) &sa, sizeof(sa));
+       bb_xlisten(master_fd, 1);
+       bb_xdaemon(0, 0);
index 6420ae6..1e1c00e 100644 (file)
@@ -1,7 +1,7 @@
-diff -Nur busybox-1.1.1/include/usage.h busybox-1.1.1-owrt/include/usage.h
---- busybox-1.1.1/include/usage.h      2006-04-01 18:26:21.000000000 +0200
-+++ busybox-1.1.1-owrt/include/usage.h 2006-04-01 18:27:45.000000000 +0200
-@@ -3268,6 +3268,7 @@
+diff -ruN busybox-1.2.0-old/include/usage.h busybox-1.2.0-new/include/usage.h
+--- busybox-1.2.0-old/include/usage.h  2006-07-31 10:47:56.000000000 +0200
++++ busybox-1.2.0-new/include/usage.h  2006-07-31 11:08:49.000000000 +0200
+@@ -3190,6 +3190,7 @@
        "\t-n,\t--now\tExit with failure if lease cannot be immediately negotiated\n" \
        "\t-p,\t--pidfile=file\tStore process ID of daemon in file\n" \
        "\t-q,\t--quit\tQuit after obtaining lease\n" \
        "\t-n,\t--now\tExit with failure if lease cannot be immediately negotiated\n" \
        "\t-p,\t--pidfile=file\tStore process ID of daemon in file\n" \
        "\t-q,\t--quit\tQuit after obtaining lease\n" \
@@ -9,10 +9,10 @@ diff -Nur busybox-1.1.1/include/usage.h busybox-1.1.1-owrt/include/usage.h
        "\t-r,\t--request=IP\tIP address to request (default: none)\n" \
        "\t-s,\t--script=file\tRun file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \
        "\t-t,\t--retries=NUM\tSend up to NUM request packets\n"\
        "\t-r,\t--request=IP\tIP address to request (default: none)\n" \
        "\t-s,\t--script=file\tRun file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \
        "\t-t,\t--retries=NUM\tSend up to NUM request packets\n"\
-diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.c busybox-1.1.1-owrt/networking/udhcp/dhcpc.c
---- busybox-1.1.1/networking/udhcp/dhcpc.c     2006-03-22 22:16:19.000000000 +0100
-+++ busybox-1.1.1-owrt/networking/udhcp/dhcpc.c        2006-04-01 18:28:19.000000000 +0200
-@@ -49,6 +49,7 @@
+diff -ruN busybox-1.2.0-old/networking/udhcp/dhcpc.c busybox-1.2.0-new/networking/udhcp/dhcpc.c
+--- busybox-1.2.0-old/networking/udhcp/dhcpc.c 2006-07-01 00:42:02.000000000 +0200
++++ busybox-1.2.0-new/networking/udhcp/dhcpc.c 2006-07-31 11:08:49.000000000 +0200
+@@ -47,6 +47,7 @@
        .abort_if_no_lease = 0,
        .foreground = 0,
        .quit_after_lease = 0,
        .abort_if_no_lease = 0,
        .foreground = 0,
        .quit_after_lease = 0,
@@ -20,15 +20,7 @@ diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.c busybox-1.1.1-owrt/networking/u
        .background_if_no_lease = 0,
        .interface = "eth0",
        .pidfile = NULL,
        .background_if_no_lease = 0,
        .interface = "eth0",
        .pidfile = NULL,
-@@ -82,6 +83,7 @@
- "                                  immediately negotiated.\n"
- "  -p, --pidfile=file              Store process ID of daemon in file\n"
- "  -q, --quit                      Quit after obtaining lease\n"
-+"  -R, --release                   Release IP on quit\n"
- "  -r, --request=IP                IP address to request (default: none)\n"
- "  -s, --script=file               Run file at dhcp events (default:\n"
- "                                  " DEFAULT_SCRIPT ")\n"
-@@ -203,6 +205,7 @@
+@@ -163,6 +164,7 @@
                {"now",         no_argument,            0, 'n'},
                {"pidfile",     required_argument,      0, 'p'},
                {"quit",        no_argument,            0, 'q'},
                {"now",         no_argument,            0, 'n'},
                {"pidfile",     required_argument,      0, 'p'},
                {"quit",        no_argument,            0, 'q'},
@@ -36,7 +28,7 @@ diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.c busybox-1.1.1-owrt/networking/u
                {"request",     required_argument,      0, 'r'},
                {"script",      required_argument,      0, 's'},
                {"timeout",     required_argument,      0, 'T'},
                {"request",     required_argument,      0, 'r'},
                {"script",      required_argument,      0, 's'},
                {"timeout",     required_argument,      0, 'T'},
-@@ -214,7 +217,7 @@
+@@ -174,7 +176,7 @@
        /* get options */
        while (1) {
                int option_index = 0;
        /* get options */
        while (1) {
                int option_index = 0;
@@ -45,7 +37,7 @@ diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.c busybox-1.1.1-owrt/networking/u
                if (c == -1) break;
  
                switch (c) {
                if (c == -1) break;
  
                switch (c) {
-@@ -284,6 +287,9 @@
+@@ -244,6 +246,9 @@
                case 'q':
                        client_config.quit_after_lease = 1;
                        break;
                case 'q':
                        client_config.quit_after_lease = 1;
                        break;
@@ -55,7 +47,7 @@ diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.c busybox-1.1.1-owrt/networking/u
                case 'r':
                        requested_ip = inet_addr(optarg);
                        break;
                case 'r':
                        requested_ip = inet_addr(optarg);
                        break;
-@@ -527,8 +533,11 @@
+@@ -488,8 +493,11 @@
  
                                        state = BOUND;
                                        change_mode(LISTEN_NONE);
  
                                        state = BOUND;
                                        change_mode(LISTEN_NONE);
@@ -68,7 +60,7 @@ diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.c busybox-1.1.1-owrt/networking/u
                                        if (!client_config.foreground)
                                                client_background();
  
                                        if (!client_config.foreground)
                                                client_background();
  
-@@ -553,12 +562,13 @@
+@@ -514,12 +522,13 @@
                        case SIGUSR1:
                                perform_renew();
                                break;
                        case SIGUSR1:
                                perform_renew();
                                break;
@@ -85,10 +77,10 @@ diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.c busybox-1.1.1-owrt/networking/u
                        }
                } else if (retval == -1 && errno == EINTR) {
                        /* a signal was caught */
                        }
                } else if (retval == -1 && errno == EINTR) {
                        /* a signal was caught */
-diff -Nur busybox-1.1.1/networking/udhcp/dhcpc.h busybox-1.1.1-owrt/networking/udhcp/dhcpc.h
---- busybox-1.1.1/networking/udhcp/dhcpc.h     2006-03-22 22:16:19.000000000 +0100
-+++ busybox-1.1.1-owrt/networking/udhcp/dhcpc.h        2006-04-01 18:27:45.000000000 +0200
-@@ -19,6 +19,7 @@
+diff -ruN busybox-1.2.0-old/networking/udhcp/dhcpc.h busybox-1.2.0-new/networking/udhcp/dhcpc.h
+--- busybox-1.2.0-old/networking/udhcp/dhcpc.h 2006-07-01 00:42:02.000000000 +0200
++++ busybox-1.2.0-new/networking/udhcp/dhcpc.h 2006-07-31 11:08:49.000000000 +0200
+@@ -18,6 +18,7 @@
  struct client_config_t {
        char foreground;                /* Do not fork */
        char quit_after_lease;          /* Quit after obtaining lease */
  struct client_config_t {
        char foreground;                /* Do not fork */
        char quit_after_lease;          /* Quit after obtaining lease */
index ad4fcd0..428e321 100644 (file)
@@ -1,21 +1,23 @@
-
-       Copyright (C) 2006 OpenWrt.org
-
-diff -Nur busybox-1.1.1/include/applets.h busybox-1.1.1-owrt/include/applets.h
---- busybox-1.1.1/include/applets.h    2006-04-01 18:26:21.000000000 +0200
-+++ busybox-1.1.1-owrt/include/applets.h       2006-04-01 18:36:28.000000000 +0200
-@@ -197,6 +197,7 @@
- USE_MV(APPLET(mv, mv_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_NAMEIF(APPLET(nameif, nameif_main, _BB_DIR_SBIN, _BB_SUID_NEVER))
- USE_NC(APPLET(nc, nc_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-+USE_NETMSG(APPLET_NOUSAGE(netmsg, netmsg_main, _BB_DIR_BIN, _BB_SUID_ALWAYS))
- USE_NETSTAT(APPLET(netstat, netstat_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_NICE(APPLET(nice, nice_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_NOHUP(APPLET(nohup, nohup_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-diff -Nur busybox-1.1.1/networking/Config.in busybox-1.1.1-owrt/networking/Config.in
---- busybox-1.1.1/networking/Config.in 2006-03-22 22:16:19.000000000 +0100
-+++ busybox-1.1.1-owrt/networking/Config.in    2006-04-01 18:35:32.000000000 +0200
-@@ -451,6 +451,12 @@
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+diff -ruN busybox-1.2.0-old/include/applets.h busybox-1.2.0-new/include/applets.h
+--- busybox-1.2.0-old/include/applets.h        2006-07-31 10:47:56.000000000 +0200
++++ busybox-1.2.0-new/include/applets.h        2006-07-31 11:21:00.000000000 +0200
+@@ -200,6 +200,7 @@
+ 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))
++USE_NETMSG(APPLET_NOUSAGE(netmsg, netmsg, _BB_DIR_BIN, _BB_SUID_ALWAYS))
+ USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+diff -ruN busybox-1.2.0-old/networking/Config.in busybox-1.2.0-new/networking/Config.in
+--- busybox-1.2.0-old/networking/Config.in     2006-07-01 00:42:02.000000000 +0200
++++ busybox-1.2.0-new/networking/Config.in     2006-07-31 11:18:01.000000000 +0200
+@@ -445,6 +445,12 @@
        help
          A simple Unix utility which reads and writes data across network
          connections.
        help
          A simple Unix utility which reads and writes data across network
          connections.
@@ -28,9 +30,9 @@ diff -Nur busybox-1.1.1/networking/Config.in busybox-1.1.1-owrt/networking/Confi
  
  config CONFIG_NC_GAPING_SECURITY_HOLE
        bool "gaping security hole"
  
  config CONFIG_NC_GAPING_SECURITY_HOLE
        bool "gaping security hole"
-diff -Nur busybox-1.1.1/networking/Makefile.in busybox-1.1.1-owrt/networking/Makefile.in
---- busybox-1.1.1/networking/Makefile.in       2006-03-22 22:16:19.000000000 +0100
-+++ busybox-1.1.1-owrt/networking/Makefile.in  2006-04-01 18:35:32.000000000 +0200
+diff -ruN busybox-1.2.0-old/networking/Makefile.in busybox-1.2.0-new/networking/Makefile.in
+--- busybox-1.2.0-old/networking/Makefile.in   2006-07-01 00:42:02.000000000 +0200
++++ busybox-1.2.0-new/networking/Makefile.in   2006-07-31 11:18:01.000000000 +0200
 @@ -30,6 +30,7 @@
  NETWORKING-$(CONFIG_IPTUNNEL)     += iptunnel.o
  NETWORKING-$(CONFIG_NAMEIF)       += nameif.o
 @@ -30,6 +30,7 @@
  NETWORKING-$(CONFIG_IPTUNNEL)     += iptunnel.o
  NETWORKING-$(CONFIG_NAMEIF)       += nameif.o
@@ -39,9 +41,9 @@ diff -Nur busybox-1.1.1/networking/Makefile.in busybox-1.1.1-owrt/networking/Mak
  NETWORKING-$(CONFIG_NETSTAT)      += netstat.o
  NETWORKING-$(CONFIG_NSLOOKUP)     += nslookup.o
  NETWORKING-$(CONFIG_PING)         += ping.o
  NETWORKING-$(CONFIG_NETSTAT)      += netstat.o
  NETWORKING-$(CONFIG_NSLOOKUP)     += nslookup.o
  NETWORKING-$(CONFIG_PING)         += ping.o
-diff -Nur busybox-1.1.1/networking/netmsg.c busybox-1.1.1-owrt/networking/netmsg.c
---- busybox-1.1.1/networking/netmsg.c  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.1-owrt/networking/netmsg.c     2006-04-01 18:35:32.000000000 +0200
+diff -ruN busybox-1.2.0-old/networking/netmsg.c busybox-1.2.0-new/networking/netmsg.c
+--- busybox-1.2.0-old/networking/netmsg.c      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0-new/networking/netmsg.c      2006-07-31 11:18:01.000000000 +0200
 @@ -0,0 +1,63 @@
 +/*
 + * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 @@ -0,0 +1,63 @@
 +/*
 + * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
index b9503aa..68487b8 100644 (file)
@@ -1,28 +1,20 @@
-
-       Copyright (C) 2006 OpenWrt.org
-
---- busybox-1.1.1/networking/httpd.c   2006-03-22 22:16:19.000000000 +0100
-+++ busybox-1.1.1.new/networking/httpd.c       2006-04-01 19:41:42.150744624 +0200
-@@ -110,6 +110,7 @@
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+diff -ruN busybox-1.2.0-old/networking/httpd.c busybox-1.2.0-new/networking/httpd.c
+--- busybox-1.2.0-old/networking/httpd.c       2006-07-01 00:42:02.000000000 +0200
++++ busybox-1.2.0-new/networking/httpd.c       2006-08-01 10:06:58.000000000 +0200
+@@ -99,6 +99,7 @@
  #include <sys/types.h>
  #include <sys/socket.h>    /* for connect and socket*/
  #include <netinet/in.h>    /* for sockaddr_in       */
 +#include <arpa/inet.h>
  #include <sys/types.h>
  #include <sys/socket.h>    /* for connect and socket*/
  #include <netinet/in.h>    /* for sockaddr_in       */
 +#include <arpa/inet.h>
- #include <sys/time.h>
  #include <sys/stat.h>
  #include <sys/wait.h>
  #include <sys/stat.h>
  #include <sys/wait.h>
-@@ -204,8 +205,8 @@
- void bb_show_usage(void)
- {
--  fprintf(stderr, "Usage: %s [-p <port>] [-c configFile] [-d/-e <string>] "
--                "[-r realm] [-u user] [-h homedir]\n", bb_applet_name);
-+  fprintf(stderr, "Usage: %s [-p <port>] [-l <IP address>] [-c configFile]"
-+                "[-d/-e <string>] [-r realm] [-u user] [-h homedir]\n", bb_applet_name);
-   exit(1);
- }
- #endif
-@@ -255,6 +256,7 @@
+ #include <fcntl.h>         /* for open modes        */
+@@ -165,6 +166,7 @@
  #endif
    unsigned port;           /* server initial port and for
                              set env REMOTE_PORT */
  #endif
    unsigned port;           /* server initial port and for
                              set env REMOTE_PORT */
@@ -30,7 +22,7 @@
    union HTTPD_FOUND {
        const char *found_mime_type;
        const char *found_moved_temporarily;
    union HTTPD_FOUND {
        const char *found_mime_type;
        const char *found_moved_temporarily;
-@@ -958,7 +960,10 @@
+@@ -868,7 +870,10 @@
    /* inet_addr() returns a value that is already in network order */
    memset(&lsocket, 0, sizeof(lsocket));
    lsocket.sin_family = AF_INET;
    /* inet_addr() returns a value that is already in network order */
    memset(&lsocket, 0, sizeof(lsocket));
    lsocket.sin_family = AF_INET;
 +        if (config->address != NULL) lsocket.sin_addr.s_addr = ((struct in_addr *) ((gethostbyname(config->address))->h_addr))->s_addr;
 +        else lsocket.sin_addr.s_addr = htons(INADDR_ANY);
 +  }
 +        if (config->address != NULL) lsocket.sin_addr.s_addr = ((struct in_addr *) ((gethostbyname(config->address))->h_addr))->s_addr;
 +        else lsocket.sin_addr.s_addr = htons(INADDR_ANY);
 +  }
-   lsocket.sin_port = htons(config->port) ;
-   fd = socket(AF_INET, SOCK_STREAM, 0);
-   if (fd >= 0) {
-@@ -1996,6 +2001,7 @@
+   lsocket.sin_port = htons(config->port);
+   fd = bb_xsocket(AF_INET, SOCK_STREAM, 0);
+   /* tell the OS it's OK to reuse a previous address even though */
+@@ -1899,6 +1904,7 @@
        USE_FEATURE_HTTPD_AUTH_MD5(m_opt_md5,)
        USE_FEATURE_HTTPD_SETUID(u_opt_setuid,)
        USE_FEATURE_HTTPD_AUTH_MD5(m_opt_md5,)
        USE_FEATURE_HTTPD_SETUID(u_opt_setuid,)
-       SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(p_opt_port,)
-+      SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(l_opt_addr,)
+       USE_FEATURE_HTTPD_WITHOUT_INETD(p_opt_port,)
++      USE_FEATURE_HTTPD_WITHOUT_INETD(l_opt_addr,)
  };
  
  static const char httpd_opts[]="c:d:h:"
  };
  
  static const char httpd_opts[]="c:d:h:"
-@@ -2003,7 +2009,7 @@
+@@ -1906,7 +1912,7 @@
        USE_FEATURE_HTTPD_BASIC_AUTH("r:")
        USE_FEATURE_HTTPD_AUTH_MD5("m:")
        USE_FEATURE_HTTPD_SETUID("u:")
        USE_FEATURE_HTTPD_BASIC_AUTH("r:")
        USE_FEATURE_HTTPD_AUTH_MD5("m:")
        USE_FEATURE_HTTPD_SETUID("u:")
--      SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY("p:");
-+      SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY("p:l:");
+-      USE_FEATURE_HTTPD_WITHOUT_INETD("p:");
++      USE_FEATURE_HTTPD_WITHOUT_INETD("p:l:");
  
  #define OPT_CONFIG_FILE (1<<c_opt_config_file)
  #define OPT_DECODE_URL  (1<<d_opt_decode_url)
  
  #define OPT_CONFIG_FILE (1<<c_opt_config_file)
  #define OPT_DECODE_URL  (1<<d_opt_decode_url)
-@@ -2024,6 +2030,8 @@
- #define OPT_PORT        SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY((1<<p_opt_port)) \
-                       USE_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(0)
+@@ -1927,6 +1933,8 @@
+ #define OPT_PORT        USE_FEATURE_HTTPD_WITHOUT_INETD((1<<p_opt_port)) \
+                       SKIP_FEATURE_HTTPD_WITHOUT_INETD(0)
  
  
-+#define OPT_ADDRESS     SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY((1<<l_opt_addr)) \
-+                      USE_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(0)
++#define OPT_ADDRESS     USE_FEATURE_HTTPD_WITHOUT_INETD((1<<l_opt_addr)) \
++                      SKIP_FEATURE_HTTPD_WITHOUT_INETD(0)
  
  
- #ifdef HTTPD_STANDALONE
- int main(int argc, char *argv[])
-@@ -2036,6 +2044,7 @@
+ int httpd_main(int argc, char *argv[])
+ {
+@@ -1935,6 +1943,7 @@
    char *url_for_decode;
    USE_FEATURE_HTTPD_ENCODE_URL_STR(const char *url_for_encode;)
    char *url_for_decode;
    USE_FEATURE_HTTPD_ENCODE_URL_STR(const char *url_for_encode;)
-   SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(const char *s_port;)
-+  SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(const char *s_addr;)
-   SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(int server;)
+   USE_FEATURE_HTTPD_WITHOUT_INETD(const char *s_port;)
++  USE_FEATURE_HTTPD_WITHOUT_INETD(const char *s_addr;)
+   USE_FEATURE_HTTPD_WITHOUT_INETD(int server;)
  
    USE_FEATURE_HTTPD_SETUID(const char *s_uid;)
  
    USE_FEATURE_HTTPD_SETUID(const char *s_uid;)
-@@ -2050,6 +2059,7 @@
+@@ -1949,6 +1958,7 @@
  
  
- #ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
+ #ifdef CONFIG_FEATURE_HTTPD_WITHOUT_INETD
    config->port = 80;
 +  config->address = "";
  #endif
  
    config->ContentLength = -1;
    config->port = 80;
 +  config->address = "";
  #endif
  
    config->ContentLength = -1;
-@@ -2061,6 +2071,7 @@
+@@ -1960,6 +1970,7 @@
                        USE_FEATURE_HTTPD_AUTH_MD5(, &pass)
                        USE_FEATURE_HTTPD_SETUID(, &s_uid)
                        USE_FEATURE_HTTPD_AUTH_MD5(, &pass)
                        USE_FEATURE_HTTPD_SETUID(, &s_uid)
-                       SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(, &s_port)
-+                      SKIP_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY(, &s_addr)
+                       USE_FEATURE_HTTPD_WITHOUT_INETD(, &s_port)
++                      USE_FEATURE_HTTPD_WITHOUT_INETD(, &s_addr)
        );
  
    if(opt & OPT_DECODE_URL) {
        );
  
    if(opt & OPT_DECODE_URL) {
-@@ -2082,6 +2093,8 @@
- #ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
+@@ -1981,6 +1992,8 @@
+ #ifdef CONFIG_FEATURE_HTTPD_WITHOUT_INETD
      if(opt & OPT_PORT)
        config->port = bb_xgetlarg(s_port, 10, 1, 0xffff);
 +    if (opt & OPT_ADDRESS)
      if(opt & OPT_PORT)
        config->port = bb_xgetlarg(s_port, 10, 1, 0xffff);
 +    if (opt & OPT_ADDRESS)
index ad594e6..a86948d 100644 (file)
@@ -1,21 +1,23 @@
-
-       Copyright (C) 2006 OpenWrt.org
-
-diff -urN busybox.old/include/applets.h busybox.dev/include/applets.h
---- busybox.old/include/applets.h      2006-04-05 01:06:29.000000000 +0200
-+++ busybox.dev/include/applets.h      2006-04-05 01:19:09.000000000 +0200
-@@ -167,6 +167,7 @@
- USE_LN(APPLET(ln, ln_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_LOADFONT(APPLET(loadfont, loadfont_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
- USE_LOADKMAP(APPLET(loadkmap, loadkmap_main, _BB_DIR_SBIN, _BB_SUID_NEVER))
-+USE_LOCK(APPLET_NOUSAGE(lock, lock_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_LOGGER(APPLET(logger, logger_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
- USE_LOGIN(APPLET(login, login_main, _BB_DIR_BIN, _BB_SUID_ALWAYS))
- USE_LOGNAME(APPLET(logname, logname_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-diff -urN busybox.old/miscutils/Config.in busybox.dev/miscutils/Config.in
---- busybox.old/miscutils/Config.in    2006-03-22 22:16:24.000000000 +0100
-+++ busybox.dev/miscutils/Config.in    2006-04-05 01:07:12.000000000 +0200
-@@ -209,6 +209,12 @@
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+diff -ruN busybox-1.2.0-old/include/applets.h busybox-1.2.0-new/include/applets.h
+--- busybox-1.2.0-old/include/applets.h        2006-07-31 11:21:00.000000000 +0200
++++ busybox-1.2.0-new/include/applets.h        2006-08-01 10:21:15.000000000 +0200
+@@ -169,6 +169,7 @@
+ USE_LN(APPLET(ln, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+ USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
++USE_LOCK(APPLET_NOUSAGE(lock, lock, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+ USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
+ USE_LOGNAME(APPLET(logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+diff -ruN busybox-1.2.0-old/miscutils/Config.in busybox-1.2.0-new/miscutils/Config.in
+--- busybox-1.2.0-old/miscutils/Config.in      2006-07-01 00:42:09.000000000 +0200
++++ busybox-1.2.0-new/miscutils/Config.in      2006-08-01 10:21:15.000000000 +0200
+@@ -231,6 +231,12 @@
          Enables the 'hdparm -d' option to get/set using_dma flag.
          This is dangerous stuff, so you should probably say N.
  
          Enables the 'hdparm -d' option to get/set using_dma flag.
          This is dangerous stuff, so you should probably say N.
  
@@ -28,20 +30,9 @@ diff -urN busybox.old/miscutils/Config.in busybox.dev/miscutils/Config.in
  config CONFIG_MAKEDEVS
        bool "makedevs"
        default n
  config CONFIG_MAKEDEVS
        bool "makedevs"
        default n
-diff -urN busybox.old/miscutils/Makefile.in busybox.dev/miscutils/Makefile.in
---- busybox.old/miscutils/Makefile.in  2006-03-22 22:16:24.000000000 +0100
-+++ busybox.dev/miscutils/Makefile.in  2006-04-05 01:10:50.000000000 +0200
-@@ -20,6 +20,7 @@
- MISCUTILS-$(CONFIG_EJECT)       += eject.o
- MISCUTILS-$(CONFIG_HDPARM)      += hdparm.o
- MISCUTILS-$(CONFIG_LAST)        += last.o
-+MISCUTILS-$(CONFIG_LOCK)        += lock.o
- MISCUTILS-${CONFIG_LESS}        += less.o
- MISCUTILS-$(CONFIG_MAKEDEVS)    += makedevs.o
- MISCUTILS-$(CONFIG_MOUNTPOINT)  += mountpoint.o
-diff -urN busybox.old/miscutils/lock.c busybox.dev/miscutils/lock.c
---- busybox.old/miscutils/lock.c       1970-01-01 01:00:00.000000000 +0100
-+++ busybox.dev/miscutils/lock.c       2006-04-05 01:07:12.000000000 +0200
+diff -ruN busybox-1.2.0-old/miscutils/lock.c busybox-1.2.0-new/miscutils/lock.c
+--- busybox-1.2.0-old/miscutils/lock.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0-new/miscutils/lock.c 2006-08-01 10:21:15.000000000 +0200
 @@ -0,0 +1,133 @@
 +/*
 + * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 @@ -0,0 +1,133 @@
 +/*
 + * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
@@ -176,3 +167,14 @@ diff -urN busybox.old/miscutils/lock.c busybox.dev/miscutils/lock.c
 +      else
 +              return do_lock();
 +}
 +      else
 +              return do_lock();
 +}
+diff -ruN busybox-1.2.0-old/miscutils/Makefile.in busybox-1.2.0-new/miscutils/Makefile.in
+--- busybox-1.2.0-old/miscutils/Makefile.in    2006-07-01 00:42:09.000000000 +0200
++++ busybox-1.2.0-new/miscutils/Makefile.in    2006-08-01 10:21:15.000000000 +0200
+@@ -20,6 +20,7 @@
+ MISCUTILS-$(CONFIG_EJECT)       += eject.o
+ MISCUTILS-$(CONFIG_HDPARM)      += hdparm.o
+ MISCUTILS-$(CONFIG_LAST)        += last.o
++MISCUTILS-$(CONFIG_LOCK)        += lock.o
+ MISCUTILS-${CONFIG_LESS}        += less.o
+ MISCUTILS-$(CONFIG_MAKEDEVS)    += makedevs.o
+ MISCUTILS-$(CONFIG_MOUNTPOINT)  += mountpoint.o
index 1d7a4e3..1824e03 100644 (file)
@@ -1,21 +1,13 @@
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
 #
 # add ipkg support to busybox
 #
 #
 # add ipkg support to busybox
 #
-diff -ruN busybox-1.1.2-orig/Makefile busybox-1.1.2+ipkg-0.99.162/Makefile
---- busybox-1.1.2-orig/Makefile        2006-04-10 21:45:46.000000000 +0200
-+++ busybox-1.1.2+ipkg-0.99.162/Makefile       2006-05-09 02:06:48.000000000 +0200
-@@ -25,7 +25,7 @@
- export srctree=$(top_srcdir)
- vpath %/Config.in $(srctree)
--DIRS:=applets archival archival/libunarchive coreutils console-tools \
-+DIRS:=applets archival archival/libipkg archival/libunarchive coreutils console-tools \
-       debianutils editors findutils init miscutils modutils networking \
-       networking/libiproute networking/udhcp procps loginutils shell \
-       sysklogd util-linux e2fsprogs libpwdgrp coreutils/libcoreutils libbb
-diff -ruN busybox-1.1.2-orig/archival/Config.in busybox-1.1.2+ipkg-0.99.162/archival/Config.in
---- busybox-1.1.2-orig/archival/Config.in      2006-03-22 22:16:20.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/Config.in     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/Config.in busybox-1.2.0+ipkg-0.99.162/archival/Config.in
+--- busybox-1.2.0-orig/archival/Config.in      2006-07-01 00:42:04.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/archival/Config.in     2006-07-22 16:31:25.000000000 +0200
 @@ -121,6 +121,14 @@
          gzip is used to compress files.
          It's probably the most widely used UNIX compression program.
 @@ -121,6 +121,14 @@
          gzip is used to compress files.
          It's probably the most widely used UNIX compression program.
@@ -31,21 +23,10 @@ diff -ruN busybox-1.1.2-orig/archival/Config.in busybox-1.1.2+ipkg-0.99.162/arch
  config CONFIG_RPM2CPIO
        bool "rpm2cpio"
        default n
  config CONFIG_RPM2CPIO
        bool "rpm2cpio"
        default n
-diff -ruN busybox-1.1.2-orig/archival/Makefile.in busybox-1.1.2+ipkg-0.99.162/archival/Makefile.in
---- busybox-1.1.2-orig/archival/Makefile.in    2006-03-22 22:16:20.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/Makefile.in   2006-05-09 02:06:48.000000000 +0200
-@@ -20,6 +20,7 @@
- ARCHIVAL-$(CONFIG_DPKG_DEB)   += dpkg_deb.o
- ARCHIVAL-$(CONFIG_GUNZIP)     += gunzip.o
- ARCHIVAL-$(CONFIG_GZIP)               += gzip.o
-+ARCHIVAL-$(CONFIG_IPKG)               += ipkg.o
- ARCHIVAL-$(CONFIG_RPM2CPIO)   += rpm2cpio.o
- ARCHIVAL-$(CONFIG_RPM)                += rpm.o
- ARCHIVAL-$(CONFIG_TAR)                += tar.o
-diff -ruN busybox-1.1.2-orig/archival/dpkg.c busybox-1.1.2+ipkg-0.99.162/archival/dpkg.c
---- busybox-1.1.2-orig/archival/dpkg.c 2006-03-22 22:16:20.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/dpkg.c        2006-05-09 02:06:48.000000000 +0200
-@@ -1530,6 +1530,10 @@
+diff -ruN busybox-1.2.0-orig/archival/dpkg.c busybox-1.2.0+ipkg-0.99.162/archival/dpkg.c
+--- busybox-1.2.0-orig/archival/dpkg.c 2006-07-01 00:42:04.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/archival/dpkg.c        2006-07-22 16:31:25.000000000 +0200
+@@ -1430,6 +1430,10 @@
        return(ar_handle->sub_archive->buffer);
  }
  
        return(ar_handle->sub_archive->buffer);
  }
  
@@ -56,7 +37,7 @@ diff -ruN busybox-1.1.2-orig/archival/dpkg.c busybox-1.1.2+ipkg-0.99.162/archiva
  static void data_extract_all_prefix(archive_handle_t *archive_handle)
  {
        char *name_ptr = archive_handle->file_header->name;
  static void data_extract_all_prefix(archive_handle_t *archive_handle)
  {
        char *name_ptr = archive_handle->file_header->name;
-@@ -1544,6 +1548,8 @@
+@@ -1442,6 +1446,8 @@
        return;
  }
  
        return;
  }
  
@@ -65,9 +46,9 @@ diff -ruN busybox-1.1.2-orig/archival/dpkg.c busybox-1.1.2+ipkg-0.99.162/archiva
  static void unpack_package(deb_file_t *deb_file)
  {
        const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name];
  static void unpack_package(deb_file_t *deb_file)
  {
        const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name];
-diff -ruN busybox-1.1.2-orig/archival/ipkg.c busybox-1.1.2+ipkg-0.99.162/archival/ipkg.c
---- busybox-1.1.2-orig/archival/ipkg.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/ipkg.c        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/ipkg.c busybox-1.2.0+ipkg-0.99.162/archival/ipkg.c
+--- busybox-1.2.0-orig/archival/ipkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/ipkg.c        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,26 @@
 +/* ipkg.c - the itsy package management system
 +
 @@ -0,0 +1,26 @@
 +/* ipkg.c - the itsy package management system
 +
@@ -95,134 +76,9 @@ diff -ruN busybox-1.1.2-orig/archival/ipkg.c busybox-1.1.2+ipkg-0.99.162/archiva
 +{
 +      return ipkg_op(argc, argv);
 +}
 +{
 +      return ipkg_op(argc, argv);
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/Makefile busybox-1.1.2+ipkg-0.99.162/archival/libipkg/Makefile
---- busybox-1.1.2-orig/archival/libipkg/Makefile       1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/Makefile      2006-05-09 02:06:48.000000000 +0200
-@@ -0,0 +1,32 @@
-+# Makefile for busybox
-+#
-+# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+#
-+
-+top_srcdir=../..
-+top_builddir=../..
-+srcdir=$(top_srcdir)/archival/libipkg
-+LIBIPKG_DIR:=./
-+include $(top_builddir)/Rules.mak
-+include $(top_builddir)/.config
-+include $(srcdir)/Makefile.in
-+all: $(libraries-y)
-+-include $(top_builddir)/.depend
-+
-+clean:
-+      rm -f *.o *.a $(AR_TARGET)
-+
-diff -ruN busybox-1.1.2-orig/archival/libipkg/Makefile.in busybox-1.1.2+ipkg-0.99.162/archival/libipkg/Makefile.in
---- busybox-1.1.2-orig/archival/libipkg/Makefile.in    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/Makefile.in   2006-05-09 02:06:48.000000000 +0200
-@@ -0,0 +1,85 @@
-+# Makefile for busybox
-+#
-+# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+#
-+
-+LIBIPKG_AR:=libipkg.a
-+ifndef $(LIBIPKG_DIR)
-+LIBIPKG_DIR:=$(top_builddir)/archival/libipkg/
-+endif
-+srcdir=$(top_srcdir)/archival/libipkg
-+
-+LIBIPKG_CORE_SOURCES:= \
-+      args.c \
-+      libipkg.c \
-+      user.c \
-+
-+LIBIPKG_CMD_SOURCES:= \
-+      ipkg_cmd.c \
-+      ipkg_configure.c \
-+      ipkg_download.c \
-+      ipkg_install.c \
-+      ipkg_remove.c \
-+      ipkg_upgrade.c \
-+
-+LIBIPKG_DB_SOURCES:= \
-+      hash_table.c \
-+      ipkg_conf.c \
-+      ipkg_utils.c \
-+      pkg.c \
-+      pkg_depends.c \
-+      pkg_extract.c \
-+      pkg_hash.c \
-+      pkg_parse.c \
-+      pkg_vec.c \
-+
-+LIBIPKG_LIST_SOURCES:= \
-+      conffile.c \
-+      conffile_list.c \
-+      nv_pair.c \
-+      nv_pair_list.c \
-+      pkg_dest.c \
-+      pkg_dest_list.c \
-+      pkg_src.c \
-+      pkg_src_list.c \
-+      str_list.c \
-+      void_list.c \
-+
-+LIBIPKG_UTIL_SOURCES:= \
-+      file_util.c \
-+      ipkg_message.c \
-+      md5.c \
-+      str_util.c \
-+      xsystem.c \
-+
-+LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_CORE_SOURCES)
-+LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_CMD_SOURCES)
-+LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_DB_SOURCES)
-+LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_LIST_SOURCES)
-+LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_UTIL_SOURCES)
-+LIBIPKG_OBJS=$(patsubst %.c,$(LIBIPKG_DIR)%.o, $(LIBIPKG-y))
-+
-+CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(TARGET_ARCH)\""
-+
-+libraries-$(CONFIG_IPKG) += $(LIBIPKG_DIR)$(LIBIPKG_AR)
-+
-+$(LIBIPKG_DIR)$(LIBIPKG_AR): $(LIBIPKG_OBJS)
-+      $(do_ar)
-+
-+$(LIBIPKG_OBJS): $(LIBIPKG_DIR)%.o : $(srcdir)/%.c
-+      $(compile.c)
-+
-diff -ruN busybox-1.1.2-orig/archival/libipkg/args.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/args.c
---- busybox-1.1.2-orig/archival/libipkg/args.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/args.c        2006-05-09 02:12:03.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/args.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/args.c
+--- busybox-1.2.0-orig/archival/libipkg/args.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/args.c        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,242 @@
 +/* args.c - parse command-line args
 + 
 @@ -0,0 +1,242 @@
 +/* args.c - parse command-line args
 + 
@@ -466,9 +322,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/args.c busybox-1.1.2+ipkg-0.99.162
 +{
 +      bb_error_msg("version %s\n", IPKG_VERSION);
 +}
 +{
 +      bb_error_msg("version %s\n", IPKG_VERSION);
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/args.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/args.h
---- busybox-1.1.2-orig/archival/libipkg/args.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/args.h        2006-05-09 02:12:03.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/args.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/args.h
+--- busybox-1.2.0-orig/archival/libipkg/args.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/args.h        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,72 @@
 +/* args.h - parse command-line args
 +
 @@ -0,0 +1,72 @@
 +/* args.h - parse command-line args
 +
@@ -542,9 +398,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/args.h busybox-1.1.2+ipkg-0.99.162
 +void args_usage(char *complaint);
 +
 +#endif
 +void args_usage(char *complaint);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile.c
---- busybox-1.1.2-orig/archival/libipkg/conffile.c     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile.c    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/conffile.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile.c
+--- busybox-1.2.0-orig/archival/libipkg/conffile.c     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile.c    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,64 @@
 +/* conffile.c - the itsy package management system
 +
 @@ -0,0 +1,64 @@
 +/* conffile.c - the itsy package management system
 +
@@ -610,9 +466,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile.c busybox-1.1.2+ipkg-0.99
 +
 +    return ret;
 +}
 +
 +    return ret;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile.h
---- busybox-1.1.2-orig/archival/libipkg/conffile.h     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile.h    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/conffile.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile.h
+--- busybox-1.2.0-orig/archival/libipkg/conffile.h     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile.h    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,30 @@
 +/* conffile.h - the itsy package management system
 +
 @@ -0,0 +1,30 @@
 +/* conffile.h - the itsy package management system
 +
@@ -644,9 +500,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile.h busybox-1.1.2+ipkg-0.99
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile_list.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile_list.c
---- busybox-1.1.2-orig/archival/libipkg/conffile_list.c        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile_list.c       2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/conffile_list.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile_list.c
+--- busybox-1.2.0-orig/archival/libipkg/conffile_list.c        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile_list.c       2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,47 @@
 +/* conffile_list.c - the itsy package management system
 +
 @@ -0,0 +1,47 @@
 +/* conffile_list.c - the itsy package management system
 +
@@ -695,9 +551,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile_list.c busybox-1.1.2+ipkg
 +    return nv_pair_list_pop(list);
 +}
 +
 +    return nv_pair_list_pop(list);
 +}
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile_list.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile_list.h
---- busybox-1.1.2-orig/archival/libipkg/conffile_list.h        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/conffile_list.h       2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/conffile_list.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile_list.h
+--- busybox-1.2.0-orig/archival/libipkg/conffile_list.h        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/conffile_list.h       2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,36 @@
 +/* conffile_list.h - the itsy package management system
 +
 @@ -0,0 +1,36 @@
 +/* conffile_list.h - the itsy package management system
 +
@@ -735,9 +591,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile_list.h busybox-1.1.2+ipkg
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/file_util.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/file_util.c
---- busybox-1.1.2-orig/archival/libipkg/file_util.c    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/file_util.c   2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/file_util.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/file_util.c
+--- busybox-1.2.0-orig/archival/libipkg/file_util.c    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/file_util.c   2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,177 @@
 +/* file_util.c - convenience routines for common stat operations
 +
 @@ -0,0 +1,177 @@
 +/* file_util.c - convenience routines for common stat operations
 +
@@ -916,9 +772,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/file_util.c busybox-1.1.2+ipkg-0.9
 +    return md5sum_hex;
 +}
 +
 +    return md5sum_hex;
 +}
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/file_util.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/file_util.h
---- busybox-1.1.2-orig/archival/libipkg/file_util.h    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/file_util.h   2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/file_util.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/file_util.h
+--- busybox-1.2.0-orig/archival/libipkg/file_util.h    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/file_util.h   2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,29 @@
 +/* file_util.h - convenience routines for common file operations
 +
 @@ -0,0 +1,29 @@
 +/* file_util.h - convenience routines for common file operations
 +
@@ -949,9 +805,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/file_util.h busybox-1.1.2+ipkg-0.9
 +char *file_md5sum_alloc(const char *file_name);
 +
 +#endif
 +char *file_md5sum_alloc(const char *file_name);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/hash_table.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/hash_table.c
---- busybox-1.1.2-orig/archival/libipkg/hash_table.c   1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/hash_table.c  2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/hash_table.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/hash_table.c
+--- busybox-1.2.0-orig/archival/libipkg/hash_table.c   1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/hash_table.c  2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,155 @@
 +/* hash.c - hash tables for ipkg
 +
 @@ -0,0 +1,155 @@
 +/* hash.c - hash tables for ipkg
 +
@@ -1108,9 +964,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/hash_table.c busybox-1.1.2+ipkg-0.
 +    }
 +}
 +
 +    }
 +}
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/hash_table.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/hash_table.h
---- busybox-1.1.2-orig/archival/libipkg/hash_table.h   1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/hash_table.h  2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/hash_table.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/hash_table.h
+--- busybox-1.2.0-orig/archival/libipkg/hash_table.h   1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/hash_table.h  2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,44 @@
 +/* hash.h - hash tables for ipkg
 +
 @@ -0,0 +1,44 @@
 +/* hash.h - hash tables for ipkg
 +
@@ -1156,87 +1012,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/hash_table.h busybox-1.1.2+ipkg-0.
 +void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
 +
 +#endif /* _HASH_TABLE_H_ */
 +void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
 +
 +#endif /* _HASH_TABLE_H_ */
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg.h        2006-05-09 02:06:48.000000000 +0200
-@@ -0,0 +1,74 @@
-+/* ipkg.h - the itsy package management system
-+
-+   Carl D. Worth
-+
-+   Copyright (C) 2001 University of Southern California
-+
-+   This program is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU General Public License as
-+   published by the Free Software Foundation; either version 2, or (at
-+   your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+*/
-+
-+#ifndef IPKG_H
-+#define IPKG_H
-+
-+/*
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+*/
-+
-+#if 0
-+#define IPKG_DEBUG_NO_TMP_CLEANUP
-+#endif
-+
-+#include "ipkg_includes.h"
-+#include "ipkg_conf.h"
-+#include "ipkg_message.h"
-+
-+#define IPKG_PKG_EXTENSION ".ipk"
-+#define DPKG_PKG_EXTENSION ".deb"
-+
-+#define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
-+#define IPKG_PKG_VERSION_SEP_CHAR '_'
-+
-+#define IPKG_STATE_DIR_PREFIX IPKGLIBDIR"/ipkg"
-+#define IPKG_LISTS_DIR_SUFFIX "lists"
-+#define IPKG_INFO_DIR_SUFFIX "info"
-+#define IPKG_STATUS_FILE_SUFFIX "status"
-+
-+#define IPKG_BACKUP_SUFFIX "-ipkg.backup"
-+
-+#define IPKG_LIST_DESCRIPTION_LENGTH 128
-+
-+#define IPKG_VERSION "0.99.162"
-+
-+
-+enum ipkg_error {
-+    IPKG_SUCCESS = 0,
-+    IPKG_PKG_DEPS_UNSATISFIED,
-+    IPKG_PKG_IS_ESSENTIAL,
-+    IPKG_PKG_HAS_DEPENDENTS,
-+    IPKG_PKG_HAS_NO_CANDIDATE
-+};
-+typedef enum ipkg_error ipkg_error_t;
-+
-+extern int ipkg_state_changed;
-+
-+
-+struct errlist {
-+    char * errmsg;
-+    struct errlist * next;
-+} ;
-+
-+extern struct errlist* error_list;
-+
-+extern ipkg_conf_t *global_conf;
-+
-+#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_cmd.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_cmd.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_cmd.c     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_cmd.c    2006-05-09 02:23:37.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_cmd.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_cmd.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_cmd.c     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_cmd.c    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,1431 @@
 +/* ipkg_cmd.c - the itsy package management system
 +
 @@ -0,0 +1,1431 @@
 +/* ipkg_cmd.c - the itsy package management system
 +
@@ -2669,9 +2447,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_cmd.c busybox-1.1.2+ipkg-0.99
 +}
 +
 +
 +}
 +
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_cmd.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_cmd.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_cmd.h     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_cmd.h    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_cmd.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_cmd.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_cmd.h     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_cmd.h    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,46 @@
 +/* ipkg_cmd.h - the itsy package management system
 +
 @@ -0,0 +1,46 @@
 +/* ipkg_cmd.h - the itsy package management system
 +
@@ -2719,9 +2497,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_cmd.h busybox-1.1.2+ipkg-0.99
 +int pkg_mark_provides(pkg_t *pkg);
 +
 +#endif
 +int pkg_mark_provides(pkg_t *pkg);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_conf.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_conf.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_conf.c    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_conf.c   2006-05-09 02:12:04.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_conf.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_conf.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_conf.c    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_conf.c   2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,711 @@
 +/* ipkg_conf.c - the itsy package management system
 +
 @@ -0,0 +1,711 @@
 +/* ipkg_conf.c - the itsy package management system
 +
@@ -3434,9 +3212,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_conf.c busybox-1.1.2+ipkg-0.9
 +     sprintf_alloc(&root_filename, "%s%s", (conf->offline_root ? conf->offline_root : ""), filename);
 +     return root_filename;
 +}
 +     sprintf_alloc(&root_filename, "%s%s", (conf->offline_root ? conf->offline_root : ""), filename);
 +     return root_filename;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_conf.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_conf.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_conf.h    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_conf.h   2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_conf.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_conf.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_conf.h    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_conf.h   2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,107 @@
 +/* ipkg_conf.h - the itsy package management system
 +
 @@ -0,0 +1,107 @@
 +/* ipkg_conf.h - the itsy package management system
 +
@@ -3545,9 +3323,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_conf.h busybox-1.1.2+ipkg-0.9
 +char *root_filename_alloc(ipkg_conf_t *conf, char *filename);
 +
 +#endif
 +char *root_filename_alloc(ipkg_conf_t *conf, char *filename);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_configure.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_configure.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_configure.c       1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_configure.c      2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_configure.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_configure.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_configure.c       1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_configure.c      2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,40 @@
 +/* ipkg_configure.c - the itsy package management system
 +
 @@ -0,0 +1,40 @@
 +/* ipkg_configure.c - the itsy package management system
 +
@@ -3589,9 +3367,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_configure.c busybox-1.1.2+ipk
 +    return 0;
 +}
 +
 +    return 0;
 +}
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_configure.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_configure.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_configure.h       1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_configure.h      2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_configure.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_configure.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_configure.h       1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_configure.h      2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,25 @@
 +/* ipkg_configure.h - the itsy package management system
 +
 @@ -0,0 +1,25 @@
 +/* ipkg_configure.h - the itsy package management system
 +
@@ -3618,9 +3396,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_configure.h busybox-1.1.2+ipk
 +int ipkg_configure(ipkg_conf_t *ipkg_conf, pkg_t *pkg);
 +
 +#endif
 +int ipkg_configure(ipkg_conf_t *ipkg_conf, pkg_t *pkg);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_download.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_download.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_download.c        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_download.c       2006-05-09 02:12:04.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_download.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_download.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_download.c        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_download.c       2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,195 @@
 +/* ipkg_download.c - the itsy package management system
 +
 @@ -0,0 +1,195 @@
 +/* ipkg_download.c - the itsy package management system
 +
@@ -3817,9 +3595,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_download.c busybox-1.1.2+ipkg
 +     }
 +     return 0;
 +}
 +     }
 +     return 0;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_download.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_download.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_download.h        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_download.h       2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_download.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_download.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_download.h        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_download.h       2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,30 @@
 +/* ipkg_download.h - the itsy package management system
 +
 @@ -0,0 +1,30 @@
 +/* ipkg_download.h - the itsy package management system
 +
@@ -3851,36 +3629,114 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_download.h busybox-1.1.2+ipkg
 +int ipkg_prepare_url_for_install(ipkg_conf_t *conf, const char *url, char **namep);
 +
 +#endif
 +int ipkg_prepare_url_for_install(ipkg_conf_t *conf, const char *url, char **namep);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_includes.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_includes.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_includes.h        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_includes.h       2006-05-09 02:06:48.000000000 +0200
-@@ -0,0 +1,79 @@
-+#ifndef IPKG_INCLUDES_H
-+#define IPKG_INCLUDES_H
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg.h        2006-07-22 16:31:25.000000000 +0200
+@@ -0,0 +1,74 @@
++/* ipkg.h - the itsy package management system
 +
 +
-+/* Define to 1 if you have the <memory.h> header file. */
-+#define HAVE_MEMORY_H 1
++   Carl D. Worth
 +
 +
-+/* Define to 1 if you have the <regex.h> header file. */
-+#define HAVE_REGEX_H 1
++   Copyright (C) 2001 University of Southern California
 +
 +
-+/* Define to 1 if you have the <stdlib.h> header file. */
-+#define HAVE_STDLIB_H 1
++   This program is free software; you can redistribute it and/or
++   modify it under the terms of the GNU General Public License as
++   published by the Free Software Foundation; either version 2, or (at
++   your option) any later version.
 +
 +
-+/* Define to 1 if you have the <strings.h> header file. */
-+#define HAVE_STRINGS_H 1
++   This program is distributed in the hope that it will be useful, but
++   WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   General Public License for more details.
++*/
 +
 +
-+/* Define to 1 if you have the <string.h> header file. */
-+#define HAVE_STRING_H 1
++#ifndef IPKG_H
++#define IPKG_H
 +
 +
-+/* Define to 1 if you have the <sys/stat.h> header file. */
-+#define HAVE_SYS_STAT_H 1
++/*
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++*/
 +
 +
-+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-+#define HAVE_SYS_WAIT_H 1
++#if 0
++#define IPKG_DEBUG_NO_TMP_CLEANUP
++#endif
 +
 +
-+/* Define to 1 if you have the <unistd.h> header file. */
-+#define HAVE_UNISTD_H 1
++#include "ipkg_includes.h"
++#include "ipkg_conf.h"
++#include "ipkg_message.h"
++
++#define IPKG_PKG_EXTENSION ".ipk"
++#define DPKG_PKG_EXTENSION ".deb"
++
++#define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
++#define IPKG_PKG_VERSION_SEP_CHAR '_'
++
++#define IPKG_STATE_DIR_PREFIX IPKGLIBDIR"/ipkg"
++#define IPKG_LISTS_DIR_SUFFIX "lists"
++#define IPKG_INFO_DIR_SUFFIX "info"
++#define IPKG_STATUS_FILE_SUFFIX "status"
++
++#define IPKG_BACKUP_SUFFIX "-ipkg.backup"
++
++#define IPKG_LIST_DESCRIPTION_LENGTH 128
++
++#define IPKG_VERSION "0.99.162"
++
++
++enum ipkg_error {
++    IPKG_SUCCESS = 0,
++    IPKG_PKG_DEPS_UNSATISFIED,
++    IPKG_PKG_IS_ESSENTIAL,
++    IPKG_PKG_HAS_DEPENDENTS,
++    IPKG_PKG_HAS_NO_CANDIDATE
++};
++typedef enum ipkg_error ipkg_error_t;
++
++extern int ipkg_state_changed;
++
++
++struct errlist {
++    char * errmsg;
++    struct errlist * next;
++} ;
++
++extern struct errlist* error_list;
++
++extern ipkg_conf_t *global_conf;
++
++#endif
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_includes.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_includes.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_includes.h        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_includes.h       2006-07-22 16:31:25.000000000 +0200
+@@ -0,0 +1,79 @@
++#ifndef IPKG_INCLUDES_H
++#define IPKG_INCLUDES_H
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define HAVE_MEMORY_H 1
++
++/* Define to 1 if you have the <regex.h> header file. */
++#define HAVE_REGEX_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
++#define HAVE_SYS_WAIT_H 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
 +
 +/* Define to 1 if you have the ANSI C header files. */
 +#define STDC_HEADERS 1
 +
 +/* Define to 1 if you have the ANSI C header files. */
 +#define STDC_HEADERS 1
@@ -3934,9 +3790,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_includes.h busybox-1.1.2+ipkg
 +#endif
 +
 +#endif /* IPKG_INCLUDES_H */
 +#endif
 +
 +#endif /* IPKG_INCLUDES_H */
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_install.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_install.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_install.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_install.c        2006-05-09 02:12:04.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_install.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_install.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_install.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_install.c        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,1942 @@
 +/* ipkg_install.c - the itsy package management system
 +
 @@ -0,0 +1,1942 @@
 +/* ipkg_install.c - the itsy package management system
 +
@@ -5880,9 +5736,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_install.c busybox-1.1.2+ipkg-
 +}
 +
 +#endif
 +}
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_install.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_install.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_install.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_install.h        2006-05-09 02:12:04.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_install.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_install.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_install.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_install.h        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,35 @@
 +/* ipkg_install.h - the itsy package management system
 +
 @@ -0,0 +1,35 @@
 +/* ipkg_install.h - the itsy package management system
 +
@@ -5919,9 +5775,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_install.h busybox-1.1.2+ipkg-
 +int name_mark_dependencies_for_installation(ipkg_conf_t *conf, const char *pkg_name, pkg_vec_t *pkgs_needed);
 +
 +#endif
 +int name_mark_dependencies_for_installation(ipkg_conf_t *conf, const char *pkg_name, pkg_vec_t *pkgs_needed);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_message.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_message.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_message.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_message.c        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_message.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_message.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_message.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_message.c        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,61 @@
 +/* ipkg_message.c - the itsy package management system
 +
 @@ -0,0 +1,61 @@
 +/* ipkg_message.c - the itsy package management system
 +
@@ -5984,9 +5840,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_message.c busybox-1.1.2+ipkg-
 +      }
 +}
 +#endif
 +      }
 +}
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_message.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_message.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_message.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_message.h        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_message.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_message.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_message.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_message.h        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,32 @@
 +/* ipkg_message.h - the itsy package management system
 +
 @@ -0,0 +1,32 @@
 +/* ipkg_message.h - the itsy package management system
 +
@@ -6020,9 +5876,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_message.h busybox-1.1.2+ipkg-
 +extern void ipkg_message(ipkg_conf_t *conf, message_level_t level, char *fmt, ...);
 +
 +#endif /* _IPKG_MESSAGE_H_ */
 +extern void ipkg_message(ipkg_conf_t *conf, message_level_t level, char *fmt, ...);
 +
 +#endif /* _IPKG_MESSAGE_H_ */
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_remove.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_remove.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_remove.c  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_remove.c 2006-05-09 02:12:04.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_remove.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_remove.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_remove.c  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_remove.c 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,383 @@
 +/* ipkg_remove.c - the itsy package management system
 +
 @@ -0,0 +1,383 @@
 +/* ipkg_remove.c - the itsy package management system
 +
@@ -6407,9 +6263,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_remove.c busybox-1.1.2+ipkg-0
 +
 +    return 0;
 +}
 +
 +    return 0;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_remove.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_remove.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_remove.h  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_remove.h 2006-05-09 02:12:04.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_remove.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_remove.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_remove.h  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_remove.h 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,33 @@
 +/* ipkg_remove.h - the itsy package management system
 +
 @@ -0,0 +1,33 @@
 +/* ipkg_remove.h - the itsy package management system
 +
@@ -6444,9 +6300,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_remove.h busybox-1.1.2+ipkg-0
 +
 +
 +#endif
 +
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_upgrade.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_upgrade.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.c        2006-05-09 02:12:04.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_upgrade.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_upgrade.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.c        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,77 @@
 +/* ipkg_upgrade.c - the itsy package management system
 +
 @@ -0,0 +1,77 @@
 +/* ipkg_upgrade.c - the itsy package management system
 +
@@ -6525,9 +6381,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_upgrade.c busybox-1.1.2+ipkg-
 +     new->state_flag |= SF_USER;
 +     return ipkg_install_pkg(conf, new,1);
 +}
 +     new->state_flag |= SF_USER;
 +     return ipkg_install_pkg(conf, new,1);
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_upgrade.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_upgrade.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.h        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_upgrade.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_upgrade.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_upgrade.h        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,18 @@
 +/* ipkg_upgrade.c - the itsy package management system
 +
 @@ -0,0 +1,18 @@
 +/* ipkg_upgrade.c - the itsy package management system
 +
@@ -6547,9 +6403,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_upgrade.h busybox-1.1.2+ipkg-
 +#include "ipkg.h"
 +
 +int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
 +#include "ipkg.h"
 +
 +int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_utils.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_utils.c
---- busybox-1.1.2-orig/archival/libipkg/ipkg_utils.c   1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_utils.c  2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_utils.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_utils.c
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_utils.c   1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_utils.c  2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,181 @@
 +/* ipkg_utils.c - the itsy package management system
 +
 @@ -0,0 +1,181 @@
 +/* ipkg_utils.c - the itsy package management system
 +
@@ -6732,9 +6588,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_utils.c busybox-1.1.2+ipkg-0.
 +}
 +
 +       
 +}
 +
 +       
-diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_utils.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_utils.h
---- busybox-1.1.2-orig/archival/libipkg/ipkg_utils.h   1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/ipkg_utils.h  2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/ipkg_utils.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_utils.h
+--- busybox-1.2.0-orig/archival/libipkg/ipkg_utils.h   1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/ipkg_utils.h  2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,29 @@
 +/* ipkg_utils.h - the itsy package management system
 +
 @@ -0,0 +1,29 @@
 +/* ipkg_utils.h - the itsy package management system
 +
@@ -6765,9 +6621,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_utils.h busybox-1.1.2+ipkg-0.
 +int line_is_blank(const char *line);
 +
 +#endif
 +int line_is_blank(const char *line);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/libipkg.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/libipkg.c
---- busybox-1.1.2-orig/archival/libipkg/libipkg.c      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/libipkg.c     2006-05-09 02:12:05.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/libipkg.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/libipkg.c
+--- busybox-1.2.0-orig/archival/libipkg/libipkg.c      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/libipkg.c     2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,527 @@
 +/* ipkglib.c - the itsy package management system
 +
 @@ -0,0 +1,527 @@
 +/* ipkglib.c - the itsy package management system
 +
@@ -7296,9 +7152,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/libipkg.c busybox-1.1.2+ipkg-0.99.
 +}
 +
 +#endif /* IPKG_LIB */
 +}
 +
 +#endif /* IPKG_LIB */
-diff -ruN busybox-1.1.2-orig/archival/libipkg/libipkg.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/libipkg.h
---- busybox-1.1.2-orig/archival/libipkg/libipkg.h      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/libipkg.h     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/libipkg.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/libipkg.h
+--- busybox-1.2.0-orig/archival/libipkg/libipkg.h      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/libipkg.h     2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,87 @@
 +/* ipkglib.h - the itsy package management system
 +
 @@ -0,0 +1,87 @@
 +/* ipkglib.h - the itsy package management system
 +
@@ -7387,9 +7243,134 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/libipkg.h busybox-1.1.2+ipkg-0.99.
 +
 +
 +#endif
 +
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/md5.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/md5.c
---- busybox-1.1.2-orig/archival/libipkg/md5.c  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/md5.c 2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/Makefile busybox-1.2.0+ipkg-0.99.162/archival/libipkg/Makefile
+--- busybox-1.2.0-orig/archival/libipkg/Makefile       1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/Makefile      2006-07-22 16:31:25.000000000 +0200
+@@ -0,0 +1,32 @@
++# Makefile for busybox
++#
++# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++#
++
++top_srcdir=../..
++top_builddir=../..
++srcdir=$(top_srcdir)/archival/libipkg
++LIBIPKG_DIR:=./
++include $(top_builddir)/Rules.mak
++include $(top_builddir)/.config
++include $(srcdir)/Makefile.in
++all: $(libraries-y)
++-include $(top_builddir)/.depend
++
++clean:
++      rm -f *.o *.a $(AR_TARGET)
++
+diff -ruN busybox-1.2.0-orig/archival/libipkg/Makefile.in busybox-1.2.0+ipkg-0.99.162/archival/libipkg/Makefile.in
+--- busybox-1.2.0-orig/archival/libipkg/Makefile.in    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/Makefile.in   2006-07-22 16:31:25.000000000 +0200
+@@ -0,0 +1,85 @@
++# Makefile for busybox
++#
++# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++#
++
++LIBIPKG_AR:=libipkg.a
++ifndef $(LIBIPKG_DIR)
++LIBIPKG_DIR:=$(top_builddir)/archival/libipkg/
++endif
++srcdir=$(top_srcdir)/archival/libipkg
++
++LIBIPKG_CORE_SOURCES:= \
++      args.c \
++      libipkg.c \
++      user.c \
++
++LIBIPKG_CMD_SOURCES:= \
++      ipkg_cmd.c \
++      ipkg_configure.c \
++      ipkg_download.c \
++      ipkg_install.c \
++      ipkg_remove.c \
++      ipkg_upgrade.c \
++
++LIBIPKG_DB_SOURCES:= \
++      hash_table.c \
++      ipkg_conf.c \
++      ipkg_utils.c \
++      pkg.c \
++      pkg_depends.c \
++      pkg_extract.c \
++      pkg_hash.c \
++      pkg_parse.c \
++      pkg_vec.c \
++
++LIBIPKG_LIST_SOURCES:= \
++      conffile.c \
++      conffile_list.c \
++      nv_pair.c \
++      nv_pair_list.c \
++      pkg_dest.c \
++      pkg_dest_list.c \
++      pkg_src.c \
++      pkg_src_list.c \
++      str_list.c \
++      void_list.c \
++
++LIBIPKG_UTIL_SOURCES:= \
++      file_util.c \
++      ipkg_message.c \
++      md5.c \
++      str_util.c \
++      xsystem.c \
++
++LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_CORE_SOURCES)
++LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_CMD_SOURCES)
++LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_DB_SOURCES)
++LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_LIST_SOURCES)
++LIBIPKG-$(CONFIG_IPKG) += $(LIBIPKG_UTIL_SOURCES)
++LIBIPKG_OBJS=$(patsubst %.c,$(LIBIPKG_DIR)%.o, $(LIBIPKG-y))
++
++CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(TARGET_ARCH)\""
++
++libraries-$(CONFIG_IPKG) += $(LIBIPKG_DIR)$(LIBIPKG_AR)
++
++$(LIBIPKG_DIR)$(LIBIPKG_AR): $(LIBIPKG_OBJS)
++      $(do_ar)
++
++$(LIBIPKG_OBJS): $(LIBIPKG_DIR)%.o : $(srcdir)/%.c
++      $(compile.c)
++
+diff -ruN busybox-1.2.0-orig/archival/libipkg/md5.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/md5.c
+--- busybox-1.2.0-orig/archival/libipkg/md5.c  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/md5.c 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,48 @@
 +/* md5.c - wrappers to busybox md5 functions
 + *
 @@ -0,0 +1,48 @@
 +/* md5.c - wrappers to busybox md5 functions
 + *
@@ -7439,9 +7420,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/md5.c busybox-1.1.2+ipkg-0.99.162/
 +      return md5_end(resblock, &md5_cx);
 +}
 +
 +      return md5_end(resblock, &md5_cx);
 +}
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/md5.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/md5.h
---- busybox-1.1.2-orig/archival/libipkg/md5.h  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/md5.h 2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/md5.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/md5.h
+--- busybox-1.2.0-orig/archival/libipkg/md5.h  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/md5.h 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,35 @@
 +/* md5.h - Compute MD5 checksum of files or strings according to the
 + *         definition of MD5 in RFC 1321 from April 1992.
 @@ -0,0 +1,35 @@
 +/* md5.h - Compute MD5 checksum of files or strings according to the
 + *         definition of MD5 in RFC 1321 from April 1992.
@@ -7478,9 +7459,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/md5.h busybox-1.1.2+ipkg-0.99.162/
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair.c
---- busybox-1.1.2-orig/archival/libipkg/nv_pair.c      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair.c     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/nv_pair.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair.c
+--- busybox-1.2.0-orig/archival/libipkg/nv_pair.c      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair.c     2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,40 @@
 +/* nv_pair.c - the itsy package management system
 +
 @@ -0,0 +1,40 @@
 +/* nv_pair.c - the itsy package management system
 +
@@ -7522,9 +7503,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair.c busybox-1.1.2+ipkg-0.99.
 +}
 +
 +
 +}
 +
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair.h
---- busybox-1.1.2-orig/archival/libipkg/nv_pair.h      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair.h     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/nv_pair.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair.h
+--- busybox-1.2.0-orig/archival/libipkg/nv_pair.h      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair.h     2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,32 @@
 +/* nv_pair.h - the itsy package management system
 +
 @@ -0,0 +1,32 @@
 +/* nv_pair.h - the itsy package management system
 +
@@ -7558,9 +7539,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair.h busybox-1.1.2+ipkg-0.99.
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair_list.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair_list.c
---- busybox-1.1.2-orig/archival/libipkg/nv_pair_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair_list.c        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/nv_pair_list.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair_list.c
+--- busybox-1.2.0-orig/archival/libipkg/nv_pair_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair_list.c        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,98 @@
 +/* nv_pair_list.c - the itsy package management system
 +
 @@ -0,0 +1,98 @@
 +/* nv_pair_list.c - the itsy package management system
 +
@@ -7660,9 +7641,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair_list.c busybox-1.1.2+ipkg-
 +     }    
 +     return NULL;
 +}
 +     }    
 +     return NULL;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair_list.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair_list.h
---- busybox-1.1.2-orig/archival/libipkg/nv_pair_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/nv_pair_list.h        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/nv_pair_list.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair_list.h
+--- busybox-1.2.0-orig/archival/libipkg/nv_pair_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/nv_pair_list.h        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,60 @@
 +/* nv_pair_list.h - the itsy package management system
 +
 @@ -0,0 +1,60 @@
 +/* nv_pair_list.h - the itsy package management system
 +
@@ -7724,9 +7705,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair_list.h busybox-1.1.2+ipkg-
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.c
---- busybox-1.1.2-orig/archival/libipkg/pkg.c  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.c 2006-05-09 02:12:05.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg.c  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg.c 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,1754 @@
 +/* pkg.c - the itsy package management system
 +
 @@ -0,0 +1,1754 @@
 +/* pkg.c - the itsy package management system
 +
@@ -9482,15 +9463,15 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg.c busybox-1.1.2+ipkg-0.99.162/
 +     }
 +     return 0;
 +}
 +     }
 +     return 0;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.h
---- busybox-1.1.2-orig/archival/libipkg/pkg.h  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg.h 2006-05-09 02:12:05.000000000 +0200
-@@ -0,0 +1,232 @@
-+/* pkg.h - the itsy package management system
-+
-+   Carl D. Worth
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_depends.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_depends.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_depends.c  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_depends.c 2006-07-22 16:31:25.000000000 +0200
+@@ -0,0 +1,1033 @@
++/* pkg_depends.c - the itsy package management system
 +
 +
-+   Copyright (C) 2001 University of Southern California
++   Steven M. Ayer
++   
++   Copyright (C) 2002 Compaq Computer Corporation
 +
 +   This program is free software; you can redistribute it and/or
 +   modify it under the terms of the GNU General Public License as
 +
 +   This program is free software; you can redistribute it and/or
 +   modify it under the terms of the GNU General Public License as
@@ -9503,270 +9484,34 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg.h busybox-1.1.2+ipkg-0.99.162/
 +   General Public License for more details.
 +*/
 +
 +   General Public License for more details.
 +*/
 +
-+#ifndef PKG_H
-+#define PKG_H
-+
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+
-+#include "pkg_vec.h"
-+#include "str_list.h"
-+#include "pkg_src.h"
-+#include "pkg_dest.h"
-+#include "ipkg_conf.h"
-+#include "conffile_list.h"
-+
-+struct ipkg_conf;
-+
-+
-+#define ARRAY_SIZE(array) sizeof(array) / sizeof((array)[0])
++#include "ipkg.h"
++#include <errno.h>
++#include <ctype.h>
++   
++#include "pkg.h"
++#include "ipkg_utils.h"
++#include "pkg_hash.h"
++#include "ipkg_message.h"
++#include "pkg_parse.h"
++#include "hash_table.h"
 +
 +
-+/* I think "Size" is currently the shortest field name */
-+#define PKG_MINIMUM_FIELD_NAME_LEN 4
++static int parseDepends(compound_depend_t *compound_depend, hash_table_t * hash, char * depend_str);
++static depend_t * depend_init(void);
++static void depend_deinit(depend_t *d);
++static char ** add_unresolved_dep(pkg_t * pkg, char ** the_lost, int ref_ndx);
++static char ** merge_unresolved(char ** oldstuff, char ** newstuff);
++static int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg);
 +
 +
-+enum pkg_state_want
++static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata)
 +{
 +{
-+    SW_UNKNOWN = 1,
-+    SW_INSTALL,
-+    SW_DEINSTALL,
-+    SW_PURGE,
-+    SW_LAST_STATE_WANT
-+};
-+typedef enum pkg_state_want pkg_state_want_t;
++     depend_t *depend = (depend_t *)cdata;
++     if ((pkg->state_status == SS_INSTALLED || pkg->state_status == SS_UNPACKED) && version_constraints_satisfied(depend, pkg))
++        return 1;
++     else
++        return 0;
++}
 +
 +
-+enum pkg_state_flag
-+{
-+    SF_OK        = 0,
-+    SF_REINSTREQ = 1,
-+    SF_HOLD      = 2,  /* do not upgrade version */
-+    SF_REPLACE   = 4,  /* replace this package */
-+    SF_NOPRUNE   = 8,  /* do not remove obsolete files */
-+    SF_PREFER    = 16, /* prefer this version */
-+    SF_OBSOLETE  = 32, /* old package in upgrade pair */
-+    SF_MARKED    = 64, /* temporary mark */
-+    SF_FILELIST_CHANGED = 128, /* needs filelist written */
-+    SF_USER      = 256,
-+    SF_LAST_STATE_FLAG
-+};
-+typedef enum pkg_state_flag pkg_state_flag_t;
-+#define SF_NONVOLATILE_FLAGS (SF_HOLD|SF_NOPRUNE|SF_PREFER|SF_OBSOLETE|SF_USER)
-+
-+enum pkg_state_status
-+{
-+    SS_NOT_INSTALLED = 1,
-+    SS_UNPACKED,
-+    SS_HALF_CONFIGURED,
-+    SS_INSTALLED,
-+    SS_HALF_INSTALLED,
-+    SS_CONFIG_FILES,
-+    SS_POST_INST_FAILED,
-+    SS_REMOVAL_FAILED,
-+    SS_LAST_STATE_STATUS
-+};
-+typedef enum pkg_state_status pkg_state_status_t;
-+
-+struct abstract_pkg{
-+    char * name;
-+    int dependencies_checked;
-+    pkg_vec_t * pkgs;
-+    pkg_state_status_t state_status;
-+    pkg_state_flag_t state_flag;
-+    struct abstract_pkg ** depended_upon_by; /* @@@@ this should be abstract_pkg_vec_t -Jamey */
-+    abstract_pkg_vec_t * provided_by;
-+    abstract_pkg_vec_t * replaced_by;
-+};
-+
-+#include "pkg_depends.h"
-+
-+/* XXX: CLEANUP: I'd like to clean up pkg_t in several ways:
-+
-+   The 3 version fields should go into a single version struct. (This
-+   is especially important since, currently, pkg->version can easily
-+   be mistaken for pkg_verson_str_alloc(pkg) although they are very
-+   distinct. This has been the source of multiple bugs.
-+
-+   The 3 state fields could possibly also go into their own struct.
-+
-+   All fields which deal with lists of packages, (Depends,
-+   Pre-Depends, Provides, Suggests, Recommends, Enhances), should each
-+   be handled by a single struct in pkg_t
-+
-+   All string fields for which there is a small set of possible
-+   values, (section, maintainer, architecture, maybe version?), that
-+   are reused among different packages -- for all such packages we
-+   should move from "char *"s to some atom datatype to share data
-+   storage and use less memory. We might even do reference counting,
-+   but probably not since most often we only create new pkg_t structs,
-+   we don't often free them.  */
-+struct pkg
-+{
-+     char *name;
-+     unsigned long epoch;
-+     char *version;
-+     char *revision;
-+     char *familiar_revision;
-+     pkg_src_t *src;
-+     pkg_dest_t *dest;
-+     char *architecture;
-+     char *section;
-+     char *maintainer;
-+     char *description;
-+     pkg_state_want_t state_want;
-+     pkg_state_flag_t state_flag;
-+     pkg_state_status_t state_status;
-+     char **depends_str;
-+     int depends_count;
-+     char **pre_depends_str;
-+     int pre_depends_count;
-+     char **recommends_str;
-+     int recommends_count;
-+     char **suggests_str;
-+     int suggests_count;
-+     compound_depend_t * depends;
-+
-+     /* Abhaya: new conflicts */
-+     char **conflicts_str;
-+     compound_depend_t * conflicts;
-+     int conflicts_count;
-+      
-+     char **replaces_str;
-+     int replaces_count;
-+     abstract_pkg_t ** replaces;
-+
-+     char **provides_str;
-+     int provides_count;
-+     abstract_pkg_t ** provides;
-+
-+     abstract_pkg_t *parent;
-+
-+     pkg_t *old_pkg; /* during upgrade, points from installee to previously installed */
-+
-+     char *filename;
-+     char *local_filename;
-+     char *url;
-+     char *tmp_unpack_dir;
-+     char *md5sum;
-+     char *size;
-+     char *installed_size;
-+     char *priority;
-+     char *source;
-+     conffile_list_t conffiles;
-+     time_t installed_time;
-+     /* As pointer for lazy evaluation */
-+     str_list_t *installed_files;
-+     /* XXX: CLEANUP: I'd like to perhaps come up with a better
-+      mechanism to avoid the problem here, (which is that the
-+      installed_files list was being freed from an inner loop while
-+      still being used within an outer loop. */
-+     int installed_files_ref_cnt;
-+     int essential;
-+     int arch_priority;
-+/* Adding this flag, to "force" ipkg to choose a "provided_by_hand" package, if there are multiple choice */
-+     int provided_by_hand;
-+};
-+
-+pkg_t *pkg_new(void);
-+int pkg_init(pkg_t *pkg);
-+void pkg_deinit(pkg_t *pkg);
-+int pkg_init_from_file(pkg_t *pkg, const char *filename);
-+abstract_pkg_t *abstract_pkg_new(void);
-+int abstract_pkg_init(abstract_pkg_t *ab_pkg);
-+
-+/* 
-+ * merges fields from newpkg into oldpkg.
-+ * Forcibly sets oldpkg state_status, state_want and state_flags if set_status is nonzero 
-+ */
-+int pkg_merge(pkg_t *oldpkg, pkg_t *newpkg, int set_status);
-+
-+char *pkg_version_str_alloc(pkg_t *pkg);
-+
-+int pkg_compare_versions(const pkg_t *pkg, const pkg_t *ref_pkg);
-+int pkg_name_version_and_architecture_compare(void *a, void *b);
-+int abstract_pkg_name_compare(void *a, void *b);
-+
-+char * pkg_formatted_info(pkg_t *pkg );
-+char * pkg_formatted_field(pkg_t *pkg, const char *field );
-+
-+void set_flags_from_control(ipkg_conf_t *conf, pkg_t *pkg);
-+
-+void pkg_print_info(pkg_t *pkg, FILE *file);
-+void pkg_print_status(pkg_t * pkg, FILE * file);
-+void pkg_print_field(pkg_t *pkg, FILE *file, const char *field);
-+str_list_t *pkg_get_installed_files(pkg_t *pkg);
-+int pkg_free_installed_files(pkg_t *pkg);
-+int pkg_remove_installed_files_list(ipkg_conf_t *conf, pkg_t *pkg);
-+conffile_t *pkg_get_conffile(pkg_t *pkg, const char *file_name);
-+int pkg_run_script(struct ipkg_conf *conf, pkg_t *pkg,
-+                 const char *script, const char *args);
-+
-+/* enum mappings */
-+char *pkg_state_want_to_str(pkg_state_want_t sw);
-+pkg_state_want_t pkg_state_want_from_str(char *str);
-+char *pkg_state_flag_to_str(pkg_state_flag_t sf);
-+pkg_state_flag_t pkg_state_flag_from_str(char *str);
-+char *pkg_state_status_to_str(pkg_state_status_t ss);
-+pkg_state_status_t pkg_state_status_from_str(char *str);
-+
-+int pkg_version_satisfied(pkg_t *it, pkg_t *ref, const char *op);
-+
-+int pkg_arch_supported(ipkg_conf_t *conf, pkg_t *pkg);
-+int pkg_info_preinstall_check(ipkg_conf_t *conf);
-+int pkg_free_installed_files(pkg_t *pkg);
-+
-+int pkg_write_filelist(ipkg_conf_t *conf, pkg_t *pkg);
-+int pkg_write_changed_filelists(ipkg_conf_t *conf);
-+
-+#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_depends.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_depends.c  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.c 2006-05-09 02:12:05.000000000 +0200
-@@ -0,0 +1,1033 @@
-+/* pkg_depends.c - the itsy package management system
-+
-+   Steven M. Ayer
-+   
-+   Copyright (C) 2002 Compaq Computer Corporation
-+
-+   This program is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU General Public License as
-+   published by the Free Software Foundation; either version 2, or (at
-+   your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+*/
-+
-+#include "ipkg.h"
-+#include <errno.h>
-+#include <ctype.h>
-+   
-+#include "pkg.h"
-+#include "ipkg_utils.h"
-+#include "pkg_hash.h"
-+#include "ipkg_message.h"
-+#include "pkg_parse.h"
-+#include "hash_table.h"
-+
-+static int parseDepends(compound_depend_t *compound_depend, hash_table_t * hash, char * depend_str);
-+static depend_t * depend_init(void);
-+static void depend_deinit(depend_t *d);
-+static char ** add_unresolved_dep(pkg_t * pkg, char ** the_lost, int ref_ndx);
-+static char ** merge_unresolved(char ** oldstuff, char ** newstuff);
-+static int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg);
-+
-+static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata)
-+{
-+     depend_t *depend = (depend_t *)cdata;
-+     if ((pkg->state_status == SS_INSTALLED || pkg->state_status == SS_UNPACKED) && version_constraints_satisfied(depend, pkg))
-+        return 1;
-+     else
-+        return 0;
-+}
-+
-+static int pkg_constraint_satisfied(pkg_t *pkg, void *cdata)
++static int pkg_constraint_satisfied(pkg_t *pkg, void *cdata)
 +{
 +     depend_t *depend = (depend_t *)cdata;
 +#if 0
 +{
 +     depend_t *depend = (depend_t *)cdata;
 +#if 0
@@ -10755,9 +10500,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_depends.c busybox-1.1.2+ipkg-0
 +
 +     return 0;
 +}
 +
 +     return 0;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_depends.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_depends.h  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_depends.h 2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_depends.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_depends.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_depends.h  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_depends.h 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,105 @@
 +/* pkg_depends.h - the itsy package management system
 +
 @@ -0,0 +1,105 @@
 +/* pkg_depends.h - the itsy package management system
 +
@@ -10864,9 +10609,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_depends.h busybox-1.1.2+ipkg-0
 +int pkg_dependence_satisfied(ipkg_conf_t *conf, depend_t *depend);
 +
 +#endif
 +int pkg_dependence_satisfied(ipkg_conf_t *conf, depend_t *depend);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_dest.c     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest.c    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_dest.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_dest.c     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest.c    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,92 @@
 +/* pkg_dest.c - the itsy package management system
 +
 @@ -0,0 +1,92 @@
 +/* pkg_dest.c - the itsy package management system
 +
@@ -10960,9 +10705,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest.c busybox-1.1.2+ipkg-0.99
 +
 +    dest->root_dir = NULL;
 +}
 +
 +    dest->root_dir = NULL;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_dest.h     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest.h    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_dest.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_dest.h     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest.h    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,38 @@
 +/* pkg_dest.h - the itsy package management system
 +
 @@ -0,0 +1,38 @@
 +/* pkg_dest.h - the itsy package management system
 +
@@ -11002,9 +10747,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest.h busybox-1.1.2+ipkg-0.99
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest_list.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest_list.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_dest_list.c        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest_list.c       2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_dest_list.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest_list.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_dest_list.c        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest_list.c       2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,85 @@
 +/* pkg_dest_list.c - the itsy package management system
 +
 @@ -0,0 +1,85 @@
 +/* pkg_dest_list.c - the itsy package management system
 +
@@ -11091,9 +10836,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest_list.c busybox-1.1.2+ipkg
 +{
 +    return (pkg_dest_list_elt_t *) void_list_pop((void_list_t *) list);
 +}
 +{
 +    return (pkg_dest_list_elt_t *) void_list_pop((void_list_t *) list);
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest_list.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest_list.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_dest_list.h        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_dest_list.h       2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_dest_list.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest_list.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_dest_list.h        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_dest_list.h       2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,50 @@
 +/* pkg_dest_list.h - the itsy package management system
 +
 @@ -0,0 +1,50 @@
 +/* pkg_dest_list.h - the itsy package management system
 +
@@ -11145,9 +10890,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest_list.h busybox-1.1.2+ipkg
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_extract.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_extract.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_extract.c  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_extract.c 2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_extract.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_extract.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_extract.c  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_extract.c 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,224 @@
 +/* pkg_extract.c - the itsy package management system
 +
 @@ -0,0 +1,224 @@
 +/* pkg_extract.c - the itsy package management system
 +
@@ -11191,7 +10936,7 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_extract.c busybox-1.1.2+ipkg-0
 +      archive = init_handle();
 +      archive->src_fd = bb_xopen(pkg->local_filename, O_RDONLY);
 +      archive->filter = filter_accept_list;
 +      archive = init_handle();
 +      archive->src_fd = bb_xopen(pkg->local_filename, O_RDONLY);
 +      archive->filter = filter_accept_list;
-+      archive->accept = llist_add_to(NULL, (char *)filename);
++      llist_add_to(&(archive->accept), (char *)filename);
 +      archive->buffer = path;
 +      archive->action_data = data_extract_all_prefix;
 +      archive->flags |= ARCHIVE_EXTRACT_UNCONDITIONAL;
 +      archive->buffer = path;
 +      archive->action_data = data_extract_all_prefix;
 +      archive->flags |= ARCHIVE_EXTRACT_UNCONDITIONAL;
@@ -11228,7 +10973,7 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_extract.c busybox-1.1.2+ipkg-0
 +      archive = init_handle();
 +      archive->src_fd = bb_xopen(name, O_RDONLY);
 +      archive->filter = filter_accept_list;
 +      archive = init_handle();
 +      archive->src_fd = bb_xopen(name, O_RDONLY);
 +      archive->filter = filter_accept_list;
-+      archive->accept = llist_add_to(NULL, "./" IPKG_CONTROL_FILE);
++      llist_add_to(&(archive->accept), "./" IPKG_CONTROL_FILE);
 +      archive->action_data = data_extract_to_buffer;
 +      while( get_header_tar_gz(archive) == EXIT_SUCCESS );
 +      close(archive->src_fd);
 +      archive->action_data = data_extract_to_buffer;
 +      while( get_header_tar_gz(archive) == EXIT_SUCCESS );
 +      close(archive->src_fd);
@@ -11373,9 +11118,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_extract.c busybox-1.1.2+ipkg-0
 +      
 +      return 0;
 +}
 +      
 +      return 0;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_extract.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_extract.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_extract.h  1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_extract.h 2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_extract.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_extract.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_extract.h  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_extract.h 2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,32 @@
 +/* pkg_extract.c - the itsy package management system
 +
 @@ -0,0 +1,32 @@
 +/* pkg_extract.c - the itsy package management system
 +
@@ -11409,9 +11154,245 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_extract.h busybox-1.1.2+ipkg-0
 +int pkg_extract_data_file_names_to_stream(pkg_t *pkg, FILE *file);
 +
 +#endif
 +int pkg_extract_data_file_names_to_stream(pkg_t *pkg, FILE *file);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_hash.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_hash.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_hash.c     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_hash.c    2006-05-09 02:12:05.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg.h  1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg.h 2006-07-22 16:31:25.000000000 +0200
+@@ -0,0 +1,232 @@
++/* pkg.h - the itsy package management system
++
++   Carl D. Worth
++
++   Copyright (C) 2001 University of Southern California
++
++   This program is free software; you can redistribute it and/or
++   modify it under the terms of the GNU General Public License as
++   published by the Free Software Foundation; either version 2, or (at
++   your option) any later version.
++
++   This program is distributed in the hope that it will be useful, but
++   WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   General Public License for more details.
++*/
++
++#ifndef PKG_H
++#define PKG_H
++
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++
++#include "pkg_vec.h"
++#include "str_list.h"
++#include "pkg_src.h"
++#include "pkg_dest.h"
++#include "ipkg_conf.h"
++#include "conffile_list.h"
++
++struct ipkg_conf;
++
++
++#define ARRAY_SIZE(array) sizeof(array) / sizeof((array)[0])
++
++/* I think "Size" is currently the shortest field name */
++#define PKG_MINIMUM_FIELD_NAME_LEN 4
++
++enum pkg_state_want
++{
++    SW_UNKNOWN = 1,
++    SW_INSTALL,
++    SW_DEINSTALL,
++    SW_PURGE,
++    SW_LAST_STATE_WANT
++};
++typedef enum pkg_state_want pkg_state_want_t;
++
++enum pkg_state_flag
++{
++    SF_OK        = 0,
++    SF_REINSTREQ = 1,
++    SF_HOLD      = 2,  /* do not upgrade version */
++    SF_REPLACE   = 4,  /* replace this package */
++    SF_NOPRUNE   = 8,  /* do not remove obsolete files */
++    SF_PREFER    = 16, /* prefer this version */
++    SF_OBSOLETE  = 32, /* old package in upgrade pair */
++    SF_MARKED    = 64, /* temporary mark */
++    SF_FILELIST_CHANGED = 128, /* needs filelist written */
++    SF_USER      = 256,
++    SF_LAST_STATE_FLAG
++};
++typedef enum pkg_state_flag pkg_state_flag_t;
++#define SF_NONVOLATILE_FLAGS (SF_HOLD|SF_NOPRUNE|SF_PREFER|SF_OBSOLETE|SF_USER)
++
++enum pkg_state_status
++{
++    SS_NOT_INSTALLED = 1,
++    SS_UNPACKED,
++    SS_HALF_CONFIGURED,
++    SS_INSTALLED,
++    SS_HALF_INSTALLED,
++    SS_CONFIG_FILES,
++    SS_POST_INST_FAILED,
++    SS_REMOVAL_FAILED,
++    SS_LAST_STATE_STATUS
++};
++typedef enum pkg_state_status pkg_state_status_t;
++
++struct abstract_pkg{
++    char * name;
++    int dependencies_checked;
++    pkg_vec_t * pkgs;
++    pkg_state_status_t state_status;
++    pkg_state_flag_t state_flag;
++    struct abstract_pkg ** depended_upon_by; /* @@@@ this should be abstract_pkg_vec_t -Jamey */
++    abstract_pkg_vec_t * provided_by;
++    abstract_pkg_vec_t * replaced_by;
++};
++
++#include "pkg_depends.h"
++
++/* XXX: CLEANUP: I'd like to clean up pkg_t in several ways:
++
++   The 3 version fields should go into a single version struct. (This
++   is especially important since, currently, pkg->version can easily
++   be mistaken for pkg_verson_str_alloc(pkg) although they are very
++   distinct. This has been the source of multiple bugs.
++
++   The 3 state fields could possibly also go into their own struct.
++
++   All fields which deal with lists of packages, (Depends,
++   Pre-Depends, Provides, Suggests, Recommends, Enhances), should each
++   be handled by a single struct in pkg_t
++
++   All string fields for which there is a small set of possible
++   values, (section, maintainer, architecture, maybe version?), that
++   are reused among different packages -- for all such packages we
++   should move from "char *"s to some atom datatype to share data
++   storage and use less memory. We might even do reference counting,
++   but probably not since most often we only create new pkg_t structs,
++   we don't often free them.  */
++struct pkg
++{
++     char *name;
++     unsigned long epoch;
++     char *version;
++     char *revision;
++     char *familiar_revision;
++     pkg_src_t *src;
++     pkg_dest_t *dest;
++     char *architecture;
++     char *section;
++     char *maintainer;
++     char *description;
++     pkg_state_want_t state_want;
++     pkg_state_flag_t state_flag;
++     pkg_state_status_t state_status;
++     char **depends_str;
++     int depends_count;
++     char **pre_depends_str;
++     int pre_depends_count;
++     char **recommends_str;
++     int recommends_count;
++     char **suggests_str;
++     int suggests_count;
++     compound_depend_t * depends;
++
++     /* Abhaya: new conflicts */
++     char **conflicts_str;
++     compound_depend_t * conflicts;
++     int conflicts_count;
++      
++     char **replaces_str;
++     int replaces_count;
++     abstract_pkg_t ** replaces;
++
++     char **provides_str;
++     int provides_count;
++     abstract_pkg_t ** provides;
++
++     abstract_pkg_t *parent;
++
++     pkg_t *old_pkg; /* during upgrade, points from installee to previously installed */
++
++     char *filename;
++     char *local_filename;
++     char *url;
++     char *tmp_unpack_dir;
++     char *md5sum;
++     char *size;
++     char *installed_size;
++     char *priority;
++     char *source;
++     conffile_list_t conffiles;
++     time_t installed_time;
++     /* As pointer for lazy evaluation */
++     str_list_t *installed_files;
++     /* XXX: CLEANUP: I'd like to perhaps come up with a better
++      mechanism to avoid the problem here, (which is that the
++      installed_files list was being freed from an inner loop while
++      still being used within an outer loop. */
++     int installed_files_ref_cnt;
++     int essential;
++     int arch_priority;
++/* Adding this flag, to "force" ipkg to choose a "provided_by_hand" package, if there are multiple choice */
++     int provided_by_hand;
++};
++
++pkg_t *pkg_new(void);
++int pkg_init(pkg_t *pkg);
++void pkg_deinit(pkg_t *pkg);
++int pkg_init_from_file(pkg_t *pkg, const char *filename);
++abstract_pkg_t *abstract_pkg_new(void);
++int abstract_pkg_init(abstract_pkg_t *ab_pkg);
++
++/* 
++ * merges fields from newpkg into oldpkg.
++ * Forcibly sets oldpkg state_status, state_want and state_flags if set_status is nonzero 
++ */
++int pkg_merge(pkg_t *oldpkg, pkg_t *newpkg, int set_status);
++
++char *pkg_version_str_alloc(pkg_t *pkg);
++
++int pkg_compare_versions(const pkg_t *pkg, const pkg_t *ref_pkg);
++int pkg_name_version_and_architecture_compare(void *a, void *b);
++int abstract_pkg_name_compare(void *a, void *b);
++
++char * pkg_formatted_info(pkg_t *pkg );
++char * pkg_formatted_field(pkg_t *pkg, const char *field );
++
++void set_flags_from_control(ipkg_conf_t *conf, pkg_t *pkg);
++
++void pkg_print_info(pkg_t *pkg, FILE *file);
++void pkg_print_status(pkg_t * pkg, FILE * file);
++void pkg_print_field(pkg_t *pkg, FILE *file, const char *field);
++str_list_t *pkg_get_installed_files(pkg_t *pkg);
++int pkg_free_installed_files(pkg_t *pkg);
++int pkg_remove_installed_files_list(ipkg_conf_t *conf, pkg_t *pkg);
++conffile_t *pkg_get_conffile(pkg_t *pkg, const char *file_name);
++int pkg_run_script(struct ipkg_conf *conf, pkg_t *pkg,
++                 const char *script, const char *args);
++
++/* enum mappings */
++char *pkg_state_want_to_str(pkg_state_want_t sw);
++pkg_state_want_t pkg_state_want_from_str(char *str);
++char *pkg_state_flag_to_str(pkg_state_flag_t sf);
++pkg_state_flag_t pkg_state_flag_from_str(char *str);
++char *pkg_state_status_to_str(pkg_state_status_t ss);
++pkg_state_status_t pkg_state_status_from_str(char *str);
++
++int pkg_version_satisfied(pkg_t *it, pkg_t *ref, const char *op);
++
++int pkg_arch_supported(ipkg_conf_t *conf, pkg_t *pkg);
++int pkg_info_preinstall_check(ipkg_conf_t *conf);
++int pkg_free_installed_files(pkg_t *pkg);
++
++int pkg_write_filelist(ipkg_conf_t *conf, pkg_t *pkg);
++int pkg_write_changed_filelists(ipkg_conf_t *conf);
++
++#endif
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_hash.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_hash.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_hash.c     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_hash.c    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,617 @@
 +/* ipkg_hash.c - the itsy package management system
 +
 @@ -0,0 +1,617 @@
 +/* ipkg_hash.c - the itsy package management system
 +
@@ -12030,9 +12011,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_hash.c busybox-1.1.2+ipkg-0.99
 +}
 +
 +
 +}
 +
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_hash.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_hash.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_hash.h     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_hash.h    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_hash.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_hash.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_hash.h     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_hash.h    2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,61 @@
 +/* pkg_hash.h - the itsy package management system
 +
 @@ -0,0 +1,61 @@
 +/* pkg_hash.h - the itsy package management system
 +
@@ -12095,9 +12076,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_hash.h busybox-1.1.2+ipkg-0.99
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_parse.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_parse.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_parse.c    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_parse.c   2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_parse.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_parse.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_parse.c    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_parse.c   2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,366 @@
 +/* pkg_parse.c - the itsy package management system
 +
 @@ -0,0 +1,366 @@
 +/* pkg_parse.c - the itsy package management system
 +
@@ -12465,9 +12446,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_parse.c busybox-1.1.2+ipkg-0.9
 +
 +    return 0;
 +}
 +
 +    return 0;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_parse.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_parse.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_parse.h    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_parse.h   2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_parse.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_parse.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_parse.h    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_parse.h   2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,31 @@
 +/* pkg_parse.h - the itsy package management system
 +
 @@ -0,0 +1,31 @@
 +/* pkg_parse.h - the itsy package management system
 +
@@ -12500,9 +12481,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_parse.h busybox-1.1.2+ipkg-0.9
 +int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
 +
 +#endif
 +int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_src.c      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src.c     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_src.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_src.c      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src.c     2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,43 @@
 +/* pkg_src.c - the itsy package management system
 +
 @@ -0,0 +1,43 @@
 +/* pkg_src.c - the itsy package management system
 +
@@ -12547,9 +12528,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src.c busybox-1.1.2+ipkg-0.99.
 +}
 +
 +
 +}
 +
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_src.h      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src.h     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_src.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_src.h      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src.h     2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,34 @@
 +/* pkg_src.h - the itsy package management system
 +
 @@ -0,0 +1,34 @@
 +/* pkg_src.h - the itsy package management system
 +
@@ -12585,9 +12566,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src.h busybox-1.1.2+ipkg-0.99.
 +void pkg_src_deinit(pkg_src_t *src);
 +
 +#endif
 +void pkg_src_deinit(pkg_src_t *src);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src_list.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src_list.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_src_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src_list.c        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_src_list.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src_list.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_src_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src_list.c        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,75 @@
 +/* pkg_src_list.c - the itsy package management system
 +
 @@ -0,0 +1,75 @@
 +/* pkg_src_list.c - the itsy package management system
 +
@@ -12664,9 +12645,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src_list.c busybox-1.1.2+ipkg-
 +{
 +    return (pkg_src_list_elt_t *) void_list_pop((void_list_t *) list);
 +}
 +{
 +    return (pkg_src_list_elt_t *) void_list_pop((void_list_t *) list);
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src_list.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src_list.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_src_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_src_list.h        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_src_list.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src_list.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_src_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_src_list.h        2006-07-22 16:31:25.000000000 +0200
 @@ -0,0 +1,57 @@
 +/* pkg_src_list.h - the itsy package management system
 +
 @@ -0,0 +1,57 @@
 +/* pkg_src_list.h - the itsy package management system
 +
@@ -12725,9 +12706,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src_list.h busybox-1.1.2+ipkg-
 +
 +#endif
 +
 +
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_vec.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_vec.c
---- busybox-1.1.2-orig/archival/libipkg/pkg_vec.c      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_vec.c     2006-05-09 02:12:05.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_vec.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_vec.c
+--- busybox-1.2.0-orig/archival/libipkg/pkg_vec.c      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_vec.c     2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,230 @@
 +/* pkg_vec.c - the itsy package management system
 +
 @@ -0,0 +1,230 @@
 +/* pkg_vec.c - the itsy package management system
 +
@@ -12959,9 +12940,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_vec.c busybox-1.1.2+ipkg-0.99.
 +     qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
 +}
 +
 +     qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
 +}
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_vec.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_vec.h
---- busybox-1.1.2-orig/archival/libipkg/pkg_vec.h      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/pkg_vec.h     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/pkg_vec.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_vec.h
+--- busybox-1.2.0-orig/archival/libipkg/pkg_vec.h      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/pkg_vec.h     2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,62 @@
 +/* pkg_vec.h - the itsy package management system
 +
 @@ -0,0 +1,62 @@
 +/* pkg_vec.h - the itsy package management system
 +
@@ -13025,9 +13006,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_vec.h busybox-1.1.2+ipkg-0.99.
 +void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *));
 +#endif
 +
 +void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *));
 +#endif
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/sprintf_alloc.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/sprintf_alloc.h
---- busybox-1.1.2-orig/archival/libipkg/sprintf_alloc.h        1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/sprintf_alloc.h       2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/sprintf_alloc.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/sprintf_alloc.h
+--- busybox-1.2.0-orig/archival/libipkg/sprintf_alloc.h        1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/sprintf_alloc.h       2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,25 @@
 +/* sprintf_alloca.c -- like sprintf with memory allocation
 +
 @@ -0,0 +1,25 @@
 +/* sprintf_alloca.c -- like sprintf with memory allocation
 +
@@ -13054,9 +13035,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/sprintf_alloc.h busybox-1.1.2+ipkg
 +#define sprintf_alloc(str, fmt, args...)  *str = bb_xasprintf(fmt, ## args)
 +
 +#endif
 +#define sprintf_alloc(str, fmt, args...)  *str = bb_xasprintf(fmt, ## args)
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/str_list.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_list.c
---- busybox-1.1.2-orig/archival/libipkg/str_list.c     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_list.c    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/str_list.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_list.c
+--- busybox-1.2.0-orig/archival/libipkg/str_list.c     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_list.c    2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,76 @@
 +/* str_list.c - the itsy package management system
 +
 @@ -0,0 +1,76 @@
 +/* str_list.c - the itsy package management system
 +
@@ -13134,9 +13115,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/str_list.c busybox-1.1.2+ipkg-0.99
 +                                       (void *)target_str,
 +                                       (void_list_cmp_t)strcmp);
 +}
 +                                       (void *)target_str,
 +                                       (void_list_cmp_t)strcmp);
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/str_list.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_list.h
---- busybox-1.1.2-orig/archival/libipkg/str_list.h     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_list.h    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/str_list.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_list.h
+--- busybox-1.2.0-orig/archival/libipkg/str_list.h     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_list.h    2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,51 @@
 +/* str_list.h - the itsy package management system
 +
 @@ -0,0 +1,51 @@
 +/* str_list.h - the itsy package management system
 +
@@ -13189,9 +13170,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/str_list.h busybox-1.1.2+ipkg-0.99
 +char *str_list_remove_elt(str_list_t *list, const char *target_str);
 +
 +#endif
 +char *str_list_remove_elt(str_list_t *list, const char *target_str);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/str_util.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_util.c
---- busybox-1.1.2-orig/archival/libipkg/str_util.c     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_util.c    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/str_util.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_util.c
+--- busybox-1.2.0-orig/archival/libipkg/str_util.c     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_util.c    2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,73 @@
 +/* str_utils.c - the itsy package management system
 +
 @@ -0,0 +1,73 @@
 +/* str_utils.c - the itsy package management system
 +
@@ -13266,9 +13247,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/str_util.c busybox-1.1.2+ipkg-0.99
 +    return str ? strdup(str) : NULL;
 +}
 +
 +    return str ? strdup(str) : NULL;
 +}
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/str_util.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_util.h
---- busybox-1.1.2-orig/archival/libipkg/str_util.h     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/str_util.h    2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/str_util.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_util.h
+--- busybox-1.2.0-orig/archival/libipkg/str_util.h     1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/str_util.h    2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,28 @@
 +/* str_utils.h - the itsy package management system
 +
 @@ -0,0 +1,28 @@
 +/* str_utils.h - the itsy package management system
 +
@@ -13298,9 +13279,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/str_util.h busybox-1.1.2+ipkg-0.99
 +char *str_dup_safe(const char *str);
 +
 +#endif
 +char *str_dup_safe(const char *str);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/user.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/user.c
---- busybox-1.1.2-orig/archival/libipkg/user.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/user.c        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/user.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/user.c
+--- busybox-1.2.0-orig/archival/libipkg/user.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/user.c        2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,58 @@
 +/* user.c - the itsy package management system
 +
 @@ -0,0 +1,58 @@
 +/* user.c - the itsy package management system
 +
@@ -13360,9 +13341,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/user.c busybox-1.1.2+ipkg-0.99.162
 +
 +     return response;
 +}
 +
 +     return response;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/user.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/user.h
---- busybox-1.1.2-orig/archival/libipkg/user.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/user.h        2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/user.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/user.h
+--- busybox-1.2.0-orig/archival/libipkg/user.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/user.h        2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,23 @@
 +/* user.c - the itsy package management system
 +
 @@ -0,0 +1,23 @@
 +/* user.c - the itsy package management system
 +
@@ -13387,9 +13368,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/user.h busybox-1.1.2+ipkg-0.99.162
 +
 +char *get_user_response(const char *format, ...);
 +
 +
 +char *get_user_response(const char *format, ...);
 +
-diff -ruN busybox-1.1.2-orig/archival/libipkg/void_list.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/void_list.c
---- busybox-1.1.2-orig/archival/libipkg/void_list.c    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/void_list.c   2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/void_list.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/void_list.c
+--- busybox-1.2.0-orig/archival/libipkg/void_list.c    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/void_list.c   2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,194 @@
 +/* void_list.c - the itsy package management system
 +
 @@ -0,0 +1,194 @@
 +/* void_list.c - the itsy package management system
 +
@@ -13585,9 +13566,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/void_list.c busybox-1.1.2+ipkg-0.9
 +     else
 +        return NULL;
 +}
 +     else
 +        return NULL;
 +}
-diff -ruN busybox-1.1.2-orig/archival/libipkg/void_list.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/void_list.h
---- busybox-1.1.2-orig/archival/libipkg/void_list.h    1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/void_list.h   2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/void_list.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/void_list.h
+--- busybox-1.2.0-orig/archival/libipkg/void_list.h    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/void_list.h   2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,59 @@
 +/* void_list.h - the itsy package management system
 +
 @@ -0,0 +1,59 @@
 +/* void_list.h - the itsy package management system
 +
@@ -13648,9 +13629,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/void_list.h busybox-1.1.2+ipkg-0.9
 +void *void_list_remove_elt(void_list_t *list, const void *target_data, void_list_cmp_t cmp);
 +
 +#endif
 +void *void_list_remove_elt(void_list_t *list, const void *target_data, void_list_cmp_t cmp);
 +
 +#endif
-diff -ruN busybox-1.1.2-orig/archival/libipkg/xsystem.c busybox-1.1.2+ipkg-0.99.162/archival/libipkg/xsystem.c
---- busybox-1.1.2-orig/archival/libipkg/xsystem.c      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/xsystem.c     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/xsystem.c busybox-1.2.0+ipkg-0.99.162/archival/libipkg/xsystem.c
+--- busybox-1.2.0-orig/archival/libipkg/xsystem.c      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/xsystem.c     2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,64 @@
 +/* xsystem.c - system(3) with error messages
 +
 @@ -0,0 +1,64 @@
 +/* xsystem.c - system(3) with error messages
 +
@@ -13716,9 +13697,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/xsystem.c busybox-1.1.2+ipkg-0.99.
 +    return -1;
 +}
 +       
 +    return -1;
 +}
 +       
-diff -ruN busybox-1.1.2-orig/archival/libipkg/xsystem.h busybox-1.1.2+ipkg-0.99.162/archival/libipkg/xsystem.h
---- busybox-1.1.2-orig/archival/libipkg/xsystem.h      1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libipkg/xsystem.h     2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libipkg/xsystem.h busybox-1.2.0+ipkg-0.99.162/archival/libipkg/xsystem.h
+--- busybox-1.2.0-orig/archival/libipkg/xsystem.h      1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0+ipkg-0.99.162/archival/libipkg/xsystem.h     2006-07-22 16:31:26.000000000 +0200
 @@ -0,0 +1,34 @@
 +/* xsystem.h - system(3) with error messages
 +
 @@ -0,0 +1,34 @@
 +/* xsystem.h - system(3) with error messages
 +
@@ -13754,20 +13735,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/xsystem.h busybox-1.1.2+ipkg-0.99.
 +
 +#endif
 +       
 +
 +#endif
 +       
-diff -ruN busybox-1.1.2-orig/archival/libunarchive/Makefile.in busybox-1.1.2+ipkg-0.99.162/archival/libunarchive/Makefile.in
---- busybox-1.1.2-orig/archival/libunarchive/Makefile.in       2006-03-22 22:16:20.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libunarchive/Makefile.in      2006-05-09 02:06:48.000000000 +0200
-@@ -58,6 +58,7 @@
- LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
- LIBUNARCHIVE-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
- LIBUNARCHIVE-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o
-+LIBUNARCHIVE-$(CONFIG_IPKG) += $(GUNZIP_FILES) get_header_tar.o get_header_tar_gz.o
- LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
- LIBUNARCHIVE-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
- LIBUNARCHIVE-$(CONFIG_TAR) += get_header_tar.o
-diff -ruN busybox-1.1.2-orig/archival/libunarchive/data_extract_all.c busybox-1.1.2+ipkg-0.99.162/archival/libunarchive/data_extract_all.c
---- busybox-1.1.2-orig/archival/libunarchive/data_extract_all.c        2006-03-22 22:16:20.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/archival/libunarchive/data_extract_all.c       2006-05-09 02:06:48.000000000 +0200
+diff -ruN busybox-1.2.0-orig/archival/libunarchive/data_extract_all.c busybox-1.2.0+ipkg-0.99.162/archival/libunarchive/data_extract_all.c
+--- busybox-1.2.0-orig/archival/libunarchive/data_extract_all.c        2006-07-01 00:42:04.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/archival/libunarchive/data_extract_all.c       2006-07-22 16:31:26.000000000 +0200
 @@ -126,3 +126,17 @@
                utime(file_header->name, &t);
        }
 @@ -126,3 +126,17 @@
                utime(file_header->name, &t);
        }
@@ -13786,21 +13756,43 @@ diff -ruN busybox-1.1.2-orig/archival/libunarchive/data_extract_all.c busybox-1.
 +      }
 +}
 +
 +      }
 +}
 +
-diff -ruN busybox-1.1.2-orig/include/applets.h busybox-1.1.2+ipkg-0.99.162/include/applets.h
---- busybox-1.1.2-orig/include/applets.h       2006-03-22 22:16:24.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/include/applets.h      2006-05-09 02:06:48.000000000 +0200
-@@ -149,6 +149,7 @@
- USE_IPCALC(APPLET(ipcalc, ipcalc_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_IPCRM(APPLET(ipcrm, ipcrm_main, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
- USE_IPCS(APPLET(ipcs, ipcs_main, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
-+USE_IPKG(APPLET(ipkg, ipkg_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
- USE_IPLINK(APPLET(iplink, iplink_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_IPROUTE(APPLET(iproute, iproute_main, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_IPTUNNEL(APPLET(iptunnel, iptunnel_main, _BB_DIR_BIN, _BB_SUID_NEVER))
-diff -ruN busybox-1.1.2-orig/include/unarchive.h busybox-1.1.2+ipkg-0.99.162/include/unarchive.h
---- busybox-1.1.2-orig/include/unarchive.h     2006-03-22 22:16:24.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/include/unarchive.h    2006-05-09 02:06:48.000000000 +0200
-@@ -74,6 +74,7 @@
+diff -ruN busybox-1.2.0-orig/archival/libunarchive/Makefile.in busybox-1.2.0+ipkg-0.99.162/archival/libunarchive/Makefile.in
+--- busybox-1.2.0-orig/archival/libunarchive/Makefile.in       2006-07-01 00:42:03.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/archival/libunarchive/Makefile.in      2006-07-22 16:31:26.000000000 +0200
+@@ -58,6 +58,7 @@
+ LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
+ LIBUNARCHIVE-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
+ LIBUNARCHIVE-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o
++LIBUNARCHIVE-$(CONFIG_IPKG) += $(GUNZIP_FILES) get_header_tar.o get_header_tar_gz.o
+ LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
+ LIBUNARCHIVE-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
+ LIBUNARCHIVE-$(CONFIG_TAR) += get_header_tar.o
+diff -ruN busybox-1.2.0-orig/archival/Makefile.in busybox-1.2.0+ipkg-0.99.162/archival/Makefile.in
+--- busybox-1.2.0-orig/archival/Makefile.in    2006-07-01 00:42:04.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/archival/Makefile.in   2006-07-22 16:31:25.000000000 +0200
+@@ -20,6 +20,7 @@
+ ARCHIVAL-$(CONFIG_DPKG_DEB)   += dpkg_deb.o
+ ARCHIVAL-$(CONFIG_GUNZIP)     += gunzip.o
+ ARCHIVAL-$(CONFIG_GZIP)               += gzip.o
++ARCHIVAL-$(CONFIG_IPKG)               += ipkg.o
+ ARCHIVAL-$(CONFIG_RPM2CPIO)   += rpm2cpio.o
+ ARCHIVAL-$(CONFIG_RPM)                += rpm.o
+ ARCHIVAL-$(CONFIG_TAR)                += tar.o
+diff -ruN busybox-1.2.0-orig/include/applets.h busybox-1.2.0+ipkg-0.99.162/include/applets.h
+--- busybox-1.2.0-orig/include/applets.h       2006-07-01 00:42:10.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/include/applets.h      2006-07-22 16:35:35.000000000 +0200
+@@ -152,6 +152,7 @@
+ USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
+ USE_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
++USE_IPKG(APPLET(ipkg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+ USE_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER))
+ USE_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_NEVER))
+diff -ruN busybox-1.2.0-orig/include/unarchive.h busybox-1.2.0+ipkg-0.99.162/include/unarchive.h
+--- busybox-1.2.0-orig/include/unarchive.h     2006-07-01 00:42:10.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/include/unarchive.h    2006-07-22 16:31:26.000000000 +0200
+@@ -77,6 +77,7 @@
  
  extern void data_skip(archive_handle_t *archive_handle);
  extern void data_extract_all(archive_handle_t *archive_handle);
  
  extern void data_skip(archive_handle_t *archive_handle);
  extern void data_extract_all(archive_handle_t *archive_handle);
@@ -13808,10 +13800,10 @@ diff -ruN busybox-1.1.2-orig/include/unarchive.h busybox-1.1.2+ipkg-0.99.162/inc
  extern void data_extract_to_stdout(archive_handle_t *archive_handle);
  extern void data_extract_to_buffer(archive_handle_t *archive_handle);
  
  extern void data_extract_to_stdout(archive_handle_t *archive_handle);
  extern void data_extract_to_buffer(archive_handle_t *archive_handle);
  
-diff -ruN busybox-1.1.2-orig/include/usage.h busybox-1.1.2+ipkg-0.99.162/include/usage.h
---- busybox-1.1.2-orig/include/usage.h 2006-03-22 22:16:24.000000000 +0100
-+++ busybox-1.1.2+ipkg-0.99.162/include/usage.h        2006-05-09 02:06:48.000000000 +0200
-@@ -1013,6 +1013,82 @@
+diff -ruN busybox-1.2.0-orig/include/usage.h busybox-1.2.0+ipkg-0.99.162/include/usage.h
+--- busybox-1.2.0-orig/include/usage.h 2006-07-01 00:42:10.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/include/usage.h        2006-07-22 16:31:26.000000000 +0200
+@@ -982,6 +982,82 @@
        "$ ls -la /tmp/busybox*\n" \
        "-rw-rw-r--    1 andersen andersen   554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
  
        "$ ls -la /tmp/busybox*\n" \
        "-rw-rw-r--    1 andersen andersen   554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
  
@@ -13894,3 +13886,15 @@ diff -ruN busybox-1.1.2-orig/include/usage.h busybox-1.1.2+ipkg-0.99.162/include
  #define halt_trivial_usage \
        "[-d<delay>] [-n<nosync>] [-f<force>]"
  #define halt_full_usage \
  #define halt_trivial_usage \
        "[-d<delay>] [-n<nosync>] [-f<force>]"
  #define halt_full_usage \
+diff -ruN busybox-1.2.0-orig/Makefile busybox-1.2.0+ipkg-0.99.162/Makefile
+--- busybox-1.2.0-orig/Makefile        2006-07-01 00:42:13.000000000 +0200
++++ busybox-1.2.0+ipkg-0.99.162/Makefile       2006-07-22 16:31:25.000000000 +0200
+@@ -31,7 +31,7 @@
+ export srctree=$(top_srcdir)
+ vpath %/Config.in $(srctree)
+-DIRS:=applets archival archival/libunarchive coreutils console-tools \
++DIRS:=applets archival archival/libipkg archival/libunarchive coreutils console-tools \
+       debianutils editors findutils init miscutils modutils networking \
+       networking/libiproute networking/udhcp procps loginutils shell \
+       sysklogd util-linux e2fsprogs libpwdgrp coreutils/libcoreutils libbb
index 74133b0..b5ba770 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
 #
 # remove (numerous) compile warnings
 #
 #
 # remove (numerous) compile warnings
 #
index 3a6a2ba..a7c2291 100644 (file)
@@ -1,10 +1,14 @@
+# Copyright (C) 2006 OpenWrt.org
 #
 #
-# expose (again) an hash_fd function (used 911-ipkg.patch)
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
 #
 #
-diff -ruN busybox-1.1.1-old/coreutils/md5_sha1_sum.c busybox-1.1.1-new/coreutils/md5_sha1_sum.c
---- busybox-1.1.1-old/coreutils/md5_sha1_sum.c 2006-03-30 00:14:50.000000000 +0200
-+++ busybox-1.1.1-new/coreutils/md5_sha1_sum.c 2006-03-29 23:46:51.000000000 +0200
-@@ -15,80 +15,10 @@
+# expose (again) an hash_fd function (used in 911-ipkg.patch)
+#
+diff -ruN busybox-1.2.0-orig/coreutils/md5_sha1_sum.c busybox-1.2.0-libbb_hash/coreutils/md5_sha1_sum.c
+--- busybox-1.2.0-orig/coreutils/md5_sha1_sum.c        2006-07-01 00:42:07.000000000 +0200
++++ busybox-1.2.0-libbb_hash/coreutils/md5_sha1_sum.c  2006-07-22 17:08:02.000000000 +0200
+@@ -16,79 +16,10 @@
  
  #include "busybox.h"
  
  
  #include "busybox.h"
  
@@ -40,81 +44,76 @@ diff -ruN busybox-1.1.1-old/coreutils/md5_sha1_sum.c busybox-1.1.1-new/coreutils
 -      RESERVE_CONFIG_UBUFFER(in_buf, 4096);
 -      void (*update)(const void*, size_t, void*);
 -      void (*final)(void*, void*);
 -      RESERVE_CONFIG_UBUFFER(in_buf, 4096);
 -      void (*update)(const void*, size_t, void*);
 -      void (*final)(void*, void*);
--      
--      if(strcmp(filename, "-") == 0) {
+-
+-      if (strcmp(filename, "-") == 0) {
 -              src_fd = STDIN_FILENO;
 -      } else if(0 > (src_fd = open(filename, O_RDONLY))) {
 -              bb_perror_msg("%s", filename);
 -              return NULL;
 -      }
 -
 -              src_fd = STDIN_FILENO;
 -      } else if(0 > (src_fd = open(filename, O_RDONLY))) {
 -              bb_perror_msg("%s", filename);
 -              return NULL;
 -      }
 -
--      // figure specific hash algorithims
--      if(ENABLE_MD5SUM && hash_algo==HASH_MD5) {
+-      /* figure specific hash algorithims */
+-      if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
 -              md5_begin(&context.md5);
 -              update = (void (*)(const void*, size_t, void*))md5_hash;
 -              final = (void (*)(void*, void*))md5_end;
 -              hash_len = 16;
 -              md5_begin(&context.md5);
 -              update = (void (*)(const void*, size_t, void*))md5_hash;
 -              final = (void (*)(void*, void*))md5_end;
 -              hash_len = 16;
--      } else if(ENABLE_SHA1SUM && hash_algo==HASH_SHA1) {
+-      } else if (ENABLE_SHA1SUM && hash_algo==HASH_SHA1) {
 -              sha1_begin(&context.sha1);
 -              update = (void (*)(const void*, size_t, void*))sha1_hash;
 -              final = (void (*)(void*, void*))sha1_end;
 -              hash_len = 20;
 -      } else {
 -              sha1_begin(&context.sha1);
 -              update = (void (*)(const void*, size_t, void*))sha1_hash;
 -              final = (void (*)(void*, void*))sha1_end;
 -              hash_len = 20;
 -      } else {
--              bb_error_msg_and_die("algotithm not supported");
+-              bb_error_msg_and_die("algorithm not supported");
 -      }
 -      }
--      
 -
 -
--      while(0 < (count = read(src_fd, in_buf, sizeof in_buf))) {
+-      while (0 < (count = read(src_fd, in_buf, 4096))) {
 -              update(in_buf, count, &context);
 -      }
 -
 -              update(in_buf, count, &context);
 -      }
 -
--      if(count == 0) {
+-      if (count == 0) {
 -              final(in_buf, &context);
 -              hash_value = hash_bin_to_hex(in_buf, hash_len);
 -      }
 -              final(in_buf, &context);
 -              hash_value = hash_bin_to_hex(in_buf, hash_len);
 -      }
--      
+-
 -      RELEASE_CONFIG_BUFFER(in_buf);
 -      RELEASE_CONFIG_BUFFER(in_buf);
--      
--      if(src_fd != STDIN_FILENO) {
+-
+-      if (src_fd != STDIN_FILENO) {
 -              close(src_fd);
 -      }
 -              close(src_fd);
 -      }
--      
+-
 -      return hash_value;
 -}
 -
  /* This could become a common function for md5 as well, by using md5_stream */
  static int hash_files(int argc, char **argv, hash_algo_t hash_algo)
  {
 -      return hash_value;
 -}
 -
  /* This could become a common function for md5 as well, by using md5_stream */
  static int hash_files(int argc, char **argv, hash_algo_t hash_algo)
  {
-diff -ruN busybox-1.1.1-old/include/libbb.h busybox-1.1.1-new/include/libbb.h
---- busybox-1.1.1-old/include/libbb.h  2006-03-30 00:14:50.000000000 +0200
-+++ busybox-1.1.1-new/include/libbb.h  2006-03-30 00:31:48.000000000 +0200
-@@ -490,6 +490,12 @@
void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
void *md5_end(void *resbuf, md5_ctx_t *ctx);
+diff -ruN busybox-1.2.0-orig/include/libbb.h busybox-1.2.0-libbb_hash/include/libbb.h
+--- busybox-1.2.0-orig/include/libbb.h 2006-07-01 00:42:10.000000000 +0200
++++ busybox-1.2.0-libbb_hash/include/libbb.h   2006-07-22 17:01:06.000000000 +0200
+@@ -518,6 +518,8 @@
extern int get_terminal_width_height(int fd, int *width, int *height);
extern unsigned long get_ug_id(const char *s, long (*__bb_getxxnam)(const char *));
  
 +typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
 +
  
 +typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
 +
+ typedef struct _sha1_ctx_t_ {
+       uint32_t count[2];
+       uint32_t hash[5];
+@@ -542,6 +544,10 @@
+ void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
+ void *md5_end(void *resbuf, md5_ctx_t *ctx);
 +unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned char hash_length);
 +int hash_fd(int fd, hash_algo_t hash_algo, uint8_t *hash_value);
 +uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
 +
 +unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned char hash_length);
 +int hash_fd(int fd, hash_algo_t hash_algo, uint8_t *hash_value);
 +uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
 +
- /* busybox.h will include dmalloc later for us, else include it here.  */
- #if !defined _BB_INTERNAL_H_ && defined DMALLOC
- #include <dmalloc.h>
-diff -ruN busybox-1.1.1-old/libbb/Makefile.in busybox-1.1.1-new/libbb/Makefile.in
---- busybox-1.1.1-old/libbb/Makefile.in        2006-03-30 00:14:50.000000000 +0200
-+++ busybox-1.1.1-new/libbb/Makefile.in        2006-03-29 23:46:51.000000000 +0200
-@@ -11,6 +11,7 @@
+ extern uint32_t *bb_crc32_filltable (int endian);
  
  
- LIBBB-n:=
- LIBBB-y:= \
-+      hash.c \
-       bb_asprintf.c ask_confirmation.c change_identity.c chomp.c \
-       compare_string_array.c concat_path_file.c copy_file.c copyfd.c \
-       create_icmp_socket.c create_icmp6_socket.c \
-diff -ruN busybox-1.1.1-old/libbb/hash.c busybox-1.1.1-new/libbb/hash.c
---- busybox-1.1.1-old/libbb/hash.c     1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.1.1-new/libbb/hash.c     2006-03-30 00:35:54.000000000 +0200
+ #ifndef RB_POWER_OFF
+diff -ruN busybox-1.2.0-orig/libbb/hash.c busybox-1.2.0-libbb_hash/libbb/hash.c
+--- busybox-1.2.0-orig/libbb/hash.c    1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.2.0-libbb_hash/libbb/hash.c      2006-07-22 17:07:34.000000000 +0200
 @@ -0,0 +1,100 @@
 +/*
 + *  Copyright (C) 2003 Glenn L. McGrath
 @@ -0,0 +1,100 @@
 +/*
 + *  Copyright (C) 2003 Glenn L. McGrath
@@ -158,23 +157,23 @@ diff -ruN busybox-1.1.1-old/libbb/hash.c busybox-1.1.1-new/libbb/hash.c
 +      void (*final)(void*, void*) = NULL;
 +      
 +      // figure specific hash algorithims
 +      void (*final)(void*, void*) = NULL;
 +      
 +      // figure specific hash algorithims
-+      if(hash_algo==HASH_MD5) {
++      if (hash_algo==HASH_MD5) {
 +              md5_begin(&context.md5);
 +              update = (void (*)(const void*, size_t, void*))md5_hash;
 +              final = (void (*)(void*, void*))md5_end;
 +              md5_begin(&context.md5);
 +              update = (void (*)(const void*, size_t, void*))md5_hash;
 +              final = (void (*)(void*, void*))md5_end;
-+      } else if(hash_algo==HASH_SHA1) {
++      } else if (hash_algo==HASH_SHA1) {
 +              sha1_begin(&context.sha1);
 +              update = (void (*)(const void*, size_t, void*))sha1_hash;
 +              final = (void (*)(void*, void*))sha1_end;
 +      }
 +
 +
 +              sha1_begin(&context.sha1);
 +              update = (void (*)(const void*, size_t, void*))sha1_hash;
 +              final = (void (*)(void*, void*))sha1_end;
 +      }
 +
 +
-+      while(0 < (count = read(fd, in_buf, sizeof in_buf))) {
++      while (0 < (count = read(fd, in_buf, sizeof in_buf))) {
 +              update(in_buf, count, &context);
 +              result += count;
 +      }
 +
 +              update(in_buf, count, &context);
 +              result += count;
 +      }
 +
-+      if(count == 0) {
++      if (count == 0) {
 +              final(hash_value, &context);
 +      }
 +      
 +              final(hash_value, &context);
 +      }
 +      
@@ -189,26 +188,26 @@ diff -ruN busybox-1.1.1-old/libbb/hash.c busybox-1.1.1-new/libbb/hash.c
 +      RESERVE_CONFIG_UBUFFER(hash_buf, 20);
 +      uint8_t *hash_value = NULL;
 +      
 +      RESERVE_CONFIG_UBUFFER(hash_buf, 20);
 +      uint8_t *hash_value = NULL;
 +      
-+      if(ENABLE_MD5SUM && hash_algo==HASH_MD5) {
++      if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
 +              hash_len = 16;
 +              hash_len = 16;
-+      } else if(ENABLE_SHA1SUM && hash_algo==HASH_SHA1) {
++      } else if (ENABLE_SHA1SUM && hash_algo==HASH_SHA1) {
 +              hash_len = 20;
 +      } else {
 +              bb_error_msg_and_die("algotithm not supported");
 +      }
 +
 +              hash_len = 20;
 +      } else {
 +              bb_error_msg_and_die("algotithm not supported");
 +      }
 +
-+      if(strcmp(filename, "-") == 0) {
++      if (strcmp(filename, "-") == 0) {
 +              src_fd = STDIN_FILENO;
 +              src_fd = STDIN_FILENO;
-+      } else if(0 > (src_fd = open(filename, O_RDONLY))) {
++      } else if (0 > (src_fd = open(filename, O_RDONLY))) {
 +              bb_perror_msg("%s", filename);
 +              return NULL;
 +      }
 +
 +              bb_perror_msg("%s", filename);
 +              return NULL;
 +      }
 +
-+      if(hash_fd(src_fd, hash_algo, hash_buf) > 0) {
++      if (hash_fd(src_fd, hash_algo, hash_buf) > 0) {
 +              hash_value = hash_bin_to_hex(hash_buf, hash_len);
 +      }
 +      
 +              hash_value = hash_bin_to_hex(hash_buf, hash_len);
 +      }
 +      
-+      if(src_fd != STDIN_FILENO) {
++      if (src_fd != STDIN_FILENO) {
 +              close(src_fd);
 +      }
 +      
 +              close(src_fd);
 +      }
 +      
@@ -216,3 +215,14 @@ diff -ruN busybox-1.1.1-old/libbb/hash.c busybox-1.1.1-new/libbb/hash.c
 +
 +      return hash_value;
 +}
 +
 +      return hash_value;
 +}
+diff -ruN busybox-1.2.0-orig/libbb/Makefile.in busybox-1.2.0-libbb_hash/libbb/Makefile.in
+--- busybox-1.2.0-orig/libbb/Makefile.in       2006-07-01 00:42:08.000000000 +0200
++++ busybox-1.2.0-libbb_hash/libbb/Makefile.in 2006-07-22 16:51:47.000000000 +0200
+@@ -11,6 +11,7 @@
+ LIBBB-n:=
+ LIBBB-y:= \
++      hash.c \
+       bb_asprintf.c ask_confirmation.c change_identity.c chomp.c \
+       compare_string_array.c concat_path_file.c copy_file.c copyfd.c \
+       crc32.c create_icmp_socket.c create_icmp6_socket.c \
index 55cd904..72375bc 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
 #
 # fix ipkg bugs
 #
 #
 # fix ipkg bugs
 #