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
-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_MD5SUM:=19a0b475169335f17e421cf644616fe7
+PKG_MD5SUM:=362b3dc0f2023ddfda901dc1f1a74391
 PKG_CAT:=bzcat
 
 include $(INCLUDE_DIR)/package.mk
index eedb4ba..6a5d6a7 100644 (file)
@@ -12,9 +12,26 @@ menu "Busybox Settings"
 
 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
+       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.
@@ -36,15 +53,39 @@ config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
 
 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
+       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.
 
+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
@@ -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.
 
-config BUSYBOX_CONFIG_FEATURE_DEVFS
-       bool "Support for devfs"
+config BUSYBOX_CONFIG_GETOPT_LONG
+       bool
        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"
-       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
-         devpts or devfs mounted.
+         devpts mounted.
 
 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
@@ -93,15 +138,25 @@ config BUSYBOX_CONFIG_FEATURE_SUID
        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
-         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>)
 
@@ -138,17 +193,32 @@ config BUSYBOX_CONFIG_SELINUX
        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
-         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'.
 
+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'
@@ -167,21 +237,18 @@ config BUSYBOX_CONFIG_STATIC
 
          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
-       depends on BUSYBOX_CONFIG_DISABLE_SHARED
        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
@@ -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.
 
-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
@@ -272,17 +330,27 @@ endmenu
 menu 'Debugging Options'
 
 config BUSYBOX_CONFIG_DEBUG
-       bool "Build BusyBox with Debugging symbols"
+       bool "Build BusyBox with extra Debugging symbols"
        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.
 
+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
@@ -329,7 +397,7 @@ config BUSYBOX_CONFIG_DEBUG_YANK_SUSv2
        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.)
index bd5c4b1..ac71d75 100644 (file)
@@ -29,7 +29,7 @@ config BUSYBOX_CONFIG_AR
          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
@@ -89,7 +89,7 @@ config BUSYBOX_CONFIG_DPKG_DEB
          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
@@ -106,7 +106,7 @@ config BUSYBOX_CONFIG_GUNZIP
          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
@@ -150,7 +150,7 @@ config BUSYBOX_CONFIG_TAR
          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
@@ -158,7 +158,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
          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
@@ -166,7 +166,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
          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
@@ -174,7 +174,7 @@ config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
          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
@@ -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
-       bool "  Enable -z option"
+       bool "Enable -z option"
        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
-       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.
 
-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
@@ -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
-       bool "  Enable support for some GNU tar extensions"
+       bool "Enable support for some GNU tar extensions"
        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
-       bool "  Enable long options"
+       bool "Enable long options"
        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
 
@@ -244,11 +244,11 @@ config BUSYBOX_CONFIG_UNLZMA
          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
-         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
@@ -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
-       bool "  Enable tape drive support"
+       bool "Enable tape drive support"
        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
-       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
@@ -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
-       bool "  bzip2 debian packages"
+       bool "bzip2 debian packages"
        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
-       bool "  lzma debian packages"
+       bool "lzma debian packages"
        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.
 
+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
@@ -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.
 
+config BUSYBOX_CONFIG_SETLOGCONS
+       bool "setlogcons"
+       default n
+       help
+         This program redirects the output console of kernel messages.
+
 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.
 
+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
@@ -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'.
 
+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
@@ -87,7 +100,7 @@ config BUSYBOX_CONFIG_DATE
          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
@@ -102,6 +115,26 @@ config BUSYBOX_CONFIG_DD
          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
@@ -109,6 +142,38 @@ config BUSYBOX_CONFIG_DF
          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
@@ -127,6 +192,9 @@ config BUSYBOX_CONFIG_UNIX2DOS
        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)"
@@ -135,8 +203,8 @@ config BUSYBOX_CONFIG_DU
          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
@@ -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
-       bool "  Enable echo options (-n and -e)"
+       bool "Enable echo options (-n and -e)"
        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.
 
+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
@@ -172,7 +247,7 @@ config BUSYBOX_CONFIG_EXPR
          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
@@ -200,7 +275,7 @@ config BUSYBOX_CONFIG_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
@@ -225,6 +300,13 @@ config BUSYBOX_CONFIG_INSTALL
        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
@@ -250,56 +332,56 @@ config BUSYBOX_CONFIG_LS
          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
-       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
-       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
-       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
-       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
-       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
-       bool "  Allow use of color to identify file types"
+       bool "Allow use of color to identify file types"
        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
-       bool "  Produce colored ls output by default"
+       bool "Produce colored ls output by default"
        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.
 
+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
@@ -341,6 +430,13 @@ config BUSYBOX_CONFIG_MV
        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
@@ -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
-       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
@@ -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
-       bool "  full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
+       bool "full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
        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
-       bool "  Enable custom formats (-c)"
+       bool "Enable custom formats (-c)"
        default n
        depends on BUSYBOX_CONFIG_STAT
        help
@@ -481,7 +577,7 @@ config BUSYBOX_CONFIG_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
@@ -496,7 +592,7 @@ config BUSYBOX_CONFIG_TEE
          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
@@ -507,11 +603,11 @@ config BUSYBOX_CONFIG_TEST
        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
-       bool "  Extend test to 64 bit"
+       bool "Extend test to 64 bit"
        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
-       bool "  Enable character classes (such as [:upper:])"
+       bool "Enable character classes (such as [:upper:])"
        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
-       bool "  Enable equivalence classes"
+       bool "Enable equivalence classes"
        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
-       bool "  Preserve hard links"
+       bool "Preserve hard links"
        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
-       bool "  Calculate terminal & column widths"
+       bool "Calculate terminal & column widths"
        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
-       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
@@ -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
-       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
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
-       bool "  Enable canonicalization by following all symlinks (-f)"
+       bool "Enable canonicalization by following all symlinks (-f)"
        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.
 
+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
@@ -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.
 
+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
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
-       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.
 
+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
@@ -43,7 +51,7 @@ config BUSYBOX_CONFIG_VI
          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
@@ -51,7 +59,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_COLON
          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
@@ -59,7 +67,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
          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
@@ -67,7 +75,7 @@ config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
          busybox vi.
 
 config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
-       bool "  Catch signals"
+       bool "Catch signals"
        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
-       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
-       bool "  Enable -R option and \"view\" mode"
+       bool "Enable -R option and \"view\" mode"
        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
-       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
-       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
-       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
-       bool "  Optimize cursor movement"
+       bool "Optimize cursor movement"
        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.
 
+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
-       bool "  Enable modified time matching (-mtime) option"
+       bool "Enable modified time matching (-mtime) option"
        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
-       bool "  Enable modified time matching (-min) option"
+       bool "Enable modified time matching (-min) option"
        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
-       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
-       bool "  Enable filetype matching (-type) option"
+       bool "Enable filetype matching (-type) option"
        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
-       bool "  Enable stay in filesystem (-xdev) option"
+       bool "Enable stay in filesystem (-xdev) option"
        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
-       bool "  Enable -newer option for comparing file mtimes"
+       bool "Enable -newer option for comparing file mtimes"
        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
-       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
-       bool "  Enable (-exec) option allowing execution of commands"
+       bool "Enable (-exec) option allowing execution of commands"
        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
-       bool "  Support extended regular expressions (egrep & grep -E)"
+       bool "Support extended regular expressions (egrep & grep -E)"
        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
-       bool "  Alias fgrep to grep -F"
+       bool "Alias fgrep to grep -F"
        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
-       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
@@ -114,7 +124,7 @@ config BUSYBOX_CONFIG_XARGS
          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
@@ -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
-       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
@@ -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
-       bool "  Enable support options -x"
+       bool "Enable support options -x"
        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
-       bool "  Enable options -0"
+       bool "Enable options -0"
        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.
 
+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
-       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
-       bool "  Support running commands with a controlling-tty"
+       bool "Support running commands with a controlling-tty"
        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
-       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
-       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
@@ -49,7 +57,7 @@ config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
 
 
 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
@@ -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
 
-       default y
-       help
-         Stop all processes and (try to) power off the system.
-
 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
-       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
-       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
@@ -110,7 +110,7 @@ config BUSYBOX_CONFIG_LOGIN
          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
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.
 
+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
-       bool "  Using /usr/sbin/sendmail?"
+       bool "Using /usr/sbin/sendmail?"
        default n
        depends on BUSYBOX_CONFIG_CROND
        help
@@ -57,9 +64,11 @@ config BUSYBOX_CONFIG_DC
          precision arithmetic.
 
 config BUSYBOX_CONFIG_DEVFSD
-       bool "devfsd"
+       bool "devfsd (obsolete)"
        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:
@@ -74,7 +83,8 @@ config BUSYBOX_CONFIG_DEVFSD_MODLOAD
        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"
@@ -91,6 +101,17 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
        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
@@ -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
-       bool "  Enable bracket searching"
+       bool "Enable bracket searching"
        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
-       bool "  Enable extra flags"
+       bool "Enable extra flags"
        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
-       bool "  Enable flag changes"
+       bool "Enable flag changes"
        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
-       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
-       bool "  Enable regular expressions"
+       bool "Enable regular expressions"
        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
-       bool "  Support obtaining detailed information directly from drives"
+       bool "Support obtaining detailed information directly from drives"
        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
-         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
-       bool "  Register an IDE interface (DANGEROUS)"
+       bool "Register an IDE interface (DANGEROUS)"
        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
-       bool "  Un-register an IDE interface (DANGEROUS)"
+       bool "Un-register an IDE interface (DANGEROUS)"
        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
-       bool "  perform device reset (DANGEROUS)"
+       bool "perform device reset (DANGEROUS)"
        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
-       bool "  tristate device for hotswap (DANGEROUS)"
+       bool "tristate device for hotswap (DANGEROUS)"
        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
-       bool "  get/set using_dma flag (DANGEROUS)"
+       bool "get/set using_dma flag (DANGEROUS)"
        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
-         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
@@ -289,6 +311,18 @@ config BUSYBOX_CONFIG_SETSID
        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
index 7c9f50f..8151914 100644 (file)
@@ -84,7 +84,7 @@ config BUSYBOX_CONFIG_MODPROBE
        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
@@ -111,7 +111,7 @@ comment "Options common to multiple modutils"
 
 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
@@ -122,7 +122,7 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
 
 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
@@ -130,7 +130,7 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
 
 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
index 7e280b7..3e0cbc9 100644 (file)
@@ -9,8 +9,8 @@ config BUSYBOX_CONFIG_FEATURE_IPV6
        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"
@@ -22,7 +22,7 @@ config BUSYBOX_CONFIG_DNSD
        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"
@@ -34,8 +34,8 @@ config BUSYBOX_CONFIG_FAKEIDENTD
        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"
@@ -49,6 +49,13 @@ config BUSYBOX_CONFIG_FTPPUT
        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
@@ -61,52 +68,50 @@ config BUSYBOX_CONFIG_HTTPD
        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
-         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
-       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
-       bool "  Enable support -u <user> option"
+       bool "Enable support -u <user> option"
        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.
-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
-       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
@@ -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
-       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
-         when specific urls are requested.
+         when specific URLs are requested.
 
 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 
-         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
-       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
@@ -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
-       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
-         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".
@@ -157,7 +162,7 @@ config BUSYBOX_CONFIG_IFCONFIG
          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
@@ -165,7 +170,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS
          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
@@ -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
-       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
@@ -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
-       bool "  Enable option \"hw\" (ether only)"
+       bool "Enable option \"hw\" (ether only)"
        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
-       bool "  Set the broadcast automatically"
+       bool "Set the broadcast automatically"
        default y
        depends on BUSYBOX_CONFIG_IFCONFIG
        help
@@ -215,7 +220,7 @@ config BUSYBOX_CONFIG_IFUPDOWN
          standalone utilities.
 
 config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
-       bool "  Use ip applet"
+       bool "Use ip applet"
        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
-       bool "  Use busybox ip applet"
+       bool "Use busybox ip applet"
        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
-       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
@@ -251,21 +256,21 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
          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
-       bool "  Enable support for IPv6"
+       bool "Enable support for IPv6"
        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
-       bool "  Enable support for IPX"
+       bool "Enable support for IPX"
        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
-       bool "  Enable mapping support"
+       bool "Enable mapping support"
        default n
        depends on BUSYBOX_CONFIG_IFUPDOWN
        help
@@ -286,43 +291,43 @@ config BUSYBOX_CONFIG_INETD
        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
 
-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
 
-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
 
-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
 
-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
-       bool "  Support RPC services"
+       bool "Support RPC services"
        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.
 
-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
+       depends on BUSYBOX_CONFIG_IP
        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
-       depends on BUSYBOX_CONFIG_IPCALC
+       depends on BUSYBOX_CONFIG_IP
        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
+       depends on BUSYBOX_CONFIG_IP
        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
+       depends on BUSYBOX_CONFIG_IP
        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
-       bool "iproute"
+       bool
        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
-       bool "iptunnel"
+       bool
        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
-         Equivalent to selecting tunnel support to "ip", above.
+         Support long options for the ipcalc applet.
 
 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
-       bool "  Enable fancy ping output"
+       bool "Enable fancy ping output"
        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
-       bool "  Enable fancy ping6 output"
+       bool "Enable fancy ping6 output"
        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
-       bool "  Pass TERM type to remote host"
+       bool "Pass TERM type to remote host"
        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
-       bool "  Pass USER type to remote host"
+       bool "Pass USER type to remote host"
        default n
        depends on BUSYBOX_CONFIG_TELNET
        help
@@ -583,7 +577,7 @@ config BUSYBOX_CONFIG_TELNETD
 
 
 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
@@ -599,7 +593,7 @@ config BUSYBOX_CONFIG_TFTP
          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
@@ -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
-       bool "  Enable \"put\" command"
+       bool "Enable \"put\" command"
        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
-       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.
 
-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
@@ -637,7 +631,7 @@ config BUSYBOX_CONFIG_TRACEROUTE
          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
@@ -645,7 +639,7 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
          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
@@ -653,12 +647,13 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
          (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.
 
+source package/busybox/config/networking/udhcp/Config.in
 
 config BUSYBOX_CONFIG_VCONFIG
        bool "vconfig"
@@ -674,27 +669,32 @@ config BUSYBOX_CONFIG_WGET
          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
-       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
-       bool "  Enable IPv6 literal addresses"
+       bool "Enable IPv6 literal addresses"
        default y
-       depends on BUSYBOX_CONFIG_WGET
+       depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_FEATURE_IPV6
        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"
@@ -708,4 +708,3 @@ config BUSYBOX_CONFIG_ZCIP
          in the busybox examples.
 
 endmenu
-
index d15128c..741afa3 100644 (file)
@@ -5,7 +5,7 @@
 
 menu "udhcp Server/Client"
 
-config BUSYBOX_CONFIG_UDHCPD
+config BUSYBOX_CONFIG_APP_UDHCPD
        bool "udhcp Server (udhcpd)"
        default n
        help
@@ -14,7 +14,7 @@ config BUSYBOX_CONFIG_UDHCPD
 
          See http://udhcp.busybox.net for further details.
 
-config BUSYBOX_CONFIG_UDHCPC
+config BUSYBOX_CONFIG_APP_UDHCPC
        bool "udhcp Client (udhcpc)"
        default y
        help
@@ -26,10 +26,10 @@ config BUSYBOX_CONFIG_UDHCPC
 
          See http://udhcp.busybox.net for further details.
 
-config BUSYBOX_CONFIG_DUMPLEASES
+config BUSYBOX_CONFIG_APP_DUMPLEASES
        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
@@ -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
-       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.
@@ -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
-       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
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
-       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
-       bool "  Enable argument for omitting pids (-o)"
+       bool "Enable argument for omitting pids (-o)"
        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
-       bool "  Enable argument for wide output (-w)"
+       bool "Enable argument for wide output (-w)"
        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
-       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
index b9a1b4d..373c746 100644 (file)
@@ -48,14 +48,14 @@ comment "Ash Shell Options"
        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
-       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
@@ -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
-       bool "  Enable 'read -t S' support."
+       bool "'read -t S' support."
        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
-       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
-       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
-       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
@@ -95,52 +95,53 @@ config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
          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.
 
-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
+       select BUSYBOX_CONFIG_ECHO
        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
+       select BUSYBOX_CONFIG_TEST
        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
-       depends on BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
+       depends on BUSYBOX_CONFIG_ASH
        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
-       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
-       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
-       bool "  Enable pseudorandom generator and variable $RANDOM"
+       bool "Pseudorandom generator and variable $RANDOM"
        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
-       bool "  Expand prompt string"
+       bool "Expand prompt string"
        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.
 
+         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
-       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
@@ -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
-       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
-       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
-       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
-       bool "username completion"
+       bool "Username completion"
        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
-       bool "  Rotate message files"
+       bool "Rotate message files"
        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
-       bool "  Remote Log support"
+       bool "Remote Log support"
        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
-       bool "  Circular Buffer support"
+       bool "Circular Buffer support"
        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
-       bool "  logread"
+       bool "logread"
        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
-       bool "    logread double buffering"
+       bool "logread double buffering"
        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
-       bool "  Turn on extra fbset options"
+       bool "Turn on extra fbset options"
        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
-       bool "  Turn on fbset readmode support"
+       bool "Turn on fbset readmode support"
        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
-       bool "  Write support"
+       bool "Write support"
        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
-       bool "  Support AIX disklabels"
+       bool "Support AIX disklabels"
        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
-       bool "  Support SGI disklabels"
+       bool "Support SGI disklabels"
        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
-       bool "  Support SUN disklabels"
+       bool "Support SUN disklabels"
        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
-       bool "  Support BSD disklabels"
+       bool "Support BSD disklabels"
        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
-       bool "  Support expert mode"
+       bool "Support expert mode"
        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
-       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
@@ -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.
 
-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
-       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
-       bool "  Use FHS /var/lib/hwclock/adjtime"
+       bool "Use FHS /var/lib/hwclock/adjtime"
        default n
        depends on BUSYBOX_CONFIG_HWCLOCK
        help
@@ -255,7 +255,7 @@ config BUSYBOX_CONFIG_MDEV
          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
@@ -265,16 +265,31 @@ config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
 
          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 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
@@ -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.
 
+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
@@ -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
-       bool "  Use termios to manipulate the screen"
+       bool "Use termios to manipulate the screen"
        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
-       bool "  Support mounting NFS file systems"
+       bool "Support mounting NFS file systems"
        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
-       bool "  umount -a option"
+       bool "umount -a option"
        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
-       bool "  Support loopback mounts"
+       bool "Support loopback mounts"
        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
-       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
@@ -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
-         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
 
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"
  
@@ -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 \
-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.
@@ -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
-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
@@ -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)
  {
-@@ -48,6 +49,9 @@
+@@ -34,6 +35,9 @@
  #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)
-@@ -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>
@@ -9,7 +9,7 @@ diff -ur busybox-1.1.0/networking/telnetd.c busybox-1.1.0-owrt/networking/telnet
  
  #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;
@@ -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;
  
-@@ -413,6 +416,9 @@
+@@ -410,6 +413,9 @@
                        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;
-@@ -465,6 +471,13 @@
+@@ -459,6 +465,13 @@
        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" \
@@ -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"\
-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,
@@ -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,
-@@ -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'},
@@ -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'},
-@@ -214,7 +217,7 @@
+@@ -174,7 +176,7 @@
        /* 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) {
-@@ -284,6 +287,9 @@
+@@ -244,6 +246,9 @@
                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;
-@@ -527,8 +533,11 @@
+@@ -488,8 +493,11 @@
  
                                        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();
  
-@@ -553,12 +562,13 @@
+@@ -514,12 +522,13 @@
                        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 */
-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 */
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.
@@ -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"
-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
@@ -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
-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>
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/time.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 */
@@ -30,7 +22,7 @@
    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;
 +        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,)
-       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:"
-@@ -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:")
--      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)
-@@ -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;)
-   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;)
-@@ -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;
-@@ -2061,6 +2071,7 @@
+@@ -1960,6 +1970,7 @@
                        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) {
-@@ -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)
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.
  
@@ -28,20 +30,9 @@ diff -urN busybox.old/miscutils/Config.in busybox.dev/miscutils/Config.in
  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>
@@ -176,3 +167,14 @@ diff -urN busybox.old/miscutils/lock.c busybox.dev/miscutils/lock.c
 +      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
 #
-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.
@@ -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
-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);
  }
  
@@ -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;
-@@ -1544,6 +1548,8 @@
+@@ -1442,6 +1446,8 @@
        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];
-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
 +
@@ -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);
 +}
-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
 + 
@@ -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);
 +}
-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
 +
@@ -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
-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
 +
@@ -610,9 +466,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile.c busybox-1.1.2+ipkg-0.99
 +
 +    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
 +
@@ -644,9 +500,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile.h busybox-1.1.2+ipkg-0.99
 +
 +#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
 +
@@ -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);
 +}
 +
-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
 +
@@ -735,9 +591,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/conffile_list.h busybox-1.1.2+ipkg
 +
 +#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
 +
@@ -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;
 +}
 +
-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
 +
@@ -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
-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
 +
@@ -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
 +
@@ -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_ */
-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
 +
@@ -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
 +
@@ -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
-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
 +
@@ -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;
 +}
-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
 +
@@ -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
-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
 +
@@ -3589,9 +3367,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_configure.c busybox-1.1.2+ipk
 +    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
 +
@@ -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
-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
 +
@@ -3817,9 +3595,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_download.c busybox-1.1.2+ipkg
 +     }
 +     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
 +
@@ -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
-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
@@ -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 */
-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
 +
@@ -5880,9 +5736,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_install.c busybox-1.1.2+ipkg-
 +}
 +
 +#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
 +
@@ -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
-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
 +
@@ -5984,9 +5840,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_message.c busybox-1.1.2+ipkg-
 +      }
 +}
 +#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
 +
@@ -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_ */
-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
 +
@@ -6407,9 +6263,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_remove.c busybox-1.1.2+ipkg-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
 +
@@ -6444,9 +6300,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/ipkg_remove.h busybox-1.1.2+ipkg-0
 +
 +
 +#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
 +
@@ -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);
 +}
-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
 +
@@ -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);
-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
 +
@@ -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
 +
@@ -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
-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
 +
@@ -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 */
-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
 +
@@ -7387,9 +7243,134 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/libipkg.h busybox-1.1.2+ipkg-0.99.
 +
 +
 +#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
 + *
@@ -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);
 +}
 +
-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.
@@ -7478,9 +7459,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/md5.h busybox-1.1.2+ipkg-0.99.162/
 +
 +#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
 +
@@ -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
 +
@@ -7558,9 +7539,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair.h busybox-1.1.2+ipkg-0.99.
 +
 +#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
 +
@@ -7660,9 +7641,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair_list.c busybox-1.1.2+ipkg-
 +     }    
 +     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
 +
@@ -7724,9 +7705,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/nv_pair_list.h busybox-1.1.2+ipkg-
 +
 +#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
 +
@@ -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;
 +}
-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
@@ -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.
 +*/
 +
-+#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
@@ -10755,9 +10500,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_depends.c busybox-1.1.2+ipkg-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
 +
@@ -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
-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
 +
@@ -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;
 +}
-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
 +
@@ -11002,9 +10747,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest.h busybox-1.1.2+ipkg-0.99
 +
 +#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
 +
@@ -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);
 +}
-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
 +
@@ -11145,9 +10890,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_dest_list.h busybox-1.1.2+ipkg
 +
 +#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
 +
@@ -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->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;
@@ -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->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);
@@ -11373,9 +11118,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_extract.c busybox-1.1.2+ipkg-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
 +
@@ -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
-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
 +
@@ -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
 +
@@ -12095,9 +12076,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_hash.h busybox-1.1.2+ipkg-0.99
 +
 +#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
 +
@@ -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;
 +}
-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
 +
@@ -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
-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
 +
@@ -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
 +
@@ -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
-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
 +
@@ -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);
 +}
-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
 +
@@ -12725,9 +12706,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/pkg_src_list.h busybox-1.1.2+ipkg-
 +
 +#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
 +
@@ -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);
 +}
 +
-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
 +
@@ -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
 +
-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
 +
@@ -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
-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
 +
@@ -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);
 +}
-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
 +
@@ -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
-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
 +
@@ -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;
 +}
 +
-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
 +
@@ -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
-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
 +
@@ -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;
 +}
-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
 +
@@ -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, ...);
 +
-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
 +
@@ -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;
 +}
-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
 +
@@ -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
-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
 +
@@ -13716,9 +13697,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/xsystem.c busybox-1.1.2+ipkg-0.99.
 +    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
 +
@@ -13754,20 +13735,9 @@ diff -ruN busybox-1.1.2-orig/archival/libipkg/xsystem.h busybox-1.1.2+ipkg-0.99.
 +
 +#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);
        }
@@ -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);
@@ -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);
  
-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"
  
@@ -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 \
+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
 #
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"
  
@@ -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*);
--      
--      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;
 -      }
 -
--      // 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;
--      } 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 {
--              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);
 -      }
 -
--      if(count == 0) {
+-      if (count == 0) {
 -              final(in_buf, &context);
 -              hash_value = hash_bin_to_hex(in_buf, hash_len);
 -      }
--      
+-
 -      RELEASE_CONFIG_BUFFER(in_buf);
--      
--      if(src_fd != STDIN_FILENO) {
+-
+-      if (src_fd != STDIN_FILENO) {
 -              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)
  {
-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 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);
 +
- /* 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
@@ -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
-+      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;
-+      } 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;
 +      }
 +
 +
-+      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;
 +      }
 +
-+      if(count == 0) {
++      if (count == 0) {
 +              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;
 +      
-+      if(ENABLE_MD5SUM && hash_algo==HASH_MD5) {
++      if (ENABLE_MD5SUM && hash_algo==HASH_MD5) {
 +              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");
 +      }
 +
-+      if(strcmp(filename, "-") == 0) {
++      if (strcmp(filename, "-") == 0) {
 +              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;
 +      }
 +
-+      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);
 +      }
 +      
-+      if(src_fd != STDIN_FILENO) {
++      if (src_fd != STDIN_FILENO) {
 +              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;
 +}
+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
 #