-0.44
- * 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,
- we can now use minix code. Minix tr saves 4k.
- * insmod now works. It costs 29k, but imagine an initrd with a
- 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!!!
- * 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
- be invoked as shell internals. Best used when compiling staticly
- (i.e. DOSTATIC=true)
- * BusyBox sh (lash) internals now behave as expected wrt pipes
- and redirects.
- * Fixed ping warnings -- fix from Sascha Ziemann <szi@aibon.ping.de>
- * Fixed update segfault
- * Fixed mknod -- minor number was always 0
- * Fixed tar option parsing, so both "tar xvf foo.tar" and
- "tar -xvf foo.tar" now work (i.e. no "-" before options)
- (this was very broken in 0.43).
- * Several contributions from Randolph Chung <tausq@debian.org>.
- * cp/mv now accepts the -f flag
- * tail can now accept -<num> commands (e.g. -10) for better
- compatibility with the standard tail command
- * added a simple id implementation; doesn't support sup. groups yet
- * logname used getlogin(3) which uses utmp. Now it doesn't.
- * whoami used getpwuid(3) which uses libc NSS. Now it behaves.
- * Add support for "noatime" and "nodiratime" mount flags to mount.
- * Changed 'umount -f' to mean force, and actually use umount2.
- * Changed 'umount -l' to mean "Do not free loop device".
- * Fixed basename to support stripping of suffixes. Patch thanks
- to xiong jianxin <jxiong@uiuc.edu>
- * cp -fa now works as expected for symlinks (it didn't before)
- * zcat now works (wasn't working since option parsing was broken)
- * Renamed "mnc" to the more correct "nc" (for netcat).
- * 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>
- * Fixed a warning in utility.c due to char being unsigned on Linux/PPC,
- Fix thanks to Pavel Roskin <pavel_roskin@geocities.com>
- * Made "killall" complain (not error and exit) about processes that it
- cannot find by name -- Pavel Roskin <pavel_roskin@geocities.com>
- * 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.
- * Fixed a segfault in yes when no args were given -- 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 "cp -a -a" and similar abuses.
- * 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
- if ':' is present in the device name - Pavel Roskin
- * Fixed exit status for killall - Pavel Roskin
- * Fixed 'swapon -a' and 'swapoff -a', which were broken.
- * Fixed 'mount -a' so it works as expected.
- * Implemented 'ls -R' (enabled by enabling BB_FEATURE_LS_RECURSIVE)
- * Implemented "ping -s", fixed error messages and argument parsing -
- Pavel Roskin
- * Syslogd will not go to background if "-n" is given. Better help
- and argument checking -- Pavel Roskin
- * Fixed a small bug that could cause tar to emit warning messages
- and not extract the first file in a directory in some cases
- 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
-
-
- -Erik Andersen
-
-
-
-0.43
- * Major update to the provided documentation.
- * 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, dirname, killall, and uptime.
- * tar has been completely rewritten by me. Both tar creation and
- extraction are now well behaved. Costs 7.6k with all optional
- tar features enabled, and 5k for just tar extraction support.
- * 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 from John Lombardo <john@deltanet.com>
- * 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>:
- - 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.
- - Syslogd now supports multiple concurrent connections
- * 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).
- * ps now accepts (and ignores) all options except for "--help" (which
- as would be expected displays help).
- * Fixed mount'ing loop devices when the filesystem type was not
- specified. It used to revert to non-loop after the first try.
- * all mallocs now use xmalloc (and so are OOM error safe), and
- the common error handling saves a few bytes. Thanks to
- Bob Tinsley <bob@earthrise.demon.co.uk> for the patch.
- * Fix "+" parsing bug in date, from "Merle F. McClelland" <mfm@cts.com>.
- * Fix symlink following bug in chmod -R and friends.
- * Now allows SYSV style 'chown foo:bar' in addition to 'chown foo.bar'
- * Fixed a bug in the busybox globbing routine such that 'find /dir -name [i]'
- no longer segfaults.
-
-
- -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 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
- command you define it as will be run if the init script exits.
- * 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.
- * 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, 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).
- * 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.
- * 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.
- * fixed up the license in more.c to properly point to Bruce Perens.
-
- -Erik Andersen, Nov 11, 1999
-
-0.34
- * ls -l now displays link names outside the current directory,
- 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.
- * 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
- 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.
- Now it doesn't do that.
- * ls -l now bypasses libc6 nss when displaying user/group names.
- Now uses my_getpwuid and my_getgrgid.
-
- -Erik Andersen, Nov 8, 1999
-
-0.33
- * Fixed a bug where init could hang instead of rebooting.
- * Removed some debugging noise from init.c
- * Fixed ln so it works now (it was very broken).
- * Fixed df so it won't segfault when there is no /etc/fstab,
- * If BB_MTAB is not defined, df and mount will whine if /etc/fstab
- is not installed (since they cannot fixup "/dev/root" to
- state the real root device name)
- * merged some redundant code from mtab.c/df.c into utility.c
-
- -Erik Andersen, Nov 5, 1999
-
-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
- * 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 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>.
-
-
- -Erik Andersen, Nov 4, 1999
-
-0.31
- * 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.
- * 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.
-
- -Erik Andersen, Oct 21, 1999
-
-0.30
- Major changes -- lots of stuff rewritten. Many thanks to Lineo for
- paying me to make these updates. If you have any problems with busybox,
- or notice any bugs -- please let me know so I can fix it. These
- changes include:
-
- Core Changes:
- * 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).
- * busybox no longer parses command lines for apps or displays their
- usage info. Each app gets to handle (or not handle) this for
- itself.
- * Eliminated monadic, dyadic, descend, block_device, and
- postprocess. It was cumbersome to have so many programs
- cobbled together in this way. Without them, the app is much
- more granular.
- * 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.
- * Adjusted the Makefile to make it easier to
- {en|dis}able debugging.
- * Changed default compiler optimization to -Os
- (optimize for smaller binaries).
-
- 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.
- * 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
- 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
- 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...
-
- -Erik Andersen, Oct 20, 1999
-
-0.29
- This version was a messy pre-alpha. stay away or it will bite you.
- -Erik Andersen, Sep 24, 1999
-
-0.28
- mini-netcat (mnc) rewritten.
-
-0.27
- Mount now supports -a, and -t auto.
- Mount now updates mtab correctly for 'ro'.
- More checks screen rows size, outputs bytes percentage.
- Printf added as module.
-0.26
- Touch now creates files. -c option for no create.
-
+---------------------
+PatchSet 4304
+Date: 2004/07/26 11:45:25
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Make certain that udhcp shuts down the interface
+
+Members:
+ networking/ifupdown.c:1.43->1.44
+
+---------------------
+PatchSet 4305
+Date: 2004/07/26 11:45:47
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+bump version to -rc2
+
+Members:
+ Rules.mak:1.33->1.34
+
+---------------------
+PatchSet 4306
+Date: 2004/07/26 11:46:50
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+oops
+
+Members:
+ networking/ifupdown.c:1.44->1.45
+
+---------------------
+PatchSet 4307
+Date: 2004/07/26 12:05:12
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+YAEGASHI Takeshi writes:
+
+Hi,
+
+With the following /etc/fstab (any two or more lines of nfs), mount -a
+-t nfs causes a segmentation faults.
+
+server:/exports/aaa /mnt/aaa nfs defaults 0 0
+server:/exprots/bbb /mnt/bbb nfs defaults 0 0
+
+In util-linux/nfsmount.c, it overwrites malloc'ed pointer *mount_opts
+with a static pointer. With this patch it does proper memory realloc
+and data copy instead.
+
+Members:
+ util-linux/nfsmount.c:1.27->1.28
+
+---------------------
+PatchSet 4308
+Date: 2004/07/26 12:05:44
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Make certain that udhcp shuts down the interface
+
+Members:
+ networking/ifupdown.c:1.45->1.46
+
+---------------------
+PatchSet 4309
+Date: 2004/07/26 12:06:19
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Allow hex escape sequences
+
+Members:
+ libbb/process_escape_sequence.c:1.6->1.7
+
+---------------------
+PatchSet 4310
+Date: 2004/07/26 12:07:01
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Prepare for release
+
+Members:
+ Changelog:1.293->1.294
+ Rules.mak:1.34->1.35
+ docs/busybox.net/news.html:1.19->1.20
+
+---------------------
+PatchSet 4311
+Date: 2004/07/26 12:11:32
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+bother. unrevert my fix.
+
+Members:
+ libbb/process_escape_sequence.c:1.7->1.8
+ networking/ifupdown.c:1.46->1.47
+
+---------------------
+PatchSet 4312
+Date: 2004/07/26 12:12:06
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+bump version to -rc2
+
+Members:
+ Rules.mak:1.35->1.36
+
+---------------------
+PatchSet 4313
+Date: 2004/07/26 12:22:33
+Author: andersen
+Branch: HEAD
+Tag: busybox_1_00_rc2
+Log:
+add missing ;
+
+Members:
+ networking/ifupdown.c:1.47->1.48
+
+---------------------
+PatchSet 4314
+Date: 2004/07/26 18:57:49
+Author: sandman
+Branch: HEAD
+Tag: (none)
+Log:
+document stuff I have done
+
+Members:
+ AUTHORS:1.45->1.46
+
+---------------------
+PatchSet 4315
+Date: 2004/07/27 16:45:46
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Felipe Kellermann noticed a missing `break'.
+
+Members:
+ libbb/process_escape_sequence.c:1.8->1.9
+
+---------------------
+PatchSet 4316
+Date: 2004/07/28 19:15:04
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Thanks to Ken Roberts, fix the slackware url
+
+Members:
+ docs/busybox.net/products.html:1.11->1.12
+
+---------------------
+PatchSet 4317
+Date: 2004/07/29 23:15:16
+Author: mjn3
+Branch: HEAD
+Tag: (none)
+Log:
+Clean up hex escape support.
+
+Members:
+ libbb/process_escape_sequence.c:1.9->1.10
+
+---------------------
+PatchSet 4318
+Date: 2004/07/30 14:31:01
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+As noted by Eric Spakman, calling static_down() and then calling
+bootp_down() seems redundant, esp since bootp_down was a subset
+of static_down, so just use that...
+
+Members:
+ networking/ifupdown.c:1.48->1.49
+
+---------------------
+PatchSet 4319
+Date: 2004/07/30 14:36:37
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix up brain damage with the way major and minor are used to
+create a dev_t
+
+Members:
+ miscutils/makedevs.c:1.19->1.20
+
+---------------------
+PatchSet 4320
+Date: 2004/07/30 14:45:08
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+use SIGTERM to kill off udhcpd, not SIGKILL
+
+Members:
+ networking/ifupdown.c:1.49->1.50
+
+---------------------
+PatchSet 4321
+Date: 2004/07/30 17:24:46
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fixup getty, login, etc so the utmp and wtmp are updated, allowing
+the 'who' and 'last' applets among other things to work as expected.
+ -Erik
+
+Members:
+ coreutils/Config.in:1.24->1.25
+ loginutils/Config.in:1.7->1.8
+ loginutils/getty.c:1.11->1.12
+ loginutils/login.c:1.17->1.18
+ miscutils/Config.in:1.17->1.18
+
+---------------------
+PatchSet 4322
+Date: 2004/07/30 17:39:08
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Umm. Not guilty by reason of insanity.
+ -Erik
+
+Members:
+ loginutils/getty.c:1.12->1.13
+ loginutils/login.c:1.18->1.19
+
+---------------------
+PatchSet 4323
+Date: 2004/07/30 17:48:21
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Fix incorrect arguments being passed to mknod
+
+Members:
+ miscutils/makedevs.c:1.20->1.21
+
+---------------------
+PatchSet 4324
+Date: 2004/07/30 23:52:08
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Simon Poole reports that awk segfaults when environment variables
+with no value exist, i.e.
+
+ $ export BOB=''
+ % ./busybox awk
+ Segmentation fault
+
+This patch teaches awk to not blow chunks on empty env variables.
+ -Erik
+
+Members:
+ editors/awk.c:1.9->1.10
+
+---------------------
+PatchSet 4325
+Date: 2004/08/01 18:54:45
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+fixup cut-n-paste problem
+
+Members:
+ docs/busybox.net/news.html:1.20->1.21
+
+---------------------
+PatchSet 4326
+Date: 2004/08/03 00:14:01
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Tito, farmatito at tiscali dot it writes:
+
+Hi to all,
+This patch is useful for:
+1) remove an unused var from extern char *find_real_root_device_name(const char* name)
+ changing it to extern char *find_real_root_device_name(void).
+2) fixes include/libbb.h, coreutils/df.c, util-linux/mount.c and util-linux/umount.c accordingly.
+3) fixes a bug, really a false positive, in find_real_root_device_name() that happens if
+ in the /dev directory exists a link named root (/dev/root) that should be skipped but
+ is not. This affects applets like df that display wrong results
+
+Members:
+ coreutils/df.c:1.57->1.58
+ include/libbb.h:1.132->1.133
+ libbb/find_root_device.c:1.12->1.13
+ util-linux/mount.c:1.119->1.120
+ util-linux/umount.c:1.64->1.65
+
+---------------------
+PatchSet 4327
+Date: 2004/08/03 08:23:33
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+William Barsse writes:
+
+fixes two other issues (plus the previous as well) with a 2.4 kernel :
+
+- should be able to modprobe an already loaded module and get 0 return
+code :
+# modprobe <something> && modprobe <something> && echo "ok" || echo "failed"
+....
+failed
+
+Well, hope this helps and that I didn't screw up again,
+- William
+
+Members:
+ modutils/modprobe.c:1.33->1.34
+
+---------------------
+PatchSet 4328
+Date: 2004/08/04 19:16:54
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Run msh through indent
+
+Members:
+ shell/msh.c:1.18->1.19
+
+---------------------
+PatchSet 4329
+Date: 2004/08/04 19:19:10
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Michael Leibow, MichaelLe at belkin.com writes:
+
+A question was posted a month ago by Mark Alamo to see if others had
+problems with sourcing subscripts within msh. We asked his firm to fix the
+msh.c bug he described because we didn't have enough time to do it
+ourselves.
+
+When msh.c is executing a compound statement and there is a . command to
+source another script file, msh.c will not execute the subscript until it's
+completed executing the rest of the compound statement.
+
+His example was this:
+
+Echo "Start" ; . ./subA; echo "mid" ; . ./subB ; echo "end"
+
+subA and subB execute AFTER end is printed in reverse order. The same is
+true if the sourced files are inside an if else fi, case esac, or any
+compound statement.
+
+Attached is a patch to msh.c. It fixes the problem. Cd to the root of your
+busybox tree and execute "patch -p1 < msh.c.patch"
+
+Unfortunately, I won't have more time to work on this so I hope that there
+aren't any problems!
+
+Michael Leibow
+Senior Software Engineer
+
+Belkin Corporation
+
+Members:
+ shell/msh.c:1.19->1.20
+
+---------------------
+PatchSet 4330
+Date: 2004/08/06 00:58:53
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Part of patch from William Barsse, fixes a problem with unescaped %.
+
+Members:
+ sysklogd/klogd.c:1.22->1.23
+
+---------------------
+PatchSet 4331
+Date: 2004/08/06 01:49:04
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Tito to fix warnings about redifined functionions barrier and likely.
+
+Members:
+ shell/ash.c:1.103->1.104
+
+---------------------
+PatchSet 4332
+Date: 2004/08/11 02:30:30
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Willian Barsse wrote
+"There seems to be a slight problem with the "mod_strcmp" function in
+modprobe.c, it scans for the first occurence of the module name in the
+"mod_path" variable and expects it to be the last path element. ie
+/lib/modules/2.4.22-debug/kernel/fs/vfat in my example. The comparison
+will always fail if mod_path contains another substring matching the
+module name."
+
+Robert McQueen wrote
+"Although William Barsse's patch fixed mod_strcmp for 2.4 kernels, there
+was a remaining problem which prevented it from working for me. I've
+just tracked it down - when you enable kernel 2.6 module support it
+hard-wired the extension to .ko instead of checking at runtime like the
+other places where 2.4 differs from 2.6. The attached patch fixes this
+for me."
+
+Members:
+ modutils/modprobe.c:1.34->1.35
+
+---------------------
+PatchSet 4333
+Date: 2004/08/11 02:32:18
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Phil Blundellto improve substring match
+
+Members:
+ modutils/modprobe.c:1.35->1.36
+
+---------------------
+PatchSet 4334
+Date: 2004/08/11 02:45:47
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Bastian Blank to add 64 bit support to the test command.
+Example of broken usage: ./busybox test 2147483648 -gt 2147483648
+
+Members:
+ coreutils/Config.in:1.25->1.26
+ coreutils/test.c:1.25->1.26
+
+---------------------
+PatchSet 4335
+Date: 2004/08/11 03:50:30
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Tito to fix memory leak upon error.
+
+Members:
+ libbb/xreadlink.c:1.5->1.6
+
+---------------------
+PatchSet 4336
+Date: 2004/08/11 05:56:30
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from Mike Castle, dont print an empty line (patch modified by me to
+change formatting).
+
+Members:
+ modutils/modprobe.c:1.36->1.37
+
+---------------------
+PatchSet 4337
+Date: 2004/08/11 08:10:58
+Author: bug1
+Branch: HEAD
+Tag: (none)
+Log:
+Set default command to list rather than get, its default behaviour now
+coincides with upstream. Patch from debian diff.
+
+Members:
+ networking/libiproute/iproute.c:1.13->1.14
+
+---------------------
+PatchSet 4338
+Date: 2004/08/12 16:52:00
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Patch from solar to fix problems with get_name()
+
+Members:
+ libbb/interface.c:1.23->1.24
+
+---------------------
+PatchSet 4339
+Date: 2004/08/14 20:57:33
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Christian Ostheimer writes:
+
+Hello,
+
+function build_dep in modprobe.c assumes that dependencies of one module
+have not more than 255 chars;
+that is not sufficient in kernel 2.6.7 (alsa sound modules). - Below is
+a diff that solves the problem for me.
+
+With regards, Christian Ostheimer
+
+Members:
+ modutils/modprobe.c:1.37->1.38
+
+---------------------
+PatchSet 4340
+Date: 2004/08/16 08:29:44
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Aurelien Jacobs writes:
+
+with a quick conversion you will see that 132608 == 0x20600
+so noticed that the elif will never be matched !
+Apparently there was already a try to modify this in CVS which
+was reverted (it was plain wrong).
+
+I don't know when __kernel_old_dev_t is needed, but with a 2.6.7
+or a 2.6.8 this is __kernel_dev_t wich is needed.
+
+I corrected this with the following patch but maybe older 2.6
+still need __kernel_old_dev_t ?
+
+I think this should be corrected before 1.0.
+
+Thanks
+Aurel
+
+Members:
+ libbb/loop.c:1.10->1.11
+
+---------------------
+PatchSet 4341
+Date: 2004/08/16 08:36:28
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Use __kernel_old_dev_t for 2.6.x kernels
+
+Members:
+ libbb/loop.c:1.11->1.12
+
+---------------------
+PatchSet 4342
+Date: 2004/08/16 08:38:34
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Joe.C writes:
+
+ This bug is in busybox 1.0.0-rc2. When using lash exec
+builtin with redirection, the opened file fd keep increasing.
+For example, please try the following command with lash.
+
+
+ls -al /proc/<lash pid>/fd
+exec /bin/sh 2>/dev/null
+ls -al /proc/<lash pid>/fd
+
+ The last 'ls' command output will look like this. The fd
+number 4 shouldn't exist.
+
+lrwx------ 1 501 100 64 Aug 13 13:56 4 -> /dev/pts/5
+l-wx------ 1 501 100 64 Aug 13 13:56 2 -> /dev/null
+lrwx------ 1 501 100 64 Aug 13 13:56 1 -> /dev/pts/5
+lrwx------ 1 501 100 64 Aug 13 13:56 0 -> /dev/pts/5
+dr-xr-xr-x 3 501 100 0 Aug 13 13:56 ..
+dr-x------ 2 501 100 0 Aug 13 13:56 .
+
+ This one-line patch fix this problem by setting CLOEXEC flag for
+squirrel fd. Please apply.
+
+Joe.C
+
+Members:
+ shell/lash.c:1.160->1.161
+
+---------------------
+PatchSet 4343
+Date: 2004/08/16 09:07:39
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Bertrand Baudet writes:
+
+Looks like the -D and -H options of the adduser applet aren't handle
+properly in BusyBox.
+
+This patch fixes the masks definition for those options according to
+there position in the optstring.
+
+Patch against RC2 but should also apply cleanly against CVS.
+
+Bertrand
+
+Members:
+ loginutils/adduser.c:1.9->1.10
+
+---------------------
+PatchSet 4344
+Date: 2004/08/16 09:29:42
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Do not use vfork, as init is not vfork safe. Do not allow
+askfirst when mmuless.
+
+Members:
+ init/init.c:1.203->1.204
+
+---------------------
+PatchSet 4345
+Date: 2004/08/16 10:22:34
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Only pass modprobe module params with 2.6.x kernel support.
+ -Erik
+
+Members:
+ modutils/modprobe.c:1.38->1.39
+
+---------------------
+PatchSet 4346
+Date: 2004/08/16 10:23:33
+Author: andersen
+Branch: HEAD
+Tag: (none)
+Log:
+Bump version
+
+Members:
+ Rules.mak:1.36->1.37
+