+0.43
+ * Busybox now includes a shell! It currently costs 7.5 k (plus an
+ additional 2.5 k if you compile in command line editing). Handles
+ job control, has the usual set of builtins, and does everything
+ except for handling programming statements (if, while, etc...)
+ * Busybox can now work perfectly when /proc is disabled, thereby
+ saving a bunch of memory (kernel /proc support is not thin). This
+ is done by making use of some nice kernel patches I wrote up to
+ support the features that busybox requires and that /proc usually
+ provides. To enable this, turn on BB_FEATURE_USE_DEVPS_PATCH and
+ patch your kernel with the devps patch in the kernel-patches/
+ directory.
+ * Wrote basename, killall, and uptime.
+ * Added freeramdisk, which will free up all memory associated
+ with a ram disk. Contributed by Emanuele Caratti <wiz@iol.it>
+ and then adjusted a bit by me.
+ * Added tr and dirname from John Lombardo <john@deltanet.com>
+ * Added echo and test (from me).
+ * tar wouldn't create directory entries that don't end in '/',
+ now it does (thanks to Avery Pennarun <apenwarr@worldvisions.ca>)
+ * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>:
+ - 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.
+ * nslookup types are now changed to u_int32_t (instead of uint32_t)
+ changed per a patch from Pascal Bellard <pascal.bellard@ascend.com>
+ * Fixed "du" so it gives the same answers as GNU "du" (busybox du used
+ to count hard-linked files more then once). Many thanks to
+ Friedrich Vedder <fwv@myrtle.lahn.de> for the fix.
+ * Removed /proc dependancies for init and free (while maintaining
+ exactly the same functionality). /proc takes up 90k of kernel
+ space, so it is nice to avoid using it at all costs.
+ * init no longer tries to mount /proc (unless there is less the 1 meg
+ free). Use of /proc (or not) is policy that should be set up in
+ /etc/fstab (or in hardcoded scripts), not in init.
+ * Fixed rebooting when init runs as an initrd.
+ * Fixes and updates from Karl M. Hegbloom <karlheg@debian.org>
+ - update.c rewritten to look more like update-2.11
+ - moveed the inode hash out of du.c and into utility.c to make
+ it a common resource that can be used by other apps.
+ - cp_mv.c now checks inodes to see if a source and dest are
+ the same, and prints an error (instead of endlessly looping).
+ - mv now attempts to do a rename, and will fall back to doing
+ a copy only if the rename fails.
+ * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>:
+ - 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>.
+ * Fixed a bug where "sed 's/foo/bar/g'" (i.e. a script w/o a "-e")
+ * ps now supports BB_FEATURE_AUTOWIDTH, and can adjust its width
+ to match the terminal (defaults to width=79 when this is off).
+ * Fixed mount'ing loop devices when the filesystem type was not
+ specified. It used to revert to non-loop after the first try.
+
+
+ -Erik Andersen
+
+
+0.42
+
+ * Fairly massive restructuring of umount.c to deal with remounting
+ busy devices read-only. Adds a -r option to control that; it is
+ optionally compiled in with BB_FEATURE_REMOUNT
+ * Added a bunch of functions to mtab.c to interact with the
+ {get,set,end}mntent interface; as it turns out, those functions do
+ not appear to be re-entrant, and that causes a lot of problems with
+ the way umount was originally written.
+ * Makes init send TERM and KILL (instead of HUP and KILL) on reboot
+ to be more consistent with sysvinit
+ * Changes to init.c to use the new -r option to umount. Also increased
+ the sleep time between the time the TERM and KILL signals are sent
+
+ - Randolph Chung
+
+
+ * cp.c, mv.c: removed, replaced by cp_mv.c which has been
+ extensively rewritten from the original cp.c.
+ * Fixed cp and mv so if the source and destination are a the
+ same directory it will print an error and continue.
+ * Also added a warning message to the `mv' usage string saying that
+ this is not GNU mv, and it will break hard links. cp also breaks
+ hard links.
+ * ln.c: implemented `-n' switch, no-deref symlinks.
+ * include<sys/param.h>: and use PATH_MAX everywhere. busybox: File
+ * name buffer overrun guards to prevent future crashes.
+ - Always check exit status.
+ - Purge all use of `creat()', replace with `open()'.
+ * utility.c
+ - recursiveAction was overriding the value of followLinks thus
+ ignoring it.
+ - isDirectory now takes a followLinks boolean, updated all callers
+ - copyFile had the followLinks logic reversed.
+ * messages.c: New file. Put common error message strings all in
+ one place in an attempt to shrink the binary a little.
+
+ -Karl M. Hegbloom
+
+
+ * changed fsck_minix.c to reduce its .bss size significantly
+ -beppu -piptigger
+ * Made tar creation support in busybox tar optional. You no longer
+ * _have_ to put a "-" in front of tar options. Tar could inadvertently
+ * change permissions and ownership on
+ certain directories pointed to by symlinks.
+ * Made grep and grep -h do the right thing wrt printing
+ the file name (it failed to print files names in many cases).
+ * Fix a namespace aliasing problem wereby if du was built in, the
+ symlink for both du and dutmp would be installed, or then rm was
+ built in, the symlinks for both rm and rmmod would be installed.
+ * Added a closelog() to init.c after loging -- fix thanks to
+ Taketoshi Sano <kgh12351@nifty.ne.jp>
+ * Rewrote and simplified logger. Added the "-t" option, and made it
+ behave itself a bit better.
+ * Optional support contributed by Ben Collins <bcollins@debian.org>
+ for the kernel init chroot patch by Werner Almesberger, which
+ allows init to chroot to a new device, and umount the old one.
+ * Fixed bug that wouldn't let one chown a symlink -- it would
+ always dereference before. -beppu
+ * Fixed a bug where init could have reference already freed memory.
+ Found and fixed by Taketoshi Sano <kgh12351@nifty.ne.jp>
+ * Several contributions from Friedrich Vedder <fwv@myrtle.lahn.de>
+ * Added (and documented) "-n" option for head
+ * Cleanup for a number of usage messages -- also
+ contributed Friedrich Vedder <fwv@myrtle.lahn.de>
+ * Cosmetic fix to busybox.c (Don't print a comma at the
+ end of line if there are no more application names).
+ * Fixed a stupid bug in "head" option handling ("head -n"
+ would segfault).
+ * Moved commonly used functions "xmalloc()" and "exit()"
+ to utility.c (with proper #ifdef's).
+ * Created a tiny tail implementation, removing -c, -q, -v, and making
+ tail -f work only with a single file. This reduced tail from 6k to
+ 2.4k. The bigger/more featured tail can still be had by disabling
+ BB_FEATURE_SIMPLE_TAIL in busybox.defs.h
+ * Ping now falls back to doing the right thing if /etc/protocols
+ turns up missing.
+ * Fixed mount and umount. Previously they could leak loop device
+ allocations, causing the system to quickly run out. Fix for umount
+ by Ben Collins <bcollins@debian.org>, and mount was fixed by me.
+ * ls formatting on eight charactor user names fixed 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>:
+ - `chown' with 1 argument displayed the error incorrectly
+ - `fdflush', `length' and `printf' crashed if run without arguments
+ - `fdflush' tried to flush itself using *argv
+ - added "skip" and "seek" to dd.
+ - ls no longer messus up output when combining files and
+ directories on the command line
+ * swapoff -a was not working. Now it is.
+ * init did not cleanly unmount filesystems on reboot. Now it does.
+ * "sed -ne s/foo/bar/" worked but "sed -n -e s/foo/bar/" didn't.
+ Now both work.
+ * Some architectures (PowerPc) assume chars are unsigned, so they could
+ not distinguish between EOF and '\0xFF' in sed. Sed now uses ints.
+ * Began converting error handling to use some common routines
+ in utility.c
+ * syslogd now has better message handling and ignores SIGHUP.
+ * install.sh had a bug preventing installation to the specified
+ target directory. Fix from Gilbert Coville <gilbert@mvista.com>
+ * You can now spefify alternative strip commands -- change
+ also from Gilbert Coville.
+
+
+ -Erik Andersen
+
+0.41
+ * New Apps: wc, hostid, logname, tty, whoami, yes -- all contributed
+ by Edward Betts <edward@debian.org>
+ * Fixed a bug in both cp and mv preventing 'cp foo/README bar'
+ type commands (file in a directory to another directory) from
+ working.
+ * Fixed a logger bug that caused garbage to be written to the syslog
+ (unless you used busybox syslog, which hid the bug). Thanks to
+ Alex Holden <alex@linuxhacker.org> for the fix.
+ * /bin/true and /bin/false were echoing a blank line when run.
+ Now fixed.
+ * mkdir -p would print an error when asked to mkdir an existing dir
+ with no interveining subdirectories.
+ * Fixed "syslogd -O" so that it works. Added -o loop option for mount,
+ * and support in umount for loop
+ devices. Support is toggled by MOUNT_LOOP feature -- Ben Collins
+ <bcollins@debian.org>
+ * Several fixes from Marco Pantaleoni <panta@prosa.it> compile in
+ * fullWrite() not only if BB_TAR is defined, but also
+ if BB_CP or BB_MV are (fullWrite() is referenced by copyFile())
+ * add some compiler optimizations to further reduce executable size
+ (as a side note, on my machines the largest code is generated
+ by gcc 2.95.2 with -Os ! The smallest by plain gcc 2.7.2.3 with
+ -O2 -m386 ...)
+ * Compile now won't fail if busybox.def.h defines
+ BB_FEATURE_LINUXRC but not BB_INIT. (init_main used to be
+ referenced, but not compiled)
+ * Fixed a bug in setting TERM for serial console support. TERM now
+ defaults to "ansi" for serial consoles.
+ * Fixed a bug in handling the CONSOLE env. variable for serial
+ * consoles.
+
+ -Erik Andersen, Jan 15, 2000
+
+0.40
+ * New Apps: sort, uniq. -beppu New Apps: lsmod, rmmod -erik New Apps:
+ * fbset contributed by Randolph Chung <tausq@debian.org>. New App::
+ * loadacm contributed by Peter Novodvorsky <petya@logic.ru>
+ for loading application character maps for Unicode fonts.
+ * 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
+ 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
+ * failure of 'logger -p'. -erik Added the -s option to du -beppu
+ * Re-worked the source tree a bit so it will compile under glibc 2.0.7
+ with the 2.0.x Linux kernel.
+ * Added 'grep -q' thanks to a patch from "Konstantin Boldyshev"
+ <konst@voshod.com>.
+ * Grep -i previously failed on UPPER CASE patterns due to a silly
+ regexp implementation bug that is now fixed.
+ * Fixed a bug where tar would set, and then clear SGID and SUID bits.
+ * Fixed a bug where tar would not set the user and group on device
+ special files.
+ * Fixed a bug where tar would not restore the time to files. Fixed a
+ * major security problem with tar -- it changed ownership
+ of any file pointed to by a symlink to 777 (like say libc....)
+ Ouch!!!
+ * cp and mv were very broken when moving directories. I have rewritten
+ them so they should now work as expected.
+ * sed now supports addresses (numeric or regexp, with negation) and
+ has an append command, thanks to Marco Pantaleoni <panta@prosa.it>
+ * Fixed dmesg. It wasn't parsing its options (-n or -s) properly.
+ * Some cosmetic fixes to ls output formatting to make it behave more
+ like GNU ls.
+ * Fixed a stupid segfault in kill. Several fixes from Friedrich Vedder
+ * <fwv@myrtle.lahn.de>:
+ - Added gunzip -t, removed gunzip.c dead code,
+ - fixed several typos
+ - Glibc 2.0.7 and libc5 compile fixes
+ * Fixed a bug where 'mknod --help' would segfault.
+
+
+ -Erik Andersen, Jan 07, 2000
+
+0.39
+ * New Apps: ping, hostname, and mkfifo contributed by Randolph Chung
+ <tausq@debian.org>. 3 items off the TODO list!
+ * I wrote free (just calls "cat /proc/meminfo"). Added tail, based on
+ * tail from GNU textutils-1.19, but adjusted
+ to suit my evil purposes. Costs 6k. I'll make it smaller
+ sometime.
+ * on reboot, init called 'umount -a -n', which caused errors
+ when BB_MTAB was not enabled. Changed to 'umount -a', which does
+ the right thing.
+ * init will now try to run /sbin/getty if it is present (for easy
+ integration with the about-to-be-released tinylogin.)
+ * kill now behaves itself properly, added 'kill -l' to list signals 'ls
+ * -l' was failing on long directories, since my_getid was leaking
+ one file descriptor per file. Oops.
+ * Fixed rebooting from init. I'd accidently left some debugging code
+ * in
+ which blocked reboots.
+ * Fixed reboot, halt (and added poweroff) such that they handle it when
+ init is not at PID 1 (like when running in an initrd).
+ * Added a prelinary du implementation. Some parameter parsing
+ stuff still needs to be added. -beppu (John Beppu
+ <beppu@lineo.com>)
+ * Implemented tee. -beppu Implemented head. -beppu
+
+ -Erik Andersen, Dec 10, 1999
+
+0.38
+ * Fixed a segfault in 'umount -a' when a badly formed /etc/fstab
+ file existed.
+ * df will not exit on error, but will stat all mounted filesystems.
+ * Fixed tar so uid/gid/permissions on extracted tarballs will be
+ correct.
+ * Fixed find -name so it properly uses shell wildcard patterns
+ (i.e. `*', `?', and `[]') instead of regular expressions, which
+ was causing some confusing and unexpected behavior.
+ * Added klogd to syslogd, so now the log will contain both system and
+ kernel messages.
+ * syslogd now creates the /dev/log socket to make sure it is there, and
+ is actually a socket with the right permissions.
+ * I've taken a first step to making busybox not need the /proc
+ filesystem. Most apps don't need it. Those that _require_ it,
+ will complain if you enable them when you disable
+ BB_FEATURE_USE_PROCFS.
+
+ -Erik Andersen, Dec 5, 1999
+
+0.37
+ * Wrote a micro syslogd, and a logger util (to log things to the syslog
+ from the command line or scripts) With both compiled in, costs 4k.
+ * Fixed 'make install' so symlinks are installed in their proper
+ * locations. Changed the build system slightly so that features can
+ * now be enabled
+ or disabled from the busybox.defs.h header file, without trying to
+ compile in a source file named after that featue (unless that file
+ exists).
+ * Several options are now moved into busybox.defs.h Now 'rm -R' and 'rm
+ * -r' both work. dd now properly handles input beyond 1 block from
+ * stdin. Fixed a bug where tar unpacked everything a directories.
+ * Moved some code
+ from createPath into mkdir where it belonged, thereby making tar
+ work properly.
+ * Fixed an off-by-one bug in cat. Given a list of file it wouldn't cat
+ * out the
+ last file in the list.
+ * Fixed 'ls -ln' so numeric group/uid are presented properly, and fixed
+ * 'ls -l'
+ so when uid/gid is not in /etc/{passwd,group} the numeric group/uid
+ are presented properly.
+ * Also added a TODO.
+
+
+ -Erik Andersen, Nov 25, 1999
+
0.36
* fixed dd so it properly defaults to stdin and stdout when no
if= and of= are set (fix thanks to Eric Delaunay).
- * Don't try to close the file descriptor of a pipe. (fix also from
+ * Don't try to close the file descriptor of a pipein tar. (fix also
+ * from
Eric Delaunay).
- * Made createPath be quiet (again thanks to Eric Delaunay).
- * If BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS is defined, then whatever
+ * Made createPath be quiet (again thanks to Eric Delaunay). If
+ * BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS is defined, then whatever
command you define it as will be run if the init script exits.
- * Made createPath be quiet (again thanks to Eric Delaunay).
- * Updated to install.sh to make it more robust (thanks to Adam Di Carlo)
- * NFS support added to mount by Eric Delaunay. It costs 10k when compiled
+ * Updated install.sh to make it more robust (thanks to Adam Di Carlo)
+ * NFS support added to mount by Eric Delaunay. It costs 10k when
+ * compiled
in, but that is still a big win for those that use NFS.
- * Made 'rm -f' be silent for non-existant files (thanks to Eric Delaunay).
- * changed zcat.c to gunzip.c. It now obeys the principle of least surprise
- and acts as god intended gunzip and zcat to act. They answer --help and
- obey the '-c' flag.
- * Fixed a bug in mv which caused it to not move files when the destination
- was a directory name.
+ * Made 'rm -f' be silent for non-existant files (thanks to Eric
+ * Delaunay). changed zcat.c to gunzip.c. It now obeys the principle
+ * of least surprise
+ and acts as god intended gunzip and zcat to act. They answer
+ --help and obey the '-c' flag.
+ * Fixed a bug in mv which caused it to not move files when the
+ * destination
+ was a directory.
+ * Fixed a decimal-instead-of-octal bug causing mkdir to make
+ * directories
+ with very wrong permissions.
+ * chmod would overwrite file permissions instead of modifying them.
+ Now it properly modifies permissions.
+ * Init now sends warnings destined for the console to /dev/console to
+ * ensure
+ they show up on whatever the active console it. Otherwise
+ important messages (for example that the system is rebooting) were
+ not seen when switched to a different VT.
- -Erik Andersen
+ -Erik Andersen, Nov 17, 1999
0.35
- * gzip now obeys the principle of least surprise and acts like god intended
- (i.e. it accepts a file name, answers --help, and obeys the '-c' flag
- and only then outputs to stdout).
+ * gzip now obeys the principle of least surprise and acts like god
+ * intended
+ (i.e. it accepts a file name, answers --help, and obeys the '-c'
+ flag and only then outputs to stdout).
* Fixed more.c to compile autowidth on sparc and set initial winsize
- to 0,0 in case the TIOCGWINSZ ioctl fails. Fix thanks to Eric Delaunay.
+ to 0,0 in case the TIOCGWINSZ ioctl fails. Fix thanks to Eric
+ Delaunay.
* Fixed tar so it now works as expected (it had TRUE/FALSE backwards)
- * tar now accepts --help
- * chmod, chown, and chgrp usage now works
- * General usage (i.e. --help) cleanups for most apps
- * umount now parses options correctly
- * tar can now unpack tarballs containing device special files,
- sockets, and fifos (though it can't pack them up) thanks
- to Matt Porter. Creating archives containing these is still
- left to the interested student.
+ * tar now accepts --help chmod, chown, and chgrp usage now works
+ * General usage (i.e. --help) cleanups for most apps umount now parses
+ * options correctly tar can now unpack tarballs containing device
+ * special files,
+ sockets, and fifos (though it can't pack them up) thanks to Matt
+ Porter. Creating archives containing these is still left to the
+ interested student.
* fixed up the license in more.c to properly point to Bruce Perens.
-Erik Andersen, Nov 11, 1999
Patch thanks to Eric Delaunay
* init now properly handles sparc serial consoles and does a
better job of finding the real console device rather than using
- /dev/console which doesn't support job control. Patch also
- thanks to Eric Delaunay.
+ /dev/console which doesn't support job control. Patch also thanks
+ to Eric Delaunay.
* more started to read from stdin after the last file was finished, and
options were not parsed correctly (fix thanks to Eric Delaunay).
* more will now use the terminal size if BB_FEATURE_AUTOWIDTH is on.
* rm wouldn't remove a symlink unless the symlink was valid. This was
- a side effect of the busybox 0.32 recursiveAction() fix. Things
+ a side effect of the busybox 0.32 recursiveAction() fix. Things
should now work correctly.
- * grep wouldn't grep stdin. Now it does.
- * sed wouldn't sed stdin. Now it does.
- * sed was appending a \n to the end of lines with replacements.
+ * grep wouldn't grep stdin. Now it does. sed wouldn't sed stdin. Now
+ * it does. sed was appending a \n to the end of lines with
+ * replacements.
Now it doesn't do that.
* ls -l now bypasses libc6 nss when displaying user/group names.
Now uses my_getpwuid and my_getgrgid.
0.32
* More changes -- many thanks to Lineo for paying me to work on
- busybox. If you have any problems please let me know ASAP
- at andersen@lineo.com or andersee@debian.org
+ busybox. If you have any problems please let me know ASAP at
+ andersen@lineo.com or andersee@debian.org
* usage() now prints the BusyBox version. This will help folks
realize that they are not in Kansas anymore.
- * Fixed mkdir -m option so that it works.
- * kill segfaulted w/o any arguments. Now it doesn't do that.
- * kill wasn't properly accepting signal names. It does now.
- * Added new apps chvt and deallocvt (I should probably add open)
- * Major rewrite of init.c. Code is now readable by mere mortals IMHO.
- * Wrote sed -- weighs only 1.8k (5.8k with full regular expressions!).
- * Fixed a stupid seg-fault in sync
- * Fixed mount -- mount -a failed to parse and apply mount options
- * Fixed umount -n (patch thanks to Matthew Grant <grantma@anathoth.gen.nz>)
- * umount -a no longer umounts /proc
- * Added BB_MTAB, allowing (at the cost of ~1.5k and the need for a rw /etc)
- folks to use a real /etc/mtab file instead of a symlink to /proc/mounts.
- mount, and umount will add/remove entries and df will now use /etc/mtab
- if BB_MTAB is defined.
+ * Fixed mkdir -m option so that it works. kill segfaulted w/o any
+ * arguments. Now it doesn't do that. kill wasn't properly accepting
+ * signal names. It does now. Added new apps chvt and deallocvt (I
+ * should probably add open) Major rewrite of init.c. Code is now
+ * readable by mere mortals IMHO. Wrote sed -- weighs only 1.8k (5.8k
+ * with full regular expressions!). Fixed a stupid seg-fault in sync
+ * Fixed mount -- mount -a failed to parse and apply mount options Fixed
+ * umount -n (patch thanks to Matthew Grant <grantma@anathoth.gen.nz>)
+ * umount -a no longer umounts /proc Added BB_MTAB, allowing (at the
+ * cost of ~1.5k and the need for a rw /etc)
+ folks to use a real /etc/mtab file instead of a symlink to
+ /proc/mounts. mount, and umount will add/remove entries and df
+ will now use /etc/mtab if BB_MTAB is defined.
* Fixed a nice bug in recursiveAction() which caused it to infinitely
hunt through /proc/../fd/* creating new file descriptors if it
- followed the /dev/fd link over to /proc. recursiveAction() now
- lstat's the file when followLinks==FALSE so it won't follow links
- as the name suggests. Fix thanks to Matt Porter <porter@debian.org>.
+ followed the /dev/fd link over to /proc. recursiveAction() now
+ lstat's the file when followLinks==FALSE so it won't follow links
+ as the name suggests. Fix thanks to Matt Porter
+ <porter@debian.org>.
-Erik Andersen, Nov 4, 1999
0.31
- * I added a changelog for version 0.30.
- * adjusted find internals to make it smaller, and removed
+ * I added a changelog for version 0.30. adjusted find internals to
+ * make it smaller, and removed
some redundancy.
* Fixed a segfault in ps when /etc/passwd or /etc/group
are absent. Now will warn you and carry on.
* Added in optional _real_ regular expression support (to be
- the basis for a future sed utility). When compiled in
- it adds 3.9k, but makes grep much more capable.
+ the basis for a future sed utility). When compiled in it adds
+ 3.9k, but makes grep much more capable.
* Checked out using nftw(3) for recursive stuff, but unfortunatly
- it wasn't supported before GNU libc 2.1, and some folks use
- glibc 2.0.7 since it is much smaller than that latest and greatest.
+ it wasn't supported before GNU libc 2.1, and some folks use glibc
+ 2.0.7 since it is much smaller than that latest and greatest.
-Erik Andersen, Oct 21, 1999
* busybox can now invoke apps in two ways: via symlinks to the
busybox binary, and as 'busybox [function] [arguments]...'
* When invoked as busybox, the list of currently compiled in
- functions is printed out (no this is not bloat -- the list
- has to be there anyway to map invocation name to function).
+ functions is printed out (no this is not bloat -- the list has
+ to be there anyway to map invocation name to function).
* busybox no longer parses command lines for apps or displays their
usage info. Each app gets to handle (or not handle) this for
itself.
* All shared code now lives in utility.c, and is properly
ifdef'ed to be only included for those apps requiring it.
* Eliminated struct FileInfo (the basis of monadic, dyadic, etc)
- so now each app has the function prototype of (da-dum):
- extern int foo_main(int argc, char** argv);
- which speeds integration of new apps.
+ so now each app has the function prototype of (da-dum): extern
+ int foo_main(int argc, char** argv); which speeds integration
+ of new apps.
* Adjusted the Makefile to make it easier to
{en|dis}able debugging.
* Changed default compiler optimization to -Os
App Changes:
* To cope with the new app function prototype and the removal of
monadic, dyadic, etc, the following apps were re-written:
- * cat - Works same as always.
- * chgrp, chmod, chown - rewrite. Combined into a single
- source file. Absorbed patches from Enrique Zanardi <ezanard@debian.org>
- that removes the dependency on libc6 libnss* libraries.
+ * cat - Works same as always. chgrp, chmod, chown -
+ * rewrite. Combined into a single
+ source file. Absorbed patches from Enrique Zanardi
+ <ezanard@debian.org> that removes the dependency on
+ libc6 libnss* libraries.
* cp - Can now do 'cp -a' can can copy devices,
- pipes, symlinks, as well as recursive or non-recursive dir copies.
- * fdflush - adjusted to remove dependancy on struct FileInfo.
- * find - Now includes some basic regexp matching
+ pipes, symlinks, as well as recursive or non-recursive
+ dir copies.
+ * fdflush - adjusted to remove dependancy on struct
+ * FileInfo. find - Now includes some basic regexp matching
which will be the basic of a future mini-sed.
- * ln - Same functionality.
- * mkdir - Added -p flag to feature set.
- * mv - rewrite.
- * rm - Added -f flag to feature set.
- * rmdir - Same functionality.
- * swapon, swapoff - Combined into a single binary. No longer
- uses /etc/swaps. swap{on|off} -a uses /etc/fstab instead.
- * touch - Same functionality.
- * date - adjusted with a patch from Matthew Grant <grantma@anathoth.gen.nz>
- to accomodate glibc timezone support. I then ripped out GNU getopt.
- * mkswap -- new version merged from util-linux. Can now make >128Meg swaps.
- * Replaced the old and star, unstar, and tarcat with the tar
- implementation from sash. Now tar behaves as god intended
- it to (i.e. tar -xvf <file> and tar -cf <file> <dir> work).
- * dd -- rewritten. Can with with files, stdin, stdout.
- * Added the following new apps:
- * loadfont -- added from debian boot floppies
- * chroot -- added based on a patch from Paolo Molaro <lupus@lettere.unipd.it>
- * grep -- I just wrote it. Only matches simple strings
- * ps -- I just wrote it. Has _no_ options at all, but works.
- * fsck_minix, mkfs_minix -- added from util-linux, but I ripped out
+ * ln - Same functionality. mkdir - Added -p flag to
+ * feature set. mv - rewrite. rm - Added -f flag to
+ * feature set. rmdir - Same functionality. swapon,
+ * swapoff - Combined into a single binary. No longer
+ uses /etc/swaps. swap{on|off} -a uses /etc/fstab
+ instead.
+ * touch - Same functionality. date - adjusted with a patch
+ * from Matthew Grant <grantma@anathoth.gen.nz>
+ to accomodate glibc timezone support. I then ripped out GNU
+ getopt.
+ * mkswap -- new version merged from util-linux. Can now make
+ * >128Meg swaps. Replaced the old and star, unstar, and tarcat
+ * with the tar
+ implementation from sash. Now tar behaves as god intended it
+ to (i.e. tar -xvf <file> and tar -cf <file> <dir> work).
+ * dd -- rewritten. Can with with files, stdin, stdout. Added the
+ * following new apps: loadfont -- added from debian boot floppies
+ * chroot -- added based on a patch from Paolo Molaro
+ * <lupus@lettere.unipd.it> grep -- I just wrote it. Only matches
+ * simple strings ps -- I just wrote it. Has _no_ options at all,
+ * but works. fsck_minix, mkfs_minix -- added from util-linux, but
+ * I ripped out
internationalization and such to make them smaller.
- * sfdisk -- Added from util-linux (minus internationalization and such).
- * Probably some other changes that I forgot to document...
+ * sfdisk -- Added from util-linux (minus
+ * internationalization and such). Probably some other
+ * changes that I forgot to document...
-Erik Andersen, Oct 20, 1999