| 0.43 |
| * Wrote basename. |
| * 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. |
| |
| -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. |
| |