mirror of
https://github.com/topjohnwu/ndk-busybox.git
synced 2024-11-24 20:29:55 +00:00
6859d761d3
- documented most of my 0.61 changes in the ChangeLog
1297 lines
61 KiB
Plaintext
1297 lines
61 KiB
Plaintext
0.61.pre
|
|
|
|
Development Version
|
|
|
|
|
|
|
|
New Applets:
|
|
* Erik Andersen -- Merged several applets from tinylogin,
|
|
namely adduser, addgroup, deluser, delgroup, getty.
|
|
* Robert Griebl <sandman@handhelds.org>
|
|
-- reimplemented tinylogin applets: su, login
|
|
-- added hwclock
|
|
-- added uncompress
|
|
|
|
Other Changes:
|
|
|
|
* Vladimir Oleynik, Manuel Novoa III, Aaron Lehmann
|
|
-- a whole bunch of ash size optimizations
|
|
-- Fix for ash leading redirections (i.e. '2>/dev/null ls rubbish')
|
|
* Rodney Brown <RDBrown@mira.net>
|
|
-- Optimized gzip.c, shrinking it by ~1.5k
|
|
* Matt Kraai
|
|
-- Fix sed s/[/]// handling (closes: #1208).
|
|
-- Fix `-/bin/sh' invocation (closes: #1209).
|
|
-- Fix ash exec (noted by Arne Bernin).
|
|
-- Fix tar segfault when include list is empty and exclude list is
|
|
not.
|
|
-- Fix sed s/$/@/ handling (noted by Joshua Hudson).
|
|
-- Fix opt type in dpkg (closes: #118975).
|
|
* Magick
|
|
-- made init run inittab command's in the order they show up
|
|
in the inittab file (FIFO instead of LIFO).
|
|
* Vladimir Oleynik
|
|
-- reverse resolve network name and cache in route and ifconfig
|
|
applets, fix print nslookup server name if compile without
|
|
uClibc, fix route crashe 'route add', fix warnings compile
|
|
networking and pwd_grp applets
|
|
* Tim Riker <Tim@Rikers.org>
|
|
-- fix and shrink uuencode
|
|
-- allow tty* in inittab if exist, serial console is not the issue
|
|
* Robert Griebl <sandman@handhelds.org>
|
|
-- added suid/sgid handling with 3 modes to busybox:
|
|
1) completly disabled
|
|
2) tinylogin like
|
|
3) runtime configureable via /etc/busybox.conf
|
|
|
|
-- modprobe: complete rewrite, supports modules.dep, parses
|
|
modules.conf for alias and options and can be called
|
|
from the kernel.
|
|
-- tar: support for -z when creating archives
|
|
-- wget: support for -Y|--proxy=on/off and --passive-ftp
|
|
-- vi: support for ":x"
|
|
-- date: support for -I (ISO format)
|
|
-- find: support for -xdev
|
|
-- mount: support for -t in list mode, parsing of /etc/filesystems
|
|
-- ash: support for --login (bash like)
|
|
-- route: support for -e
|
|
-- netstat: support for -e and -r
|
|
-- head/tail: support for old style -[0-9] options
|
|
-- sed: support for ! and \CregexpC
|
|
-- pidof: support for -s
|
|
-- nslookup: support for user specified name server
|
|
|
|
-- logger: fixed logging of '<' characters
|
|
-- ash: fixed crash when run in a rxvt window
|
|
|
|
-Erik Andersen, --not yet released--
|
|
|
|
|
|
|
|
0.60.1
|
|
|
|
Stable Release
|
|
|
|
|
|
New Applets & New Features:
|
|
none. :)
|
|
|
|
Known Problems (to be fixed in 0.60.2)
|
|
* msh can segfault on constructs such as
|
|
for i in `ls *.c` ; do echo $i ; done
|
|
due to a memory allocation problem. This only seems to cause
|
|
problems when the backtick expands to be several k in size.
|
|
|
|
|
|
Bugfixes:
|
|
* Matt Kraai
|
|
-- Fixed msh to support underscores in variable names.
|
|
-- Fixed a sed problem with unsatisfied backrefs (the problem was
|
|
noted by Martin Bene).
|
|
-- Removed CONFIG_SH define entirely. Now one simply picks the shell
|
|
or shells they want as CONFIG_<foo> in Config.h
|
|
-- Fixed head to use ferror(3) to check for errors, not errno.
|
|
* Shu-Hao Chang <shuhao_chang@trend.com.tw>
|
|
-- Fixed sed handling of multiple -e commands
|
|
* Magick <magick@linux-fan.com>
|
|
-- Fixed an init bug with AskFirst and /dev/null
|
|
* Jaspreet Singh <jsingh@somanetworks.com>
|
|
-- Fixed both a segfault and cosmetic bug in route
|
|
* Erik Andersen
|
|
-- Made the insmod options CONFIG_FEATURE_NEW_MODULE_INTERFACE and
|
|
CONFIG_FEATURE_OLD_MODULE_INTERFACE mutually exclusive
|
|
-- xgetcwd.c now includes sys/param.h to ensure PATH_MAX is defined
|
|
-- Fixed a potential segfault with lash + CONFIG_FEATURE_CLEAN_UP
|
|
-- Removed uint64_t from dos2unix, avoiding C lib compat. problems.
|
|
* Glenn McGrath
|
|
-- Rewrite of tftp (commands match atftp, accepts -b, can use
|
|
non-standard ports, and is smaller).
|
|
-- Fixed unarchive exclude list handling
|
|
* Manuel Novoa III
|
|
-- rewrite of simplify_path so it behaves itself (fixing some
|
|
problems with mount and other applets).
|
|
-- Fixed ifconfig 'broadcast +' handling and disabled it by default
|
|
* Matthias ? <matthias@corelatus.com>
|
|
-- Fixed syslogd to log all messages from a single connection, not
|
|
just the first.
|
|
|
|
|
|
-Erik Andersen, 23 August 2001
|
|
|
|
|
|
0.60.0
|
|
|
|
Note:
|
|
|
|
For this release I have bumped the version number to 0.60.0. This
|
|
reflects the fact that this release is intended to form a new stable
|
|
BusyBox release series. If you need to rely on a stable version of
|
|
BusyBox, you should plan on using the stable 0.60.x series. If bugs
|
|
show up then I will release 0.60.1, then 0.60.2, etc... This is also
|
|
intended to deal with the fact that the BusyBox build system will be
|
|
getting a major overhaul for the next release and I don't want that to
|
|
break products that people are shipping. To avoid that, the new build
|
|
system will be released as part of a new BusyBox development series
|
|
that will have some not-yet-decided-on odd version number. Once things
|
|
stabablize and the new build system is working for everyone, then I
|
|
will release that as a new stable release series.
|
|
|
|
Critical Bugfixes:
|
|
* Matt Kraai
|
|
-- Fixed wget output file opening (wget failed in 0.52).
|
|
-- Fixed a memory leak in syslogd (found by Adam Slattery).
|
|
* Vladimir Oleynik, Matt Kraai, Erik Andersen
|
|
-- several nasty bugs in ash and msh. msh could not assign
|
|
any variables and had debug code still enabled. ash
|
|
had several compile errors (depending on selected options)
|
|
and variable assignment problems as well.
|
|
|
|
New Applets:
|
|
* David McCullough <davidm@lineo.com> -- modprobe
|
|
* Vladimir Oleynik -- traceroute
|
|
* Erik Andersen -- pidof
|
|
|
|
New Scripts:
|
|
* David Schleef, Erik Andersen, Stuart Hughes -- depmod.pl
|
|
This is a replacement for the depmod program from the modutils
|
|
package, but is fully cross platform and is designed to run on
|
|
your host system (not on the target).
|
|
|
|
Other Changes:
|
|
* Erik Andersen
|
|
-- fixed busybox.spec so it should now work on redhat systems
|
|
-- fixed dos2unix and unix2dos so they should work once again
|
|
-- Adjustments to make busybox more uClinux friendly. Busybox
|
|
should now work on uClinux systems without needing and source
|
|
code changes (applets that won't work on uClinux systems are
|
|
now automagicaly disabled).
|
|
-- various things (cleanups, libc compatibility work, etc, etc)
|
|
* Jim Gleason <jimg@lineo.com>
|
|
-- Fixed for sed, where it failed to preserve whether or not the
|
|
line was previously altered when running a subst command.
|
|
* Matt Kraai
|
|
-- Made tar read 20 512byte blocks at a time (like GNU tar)
|
|
-- Allow msh.c assignments with the export and readonly commands.
|
|
-- Added CONFIG_FEATURE_DEVFS to enable devfs device names.
|
|
-- Better devfs support
|
|
-- Don't save/restore vi readonly flag if vi is compiled read-only.
|
|
-- Reworked rdate option handling (is now smaller).
|
|
-- Size reduction in ping
|
|
-- Always write dd counts to stderr
|
|
-- Allow multiple shells to be enabled
|
|
* Aaron Lehmann
|
|
-- slimmed down md5sum
|
|
-- contributed a nice new (hand written, not lex/yacc) Posix math
|
|
support for ash, which is once again a full posix shell.
|
|
* Felix von Leitner <leitner@convergence.de> -- patches to make busybox
|
|
work with dietlibc.
|
|
* David McCullough
|
|
-- Adjustments to make busybox more uClinux friendly
|
|
* Glenn McGrath
|
|
-- Fixed gzip so when a filename is '-' it will use stdin/stdout
|
|
-- dpkg rewrite. Should now be compatable with the real dpkg,
|
|
but needs more testing.
|
|
-- Updates to archiving tools (gunzip/gzip/cpio/ar/etc)
|
|
-- Rewrote uuencode, will allow base64 encoding to be used by wget
|
|
* Vladimir Oleynik
|
|
-- Fixed tr to support 'tr a-z A-Z' syntax,
|
|
-- Many ash corrections, optimizations, and cleanups.
|
|
-- optimizations for traceroute, md5sum, chown, ping
|
|
-- cmdedit updates and API change
|
|
-- Namespace cleanup (i.e. adding 'static' private function calls)
|
|
-- added "stopped jobs" warning to ash on exit
|
|
* Adam Slattery
|
|
-- Fixed ping compile problem
|
|
* Robert J. Osborne <rj@resourceinternational.com>
|
|
-- fixed a vi bug with delete and escape sequences on empty files.
|
|
|
|
|
|
-Erik Andersen, 31 July 2001
|
|
|
|
|
|
|
|
0.52
|
|
|
|
Critical Bugfixes:
|
|
* Glenn McGrath -- Fixed gunzip, zcat when reading from stdin
|
|
* Marc Karasek and Kanoj (kernel serial.c maintainer) -- fixed init
|
|
problem on serial consoles with 2.4.3+ kernels.
|
|
|
|
New Applets:
|
|
* Laurence Anderson -- rpm2cpio applet, this obsoletes rpmunpack
|
|
which has now been removed from BusyBox
|
|
* Laurence Anderson and Glenn McGrath -- cpio applet, currently
|
|
only supports unpacking the ascii cpio format.
|
|
* Vladimir Oleynik and Erik Andersen -- added ash, the most correct
|
|
busybox shell.
|
|
* Larry Doolittle -- hush, small shell designed specifically
|
|
for busybox. Quite usable but still a work in progress.
|
|
* Erik Andersen -- msh, minix shell. A very small but capable shell
|
|
that only uses vfork, so it can be used on uClinux systems.
|
|
|
|
Other Changes:
|
|
* Sterling Huxley -- Several bugfixes for the vi applet.
|
|
* Glenn McGrath -- Restructure unarchiving code to make more code
|
|
common to the ar, cpio, dpkg, dpkg-deb applets.
|
|
tar applet has not yet been assimilated...
|
|
* Matt Kraai -- Rewrote cp, dirname, mkdir, mv, and rm.
|
|
* Paul J.Y. Lahaie <pjlahaie@linuxcare.com> -- Fixed an endian-ness
|
|
bug in md5sum (in 0.51, md5sum on big endian machines was broken)
|
|
* Mark Whitley -- rewrote cut, major updates to grep and sed.
|
|
* Erik Andersen -- bunches of insmod fixes. It should now always
|
|
work (no more segfault or missing symbols problems).
|
|
* Bernhard Kuhn <kuhn@lpr.e-technik.tu-muenchen.de> and Jinux Kim
|
|
added uClinux/m68k insmod support.
|
|
* Manuel Novoa III -- rewrote make_human_readable so ls, du, and df
|
|
should work as expected. Eliminated use of floats.
|
|
* Aaron Lehmann <aaronl@vitelus.com> -- Scrubbed gzip.c
|
|
* Alan Modra <amodra@bigpond.net.au> -- fixed an hard to spot
|
|
bug breaking gunzip checksum checking.
|
|
* Gennady Feldman -- Fixed 'syslog -C'
|
|
* Gernot Poerner <gp@it-netservice.de> -- Added mount bind support.
|
|
* Adam Heath <doogie@debian.org> -- wget arbitrary header support
|
|
* John Beppu -- updated the automagical doc generator
|
|
* Zillions of other bugfixes, optimizations, and cleanups.
|
|
|
|
|
|
|
|
-Erik Andersen, 7 July 2001
|
|
|
|
|
|
0.51
|
|
Critical Bugfixes:
|
|
* Erik Andersen -- Fixed a bug that could crash the shell in 0.50
|
|
when pressing <Enter> on an empty line.
|
|
* Gennady Feldman -- Fixed a bug that could crash the shell in 0.50
|
|
when performing an 'export' in the shell.
|
|
* Gennady Feldman -- fixed a syslogd bug where syslogd could cause
|
|
the init process to block (which can break systems badly).
|
|
|
|
New Applets:
|
|
* Sterling Huxley -- contributed a new vi applet! This is a very
|
|
functional vi implementation in Only 22k.
|
|
* Erik Andersen -- added env applet
|
|
|
|
Other changes:
|
|
* Erik Andersen -- Split utility.c into libbb, which provides a
|
|
much cleaner was for us to include shared functionality.
|
|
* Erik Andersen -- Reorganized how and when busybox includes
|
|
syscalls, aiding portability and (in this case) making the
|
|
busybox work on ia64 systems.
|
|
* Erik Andersen -- dpkg.c cleanup to use the updated gunzip interface.
|
|
* Erik Andersen -- Cleanups for libc5, glibc, and uClibc.
|
|
* Erik Andersen and Matt Kraai -- Cleanups for the human-readable
|
|
output from ls, du, and df.
|
|
* Laurence Anderson <laurence@zxmail.com> -- Fixed wget HTTP 1.1
|
|
support and added chunked encoding so it is now RFC compliant.
|
|
* John Beppu -- The busybox.pod documentation is now automagically
|
|
generated from the source code. This makes it _much_ simpler.
|
|
Now to update the docs, just update the usage message...
|
|
* Dirk Behme <dirk.behme@de.bosch.com> -- Adjusted MIPS insmod
|
|
support a bit for Mips RS3.
|
|
* Christophe Boyanique -- egrep invoked the "init" applet in 0.50!
|
|
* Larry Doolittle -- Added -Wshadow and fixed a number of shadowed
|
|
variables
|
|
* David Douthitt -- fixed 'find -print'
|
|
* Gennady Feldman -- fixes for the syslogd circular buffer code
|
|
* Jeff Garzik -- a number of structural cleanups, fixes for -Wshadow
|
|
bugs, and similar problems.
|
|
* Matt Kraai -- Added a new 'shutdown' action to busybox init. Now
|
|
you can specify arbitrary behavior for 'ctrlaltdel' so now
|
|
pressing CTL-ALT-DEL can do something else (or nothing).
|
|
* Andreas Neuhaus <andy@fasta.fh-dortmund.de> -- fix for merging
|
|
kernel command line environment variables into child environment
|
|
for init.c
|
|
* Glenn McGrath -- Fixed problems with dpkg and dpkg-deb applets
|
|
* Glenn McGrath -- Don't try to automount devfs
|
|
* Vladimir Oleynik -- optimizations for more.c
|
|
* Vladimir Oleynik -- Added locale support to the shell, and fixed
|
|
locale support in several other places
|
|
* Vladimir Oleynik -- moved struct applet from busybox.c to applets.c
|
|
* Vladimir Oleynik -- A size optimization for rdate
|
|
* Vladimir Oleynik -- Fixed printf applets's locale handling
|
|
* Vladimir Oleynik -- More cmdedit updates
|
|
* Vladimir Oleynik -- Fixed `du' applet so it continues running
|
|
after permission errors.
|
|
* Vladimir Oleynik -- Reduced stack usage in recursive_action()
|
|
* Pierre Peiffer <pierre.peiffer@sxb.bsf.alcatel.fr> -- made
|
|
find_pid_by_name() cope with swapped out processes.
|
|
* Jari Ruusu <jari.ruusu@pp.inet.fi> -- updates so that setting
|
|
D_FILE_OFFSET_BITS=64 now works as expected.
|
|
* Anthony Towns <aj@azure.humbug.org.au> -- fixed a bug with
|
|
sed address range handling
|
|
* Dmitry Zakharov <dmit@crp.bank.gov.ua> -- a number of updates
|
|
to wget: support for ftp downloads, basic HTTP basic auth, handling
|
|
of http redirects, when attempting to continue an aborted download
|
|
but server doesn't support restarts then reopen output file in
|
|
write mode, bugfix: when content-length not given, wget didn't
|
|
download anything, if -c is not specified, it no longer default to
|
|
restarting an aborted download.
|
|
|
|
|
|
-Erik Andersen, 10 April 2001
|
|
|
|
|
|
0.50
|
|
* Erik Andersen -- added ifconfig interface status reporting
|
|
* Erik Andersen -- Debian packaging updates
|
|
* Erik Andersen -- lash environment variable expansion rewritten,
|
|
with lots of help/fixes/testing from Larry Doolittle.
|
|
* Erik Andersen -- Fix use of busybox with dmalloc debugging lib
|
|
* Erik Andersen -- fixed ls behavior for broken or very narrow terminals
|
|
* Erik Andersen -- stub umount2 and pivot_root if they are not available
|
|
* Erik Andersen -- libc5 fixes
|
|
* Erik Andersen -- make init work with devfsd
|
|
* Erik Andersen -- fixed df for nfs and dos where blksize = 512
|
|
* Erik Andersen -- Make sure libpwd.a is linked _last_ so it
|
|
overrides the system pwd/grp
|
|
* Christophe Boyanique -- added an optional egrep alias for grep.
|
|
* Christophe Boyanique -- added optional 'rm -i' support.
|
|
* Kenneth Chalmers and Erik Andersen -- fixed ln so it
|
|
behaves when given no arguments (prints usage) and when
|
|
given just one arg (tries to make a link in the cwd).
|
|
* Magnus Damm -- added a tftp applet
|
|
* Magnus Damm -- powerpc support for busybox insmod.
|
|
* David Douthitt -- fixed a build error in df.c when
|
|
CONFIG_FEATURE_HUMAN_READABLE was disabled
|
|
* John Beppu -- wrote autodocifier.pl, which will be used to auto-
|
|
generate the documentation from the source code, making life
|
|
much simpler for all.
|
|
* Magnus Damm <damm@opensource.se> -- Fixed an 'inner scope var
|
|
masking outer scope var with same name' bug that prevented
|
|
the loopback device from being unmounted if mount() failed.
|
|
* Larry Doolittle -- rewrote ifconfig to make it smaller
|
|
* Larry Doolittle and Erik Andersen -- cleanups to pristine source
|
|
* Larry Doolittle -- many bugfixes resulting from regression testing
|
|
* Gennady Feldman -- split syslogd.c into syslogd and klogd
|
|
* Gennady Feldman -- make syslogd single threaded -- no more forking
|
|
* Jeff Garzik -- getopt-ified rmmod.
|
|
* Jeff Garzik -- glibc 2.2 warning cleanups
|
|
* Jeff Garzik -- namespace pollution cleanup (staticified variables).
|
|
* Erik Gustavsson <cyrano@algonet.se> -- allow env variables set on the
|
|
kernel command line to be inherited into init and its children.
|
|
* Erik Habbinga -- fixed an uninitialized substitution delimiter in sed.
|
|
* Chris Jaeger -- Makefile cleanup to make option setting less error-prone
|
|
* Chris Jaeger <cjaeger@ensim.com> -- Carefully check NFS_MOUNT_VERSION
|
|
depending on what kernel is being used.
|
|
* Quinn Jensen <jensenq@lineo.com> -- MIPS support for busybox insmod.
|
|
* Evin Robertson -- new pivot_root applet
|
|
* Kent Robotti -- usage message cleanups
|
|
* Kent Robotti -- reworked dos2unix/unix2dos
|
|
* Evin Robertson and Manuel Novoa III -- reworked how usage messages
|
|
are stored to save several k of space.
|
|
* Matt Kraai -- Keep trying if an NFS mount fails
|
|
* Matt Kraai -- fixed insmod so it won't try to insmod directories.
|
|
* Matt Kraai -- added nc listening support
|
|
* Matt Kraai and David Douthitt -- reworked fine to support -type,
|
|
-perm, -mtime, and other improvements.
|
|
* Matt Kraai -- added find_applet_by_name and saved some memory thereby
|
|
* Matt Kraai -- added chomp to reduce redundant code elsewhere
|
|
* Matt Kraai -- Removed trailing \n chars from error_msg{,_and_die} messages.
|
|
* John Lombardo -- fixed OOM in insmod.
|
|
* Glenn McGrath -- bypass /proc in mount, now uses sysfs.
|
|
* Glenn McGrath -- several updates to dpkg and dpkg-deb.
|
|
* Manuel Novoa III -- several size optimizations: parse_mode,
|
|
process_escape_sequence, format, and get_kernel_revision.
|
|
* Manuel Novoa III -- rewrote ifconfig again to make it smaller still
|
|
* Manuel Novoa III -- added ifconfig -a, updated interface reporting
|
|
* Vladimir N. Oleynik -- Fixed a bug where init set PATH incorrectly
|
|
* Vladimir N. Oleynik -- cleanups to route, cmdedit, mkdir,
|
|
mkfs_minix, mkswap, chmod_chown_chgrp and utility.c
|
|
* Vladimir N. Oleynik -- many fixes to cmdedit. so tab completion
|
|
is now working and general editing is much improved, and to
|
|
improve complex prompt handling.
|
|
* Vladimir N. Oleynik -- added route status reporting.
|
|
* Vladimir N. Oleynik -- fixed wget to use xfopen
|
|
* Vladimir N. Oleynik -- new stty applet
|
|
* Vladimir N. Oleynik -- fixed find, it used to stop on perm errors.
|
|
* Vladimir N. Oleynik -- locale forced to posix for scripts
|
|
* Vladimir N. Oleynik -- saved 128 bytes by moving error checking
|
|
for several my_* functions into utility.c
|
|
* Bjorn Wesen -- new ifconfig and route applet (taken from
|
|
work done by Axis Communications).
|
|
* Mark Whitley -- Added a 'How to contribute to Busybox' doc
|
|
and updated the style guide.
|
|
* Mark Whitley -- implemented grep -A, -B, and -C
|
|
* Mark Whitley -- overhauled the test suite.
|
|
|
|
|
|
-Erik Andersen, 15 March 2001
|
|
|
|
0.49
|
|
|
|
* Matt Kraai -- new sort.c
|
|
* Matt Kraai -- new tail.c
|
|
* Glenn McGrath -- new 'dpkg-deb' applet
|
|
* Glenn McGrath -- new ar code
|
|
* spoon -- new watchdog applet
|
|
* Vladimir N. Oleynik <dzo@simtreas.ru> -- fixed cmdedit.c so now
|
|
scrolling and tab completion in lash work properly. Also several
|
|
byte saving optimizations.
|
|
* Erik Andersen -- disabled many less commonly used applets by default
|
|
* Mark Whitley -- more thrashing about to get clean perror_msg usage
|
|
* Matt Kraai -- new command line munging
|
|
* Larry Doolittle -- keep some locales from messing up busybox.sh
|
|
* Matt Kraai -- cleaned up dd and tail with new parse_number routine
|
|
* Mark Whitley -- remove debugging messages from deallocvt
|
|
* Matt Kraai and Mark Whitley -- new document "How to Add a New Applet
|
|
to BusyBox"
|
|
* David Douthitt -- fixed "grep -qv" bug
|
|
* Larry Doolittle -- fixed insmod bug with old kernels
|
|
* Matt Kraai -- logger remixed to use getopt, selection of stdin made
|
|
util-linux compatible
|
|
* Erik Andersen -- many more internal symbols classified static to
|
|
avoid namespace pollution
|
|
* Matt Kraai -- nc listening support
|
|
* Erik Andersen -- made sed understand arbitrary regexp delimiters
|
|
* Matt Kraai et al. -- more tar improvements and bug fixes, now
|
|
handles regexp file exclusion
|
|
* Larry Doolittle -- new script (multibuild.pl) to automate build rule
|
|
checking
|
|
* Matt Kraai -- update/cleanup of the docs on how to use init
|
|
* Erik Andersen -- renamed all sh.c symbols per the style guide,
|
|
better if-then-else-fi handling
|
|
* Erik Andersen -- cleaner division of labor between cmdedit.c and sh.c
|
|
* Larry Doolittle -- shell data structure cleanup, fixed buglets
|
|
in read, exec, and piped builtins
|
|
* Erik Andersen -- md5sum was broken in 0.48. Now fixed (and doesn't
|
|
use getline, shrinking static compiles (since nothing else used it).
|
|
* ?? -- squashed memory leak in shell prompt handling
|
|
* Mark Whitley -- Updates to style guide
|
|
* Mark Whitley -- Big cleanup in utility.c: style guide compliance,
|
|
de-macro-ifying some variables and functions
|
|
* Erik Andersen -- ls now honors CONFIG_FEATURE_AUTOWIDTH so it can find
|
|
the width and height of the console.
|
|
* Erik Andersen -- insmod now ignores -L and accepts the -o option.
|
|
* Erik Andersen -- updates so you can now select from the Makefile
|
|
whether or not to use the system's passwd and group functions.
|
|
Since most systems use GNU libc, this can save you from having to
|
|
install the /etc/nsswitch.conf configuration file and the required
|
|
libnss_* libraries. Adds 1.5k. You can now, also, disable this,
|
|
causing busybox to use the system's pwd.h and grp.h functions.
|
|
|
|
|
|
-Erik Andersen, 27 January 2001
|
|
|
|
0.48
|
|
|
|
* Glenn McGrath -- tar now supports uncompressing tar files,
|
|
define CONFIG_FEATURE_TAR_GZIP to use the -z option.
|
|
* Matt Kraai -- fix all usage of TRUE and FALSE so all apps now
|
|
return EXIT_SUCCESS or EXIT_FAILURE to the system.
|
|
Now TRUE and FALSE are set to the C standard where TRUE=1.
|
|
* me -- Fixed uname problem causing the kernel version to be
|
|
mis-detected (causing problems with poweroff, init,
|
|
and other things).
|
|
* Alcove, Julien Gaulmin <julien.gaulmin@alcove.fr> and
|
|
Nicolas Ferre <nicolas.ferre@alcove.fr> -- insmod support on ARM
|
|
and StrongArm, and suport for lsmod on older 2.0.x kernels.
|
|
* Kent Robotti -- Renamed unrpm to original rpmunpack, so you can use
|
|
an included shell script called unrpm as a front end to it. There's
|
|
also a shell script called undeb included for debian packages.
|
|
* Matt Kraai -- fix an infinite loop with ls -aR
|
|
* Larry Doolittle -- Shaved off about 100 bytes and 200 bytes heap
|
|
from date.c. Also document the "-d" option in the usage message.
|
|
* Gennady Feldman -- fixed dd to use blocksize when reading/writing,
|
|
(it was reading the whole thing and then writing it out). Also
|
|
updated usage information (was missing conv=notrunc) and added
|
|
conv=sync feature.
|
|
* Larry Doolittle (in collaboration with Matt Kraai) -- allow for a
|
|
pristine source directory -- where all the .o files and such are
|
|
not placed into the source tree. Thanks Larry!
|
|
* Larry Doolittle -- use the applet definitions in applets.h
|
|
to autogenerate the applet function and usage prototypes.
|
|
* Sebastien Huet, Arne Bernin, and Kent Robotti -- Add in tar -X and
|
|
fixed a bug breaking tar --exclude.
|
|
* Jonas Holmberg -- echo option handling made GNU-echo compatible
|
|
* Aleksey Demidov <asd@ixcelerator.com> -- date option handling made
|
|
GNU-date compatible
|
|
* me -- Progress meter (optional) in wget
|
|
* Doolittle/me -- programs invoked by full path name take
|
|
precedence over applets unless CONFIG_FEATURE_SH_BUILTINS_ALWAYS_WIN
|
|
* Gaute B Strokkenes <gs234@cam.ac.uk> -- applets found using a
|
|
binary search instead of linear search. Much faster!
|
|
* new applets: cmp readlink
|
|
* Mark Whitley -- Removed advertising clause of Berkeley license
|
|
according to decision by the Regents of the University of
|
|
California; included reference
|
|
* tail's confusing special treatment of single digit options removed;
|
|
people should use -n instead
|
|
* Larry Doolittle -- \r handled now in echo and tr
|
|
* Matt Kraai -- rewrite of uniq
|
|
* Mark Whitley -- remix of xargs
|
|
* Jim Gleason <jimg@lineo.com> -- fixed tar so it no longer breaks
|
|
hard links.
|
|
* Matt Kraai -- logger now logs all arguments, not just the first
|
|
* Gennady Feldman -- syslogd no longer logs to localhost if compiled
|
|
for remote logging...
|
|
* Richard June <rjune@ims1.imagestream-is.com> -- support for 'gzip -d'
|
|
* various artists -- Other good stuff that I forgot to document.
|
|
|
|
|
|
-Erik Andersen, 13 December 2000
|
|
|
|
0.47
|
|
|
|
* A bug in syslogd was fixed that allowed it to potentially fork-bomb
|
|
your system. Anyone using 0.46 syslogd should upgrade.
|
|
* Renamed busybox.defs.h to the more sensible "Config.h"
|
|
* Improved portability between different libcs.
|
|
* Many apps ported to use getopt()
|
|
* Common handling of '--help'
|
|
* All usage messages centralized.
|
|
* Added a bunch of new commands:
|
|
* 'rdate' contributed by Sterling Huxley <sterling@europa.com>
|
|
* 'wget' contributed by Chip Rosenthal <chip@unicom.com>,
|
|
<crosenth@covad.com> and Covad Communications
|
|
* 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org>
|
|
* dos2unix, unix2dos, reset, and unrpm.c (and lots of help
|
|
debugging) thanks to Kent Robotti <robotti@metconnect.com>.
|
|
* 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
|
|
* 'xargs' (written by me)
|
|
* 'expr' contributed by Edward Betts <edward@debian.org>, based
|
|
on GNY expr
|
|
* lsmod now uses the query_module syscall, rather then /proc (me)
|
|
* syslogd can now log messages to remote hosts -- patch thanks
|
|
to Gyepi Sam <gyepi@praxis-sw.com>
|
|
* chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org>
|
|
* 'make install' now creates relative symlinks, and added a new
|
|
'make install-hardlinks' target to (tada) install hardlinks.
|
|
* Rewrite of 'tail' to make it simpler, smaller, and more robust.
|
|
It now weighs only 2.25k (3k when full featured). The code is
|
|
cleaner too, thanks to Allen Soard <esp-software@mail.hypermart.net>
|
|
* Add optional ls file sorting, thanks to a patch from
|
|
Sterling Huxley <sterling@europa.com>
|
|
* Fixed chmod option parsing so things like 'chmod -r /tmp/file'
|
|
now work (previously it thought -r was an option). Doh!
|
|
* Fixed tar handling of stdin and stdout
|
|
* Renamed "internal.h" to the more sensible "busybox.h"
|
|
* Preliminary support for GNU HURD.
|
|
* Updated my devps and devmtab kernel patches for the latest 2.2.x
|
|
kernel, for those wanting to go proc-less.
|
|
* Tons of other bugfixes.
|
|
|
|
|
|
-Erik Andersen, 25 September 2000
|
|
|
|
|
|
0.46
|
|
|
|
* Better portability. Now should compile cleanly with libc5,
|
|
GNU libc 2.0 and 2.1, and various Linux kernels including
|
|
2.0.x, 2.2.x, and to 2.4.0-test*. (patch for 2.4.x kernels
|
|
to make /proc/mounts behave included in the kernel-patches dir).
|
|
* Fixed a _horrible_ bug where 'tar -tvf' could unlink
|
|
local files that matched tarball contents!!! Fix thanks
|
|
to Marius Groeger <mgroeger@sysgo.de>
|
|
* Fixed a nasty bug in tar when could mess up saved symlinks.
|
|
* Fixed tar creation support when reading from stdin ('tar -cf - . ')
|
|
thanks to Daniel Quinlan <quinlan@transmeta.com>
|
|
* Updates to handle Linux 2.4.0 kernels (kludged around the
|
|
"none" entries in /proc/mounts, added a hack to make sysinfo
|
|
work with both old and new kernels).
|
|
* Fixed insmod module option parsing for options lacking an '='.
|
|
Fix thanks to Marc Nijdam <marc_nijdam@hp.com>
|
|
* Fixed segfault with 'cut -f 1 -d:' and added 'cut -s' suport.
|
|
Fix thanks to Arne Bernin <arne@matrix.loopback.org>
|
|
* Several fixes from Marius Groeger <mag@sysgo.de>
|
|
- Added support for "sh -c command args..."
|
|
- Fixed globbing, i.e. 'echo * *' and 'echo "******"' now work.
|
|
- Added shell environment variable substitution
|
|
- Added the "read" shell builtin.
|
|
* Fixed cursor editing in cmdedit.c. The following keyboard sequence
|
|
used to create an infinite loop: ls, cursor up, left, down.
|
|
* Added support for being a login shell, so things like
|
|
'-su' or '-sh' (stuff where argv[0][0]=='-') will now always
|
|
invoke the shell. Now you can use BusyBox as a login shell.
|
|
* ls.c now ignores '-g', since some ftp clients like that sort
|
|
of thing. Patch thanks to David Vrabel <dvrabel@arcom.co.uk>
|
|
* Fix to init.c from Stuart Menefy <Stuart.Menefy@st.com> so that
|
|
it always sets the controlling terminal before running any programs
|
|
* Several fixes from Matt Kraai <kraai@alumni.carnegiemellon.edu>
|
|
- Fixed tr so it recognizes standard escape sequences.
|
|
Merged common escape seq. code from tr and echo into utility.c.
|
|
- Major work in updating/cleaning up the docs, and getting the
|
|
new SGML based docs into shape.
|
|
- cleanup of ar.c
|
|
- BusyBox should now poweroff when asked to do so.
|
|
- Fixed 'ln -n' and 'ln -s' so they both work properly.
|
|
* Reorganized signal names in kill.c for better architecture support
|
|
-- patch thanks to simon wood <simon@mungewell.uklinux.net>
|
|
* In 0.43, backspace and delete worked properly, but with 0.45,
|
|
it just echoed a ^? for backspace, and ^H for control-h. This
|
|
was due to a broken macro in init.c, that is now fixed.
|
|
* Removed sfdisk from BusyBox. It was buggy, fat, and we really
|
|
couldn't maintain it very well, so including it was not really
|
|
very appropriate. Those wanting an fdisk are invited to
|
|
grab a copy from util-linux.
|
|
* Added 'dumpkmap' to allow people to dump a binary keymap, which can
|
|
then be loaded in by 'loadkmap' -- submitted by
|
|
Arne Bernin <arne@matrix.loopback.org>
|
|
* Fixed NFS so it supports 2.4.x kernels and NFSv3.
|
|
* Brand, new versions of grep and sed which use libc regex routines,
|
|
thanks to Mark Whitley <markw@lineo.com>. The hand-tooled
|
|
"regexp.[ch]" files have been removed. Much help on these from
|
|
Matt Kraai as well.
|
|
|
|
|
|
-Erik Andersen, 11 July 2000
|
|
|
|
|
|
0.45
|
|
* Now compiles vs libc5 (which can save lots of space for
|
|
embedded systems).
|
|
* Added CONFIG_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
|
|
CONFIG_FEATURE_SH_STANDALONE_SHELL is defined, all the busybox commands may
|
|
be invoked as shell internals. Best used when compiling staticly
|
|
(i.e. DOSTATIC=true)
|
|
* BusyBox sh (lash) internals now behave as expected wrt pipes
|
|
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 <proski@gnu.org>
|
|
* Fixed a warning in utility.c due to char being unsigned on Linux/PPC,
|
|
Fix thanks to Pavel Roskin <proski@gnu.org>
|
|
* Made "killall" complain (not error and exit) about processes that it
|
|
cannot find by name -- Pavel Roskin <proski@gnu.org>
|
|
* Fixed more and ps to have sensible terminal width defaults, thanks
|
|
to Pavel Roskin.
|
|
* Fixed all fatalError() calls lacking a "\n", thanks to Pavel Roskin.
|
|
* 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. Further fixes
|
|
and "--" support from Pavel Roskin.
|
|
* 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 CONFIG_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
|
|
* math was renamed to dc. Although it deviates from dc's behaviour,
|
|
this will probably be remedied in the future. -- John Beppu
|
|
|
|
|
|
-Erik Andersen, June 21, 2000
|
|
|
|
|
|
0.44
|
|
Previously, an erronous announcement of BusyBox 0.44 was made, so to
|
|
avoid possible confusion, we are skipping straight to 0.45, and calling
|
|
it good.
|
|
|
|
-Erik Andersen
|
|
|
|
|
|
0.43
|
|
* 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 CONFIG_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 <proski@gnu.org>:
|
|
- When `tail' fails to open a file it now exits.
|
|
- When `syslogd' is given the `-n' option it should still use
|
|
fork() for running klogd.
|
|
* 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 <proski@gnu.org>:
|
|
- Fixes to sort. Removed "-g", fixed and added "-r"
|
|
- Fixes to the makefile for handling "strip"
|
|
* An initial telnet implementation was added by
|
|
Randolph Chung <tausq@debian.org>.
|
|
* Fixed a bug where "sed 's/foo/bar/g'" (i.e. a script w/o a "-e")
|
|
* ps now supports CONFIG_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 CONFIG_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
|
|
CONFIG_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 <proski@gnu.org>:
|
|
- `chown' with 1 argument displayed the error incorrectly
|
|
- `fdflush', `length' and `printf' crashed if run without arguments
|
|
- `fdflush' tried to flush itself using *argv
|
|
- 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 CONFIG_TAR is defined, but also
|
|
if CONFIG_CP or CONFIG_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
|
|
CONFIG_FEATURE_INITRD but not CONFIG_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 default behavior you can
|
|
now do something about it. Init is much cleaner as a result.
|
|
* Fixed an bug in syslogd causing it to stop after 20 minutes. -erik
|
|
* Fixed an embarrasing segfault in head -beppu Fixed the embarrasing
|
|
* 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 CONFIG_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
|
|
CONFIG_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
|
|
* CONFIG_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 CONFIG_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 CONFIG_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 -- If you have any problems please let me know ASAP at
|
|
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 CONFIG_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 CONFIG_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. 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.
|
|
|