Ok, this is a pretty major update to sh.c. I renamed all the variables and
[oweals/busybox.git] / Changelog
index 29f95a6b1e99d45eafd50cde1d666a7e5a5039af..a1a538af09d48e703ce308393130cec13fb33677 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,4 +1,171 @@
-0.44
+0.48
+
+       * Glenn McGrath -- tar now supports uncompressing tar files,
+           define BB_FEATURE_TAR_GZIP to use the -z option.
+       * Matt Kraai -- fix all usage of TRUE and FALSE so all apps now
+           return EXIT_SUCCESS or EXIT_FAILURE to the system.
+           Now TRUE and FALSE are set to the C standard where TRUE=1.
+       * me -- Fixed uname problem causing the kernel version to be
+           mis-detected (causing problems with poweroff, init,
+           and other things).  
+       * Alcove, Julien Gaulmin <julien.gaulmin@alcove.fr> and 
+           Nicolas Ferre <nicolas.ferre@alcove.fr> -- insmod support on ARM 
+           and StrongArm, and suport for lsmod on older 2.0.x kernels.
+       * Kent Robotti -- Renamed unrpm to original rpmunpack, so you can use 
+           an included shell script called unrpm as a front end to it.  There's
+           also a shell script called undeb included for debian packages.  
+       * Matt Kraai -- fix an infinite loop with ls -aR
+       * Larry Doolittle -- Shaved off about 100 bytes and 200 bytes heap 
+           from date.c.  Also document the "-d" option in the usage message.
+       * Gennady Feldman -- fixed dd to use blocksize when reading/writing, 
+           (it was reading the whole thing and then writing it out).  Also 
+           updated usage information (was missing conv=notrunc) and added 
+           conv=sync feature.
+       * Larry Doolittle (in collaboration with Matt Kraai) -- allow for a 
+           pristine source directory -- where all the .o files and such are 
+           not placed into the source tree.  Thanks Larry!
+       * Larry Doolittle -- use the applet definitions in applets.h 
+           to autogenerate the applet function and usage prototypes.
+       * Sebastien Huet, Arne Bernin, and Kent Robotti -- Add in tar -X and
+           fixed a bug breaking tar --exclude.  
+       * Jonas Holmberg -- echo option handling made GNU-echo compatible
+       * Aleksey Demidov <asd@ixcelerator.com> -- date option handling made 
+           GNU-date compatible
+       * me -- Progress meter (optional) in wget
+       * Doolittle/me -- programs invoked by full path name take
+           precedence over applets unless BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
+       * Gaute B Strokkenes <gs234@cam.ac.uk> -- applets found using a
+           binary search instead of linear search.  Much faster!
+       * new applets: cmp readlink
+       * Mark Whitley -- Removed advertising clause of Berkeley license
+           according to decision by the Regents of the University of
+           California; included reference
+       * tail's confusing special treatment of single digit options removed;
+           people should use -n instead
+       * Larry Doolittle -- \r handled now in echo and tr
+       * Matt Kraai -- rewrite of uniq
+       * Mark Whitley -- remix of xargs
+       * Jim Gleason <jimg@lineo.com> -- fixed tar so it no longer breaks 
+           hard links.
+       * Matt Kraai -- logger now logs all arguments, not just the first
+       * Gennady Feldman -- syslogd no longer logs to localhost if compiled
+           for remote logging...
+       * Richard June <rjune@ims1.imagestream-is.com> -- support for 'gzip -d'
+       * various artists -- Other good stuff that I forgot to document.
+
+
+        -Erik Andersen, 13 December 2000
+
+0.47
+
+       * A bug in syslogd was fixed that allowed it to potentially fork-bomb
+           your system.  Anyone using 0.46 syslogd should upgrade.
+       * Renamed busybox.defs.h to the more sensible "Config.h"
+       * Improved portability between different libcs.
+       * Many apps ported to use getopt()
+       * Common handling of '--help'
+       * All usage messages centralized.
+       * Added a bunch of new commands:
+           * 'rdate' contributed by Sterling Huxley <sterling@europa.com>
+           * 'wget' contributed by Chip Rosenthal <chip@unicom.com>, 
+                   <crosenth@covad.com> and Covad Communications
+           * 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org>
+           * dos2unix, unix2dos, reset, and unrpm.c (and lots of help
+               debugging) thanks to Kent Robotti <robotti@metconnect.com>.
+           * 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
+           * 'xargs' (written by me)
+           * 'expr' contributed by Edward Betts <edward@debian.org>, based
+               on GNY expr
+       * lsmod now uses the query_module syscall, rather then /proc (me)
+       * syslogd can now log messages to remote hosts -- patch thanks
+           to Gyepi Sam <gyepi@praxis-sw.com>
+       * chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org>
+       * 'make install' now creates relative symlinks, and added a new
+           'make install-hardlinks' target to (tada) install hardlinks.
+       * Rewrite of 'tail' to make it simpler, smaller, and more robust.  
+           It now weighs only 2.25k (3k when full featured).  The code is
+           cleaner too, thanks to Allen Soard <esp-software@mail.hypermart.net>
+       * Add optional ls file sorting, thanks to a patch from 
+           Sterling Huxley <sterling@europa.com>
+       * Fixed chmod option parsing so things like 'chmod -r /tmp/file'
+           now work (previously it thought -r was an option).  Doh!
+       * Fixed tar handling of stdin and stdout
+       * Renamed "internal.h" to the more sensible "busybox.h"
+       * Preliminary support for GNU HURD.
+       * Updated my devps and devmtab kernel patches for the latest 2.2.x
+           kernel, for those wanting to go proc-less.
+       * Tons of other bugfixes.
+
+
+        -Erik Andersen, 25 September 2000
+
+
+0.46
+
+       * Better portability.  Now should compile cleanly with libc5, 
+           GNU libc 2.0 and 2.1, and various Linux kernels including 
+           2.0.x, 2.2.x, and to 2.4.0-test*. (patch for 2.4.x kernels
+           to make /proc/mounts behave included in the kernel-patches dir). 
+       * Fixed a _horrible_ bug where 'tar -tvf' could unlink
+           local files that matched tarball contents!!!  Fix thanks 
+           to Marius Groeger <mgroeger@sysgo.de>
+       * Fixed a nasty bug in tar when could mess up saved symlinks.
+       * Fixed tar creation support when reading from stdin ('tar -cf - . ') 
+           thanks to Daniel Quinlan <quinlan@transmeta.com>
+       * Updates to handle Linux 2.4.0 kernels (kludged around the
+           "none" entries in /proc/mounts, added a hack to make sysinfo
+           work with both old and new kernels).
+       * Fixed insmod module option parsing for options lacking an '='.
+           Fix thanks to Marc Nijdam <marc_nijdam@hp.com>
+       * Fixed segfault with 'cut -f 1 -d:' and added 'cut -s' suport.
+           Fix thanks to Arne Bernin <arne@matrix.loopback.org>
+       * Several fixes from Marius Groeger <mag@sysgo.de>
+           - Added support for "sh -c command args..."
+           - Fixed globbing, i.e. 'echo * *' and 'echo "******"' now work.
+           - Added shell environment variable substitution 
+           - Added the "read" shell builtin.
+       * Fixed cursor editing in cmdedit.c. The following keyboard sequence 
+           used to create an infinite loop: ls, cursor up, left, down.
+       * Added support for being a login shell, so things like
+           '-su' or '-sh' (stuff where argv[0][0]=='-') will now always 
+           invoke the shell.  Now you can use BusyBox as a login shell.
+       * ls.c now ignores '-g', since some ftp clients like that sort 
+           of thing.  Patch thanks to David Vrabel <dvrabel@arcom.co.uk>
+       * Fix to init.c from Stuart Menefy <Stuart.Menefy@st.com> so that
+           it always sets the controlling terminal before running any programs
+       * Several fixes from Matt Kraai <kraai@alumni.carnegiemellon.edu>
+           - Fixed tr so it recognizes standard escape sequences.  
+               Merged common escape seq. code from tr and echo into utility.c.
+           - Major work in updating/cleaning up the docs, and getting the
+               new SGML based docs into shape.
+           - cleanup of ar.c
+           - BusyBox should now poweroff when asked to do so.
+           - Fixed 'ln -n' and 'ln -s' so they both work properly.
+       * Reorganized signal names in kill.c for better architecture support 
+           -- patch thanks to simon wood <simon@mungewell.uklinux.net>
+       * In 0.43, backspace and delete worked properly, but with 0.45, 
+           it just echoed a ^? for backspace, and ^H for control-h.  This
+           was due to a broken macro in init.c, that is now fixed.
+       * Removed sfdisk from BusyBox.  It was buggy, fat, and we really
+           couldn't maintain it very well, so including it was not really
+           very appropriate.  Those wanting an fdisk are invited to
+           grab a copy from util-linux.
+       * Added 'dumpkmap' to allow people to dump a binary keymap, which can 
+           then be loaded in by 'loadkmap' -- submitted by
+           Arne Bernin <arne@matrix.loopback.org>
+       * Fixed NFS so it supports 2.4.x kernels and NFSv3.
+       * Brand, new versions of grep and sed which use libc regex routines,
+           thanks to Mark Whitley <markw@lineo.com>.  The hand-tooled 
+           "regexp.[ch]" files have been removed. Much help on these from 
+           Matt Kraai as well.
+
+
+        -Erik Andersen, 11 July 2000
+
+
+0.45
+       * Now compiles vs libc5 (which can save lots of space for 
+           embedded systems).
        * Added BB_FEATURE_TRIVIAL_HELP which compiles out most all of the
            help messages (i.e --help).  Saves 17k over a full compile.
        * Added cut and tr from minix, since due to the license change, 
            staticly linked busybox containing only insmod and sh, a few /dev 
            entries, and a kernel module or two...  It doesn't get smaller
            then this folks (I pity the fool that writes insmod in asm ;-).
-           Many kudos go to Ron Alder <alder@lineo.com> for finishing this off!!!
+           Many kudos go to Ron Alder <alder@lineo.com> for finishing this off!
        * Added a mini ar archive utility, especially written for BusyBox by 
            Glenn McGrath <bug1@netconnect.com.au>
        * Added mktemp, contributed by Daniel Jacobowitz <dan@debian.org>
        * Added setkeycodes, for those that have wierd keyboard buttons.
+       * Added md5sum, uuencode and uudecode -- thanks to Alfred M. Szmidt 
+           <ams@trillian.itslinux.org> for contributing these.
         * Added 'grep -v' option (inverted search) and updated 
            docs accordingly.  -beppu
        * Wrote which
+       * Replaced the telnet implementation with one written by 
+           Tomi Ollila <too@iki.fi> It works great and costs 3k.
        * BusyBox sh (lash) now supports being used as a standalone shell.  When
-           BB_FEATURE_STANDALONE_SHELL is defined, all the busybox commands may
+           BB_FEATURE_SH_STANDALONE_SHELL is defined, all the busybox commands may
            be invoked as shell internals.  Best used when compiling staticly 
            (i.e. DOSTATIC=true)
        * BusyBox sh (lash) internals now behave as expected wrt pipes 
        * Makefile intelligence updates
        * Changed the way init parses /etc/inittab entries to avoid problems
            with commands that contain colons in them.  Fix thanks to 
-           Pavel Roskin <pavel_roskin@geocities.com>
+           Pavel Roskin <proski@gnu.org>
        * Fixed a warning in utility.c due to char being unsigned on Linux/PPC, 
-           Fix thanks to Pavel Roskin <pavel_roskin@geocities.com>
+           Fix thanks to Pavel Roskin <proski@gnu.org>
        * Made "killall" complain (not error and exit) about processes that it 
-           cannot find by name -- Pavel Roskin <pavel_roskin@geocities.com
+           cannot find by name -- Pavel Roskin <proski@gnu.org
        * Fixed more and ps to have sensible terminal width defaults, thanks 
            to Pavel Roskin.
        * Fixed all fatalError() calls lacking a "\n", thanks to Pavel Roskin.
        * Simplified freeramdisk and added argument checking -- Pavel Roskin. 
        * Fixed segfault caused by "touch -c"
        * Fixed segfault caused by "rm -f"
-       * Fixed segfault caused by "ln -s -s" and similar abuses.
+       * Fixed segfault caused by "ln -s -s" and similar abuses. Further fixes
+           and "--" support from Pavel Roskin.
        * Fixed segfault caused by "cp -a -a" and similar abuses.
-       * Implemented "rm -- <foo>"
+       * Implemented "rm -- <foo>". Implementation fixed by Pavel Roskin.
        * "which" rewritten to use stat(). Fixes to improve its compatability
            with traditional implementations -- Pavel Roskin.
        * "mount" now reports errors from nfsmount() and assumes NFS mount
            of nested directories.  Thanks to Kevin Traas <kevin@netmaster.com>
            for helping track this one down.
        * More doc updates
+       * Fixed grep "Line too long" problem -- John Beppu
+       * Fixed 'grep -q -i B some_file' so it works
        * math takes input from stdin if no args are given.  -- John Beppu
+       * math was renamed to dc.  Although it deviates from dc's behaviour,
+           this will probably be remedied in the future.  -- John Beppu
 
 
-        -Erik Andersen
+        -Erik Andersen, June 21, 2000
+
 
+0.44
+       Previously, an erronous announcement of BusyBox 0.44 was made, so to 
+       avoid possible confusion, we are skipping straight to 0.45, and calling
+       it good.
+
+        -Erik Andersen
 
 
 0.43
        * Added echo and test (from me).
        * Added usleep contributed by Nicolas Pitre <nico@cam.org>
        * BusyBox's bss size has been majorly reduced (was 384668, is now 28740).
-       * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>:
+       * Several fixes from Pavel Roskin <proski@gnu.org>:
            - When `tail' fails to open a file it now exits.
            - When `syslogd' is given the `-n' option it should still use 
                fork() for running klogd.
            - mv now attempts to do a rename, and will fall back to doing
                a copy only if the rename fails.
            - Syslogd now supports multiple concurrent connections
-       * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>:
+       * Several fixes from Pavel Roskin <proski@gnu.org>:
            - Fixes to sort.  Removed "-g", fixed and added "-r"
            - Fixes to the makefile for handling "strip"
        * An initial telnet implementation was added by 
            Randolph Chung <tausq@debian.org>.
        * cp could, when copying symlinks, change permissions of the
            files pointed to by the symlinks.
-       * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>:
+       * Several fixes from Pavel Roskin <proski@gnu.org>:
            - `chown' with 1 argument displayed the error incorrectly
            - `fdflush', `length' and `printf' crashed if run without arguments
            - `fdflush' tried to flush itself using *argv
        * Major init re-work.  init now supports inittab (slightly different
            but similar to sysvinit), allowing me to get all the policy out of
            init and into the conf file.  It works just fine without inittab
-           being present, but if you dont like the defautl behavior you can
+           being present, but if you dont like the default behavior you can
            now do something about it.  Init is much cleaner as a result.
        * Fixed an bug in syslogd causing it to stop after 20 minutes. -erik
        * Fixed an embarrasing segfault in head -beppu Fixed the embarrasing