aboutsummaryrefslogtreecommitdiff
path: root/Changelog
diff options
context:
space:
mode:
Diffstat (limited to 'Changelog')
-rw-r--r--Changelog371
1 files changed, 201 insertions, 170 deletions
diff --git a/Changelog b/Changelog
index c3102ac4e..3a9d1ff5c 100644
--- a/Changelog
+++ b/Changelog
@@ -1,17 +1,15 @@
10.42 10.42
2 2
3 * changed fsck_minix.c to reduce its .bss size significantly
4 -beppu -piptigger
5 * Fairly massive restructuring of umount.c to deal with remounting 3 * Fairly massive restructuring of umount.c to deal with remounting
6 busy devices read-only. Adds a -r option to control that; it is 4 busy devices read-only. Adds a -r option to control that; it is
7 optionally compiled in with BB_FEATURE_REMOUNT 5 optionally compiled in with BB_FEATURE_REMOUNT
8 * Added a bunch of functions to mtab.c to interact with the 6 * Added a bunch of functions to mtab.c to interact with the
9 {get,set,end}mntent interface; as it turns out, those functions do 7 {get,set,end}mntent interface; as it turns out, those functions do
10 not appear to be re-entrant, and that causes a lot of problems with 8 not appear to be re-entrant, and that causes a lot of problems with
11 the way umount was originally written. 9 the way umount was originally written.
12 * Makes init send TERM and KILL (instead of HUP and KILL) on reboot 10 * Makes init send TERM and KILL (instead of HUP and KILL) on reboot
13 to be more consistent with sysvinit 11 to be more consistent with sysvinit
14 * Changes to init.c to use the new -r option to umount. Also increased 12 * Changes to init.c to use the new -r option to umount. Also increased
15 the sleep time between the time the TERM and KILL signals are sent 13 the sleep time between the time the TERM and KILL signals are sent
16 14
17 - Randolph Chung 15 - Randolph Chung
@@ -19,17 +17,19 @@
19 17
20 * cp.c, mv.c: removed, replaced by cp_mv.c which has been 18 * cp.c, mv.c: removed, replaced by cp_mv.c which has been
21 extensively rewritten from the original cp.c. 19 extensively rewritten from the original cp.c.
20 * Fixed cp and mv so if the source and destination are a the
21 same directory it will print an error and continue.
22 * Also added a warning message to the `mv' usage string saying that 22 * Also added a warning message to the `mv' usage string saying that
23 this is not GNU mv, and it will break hard links. cp also breaks 23 this is not GNU mv, and it will break hard links. cp also breaks
24 hard links. 24 hard links.
25 * ln.c: implemented `-n' switch, no-deref symlinks. 25 * ln.c: implemented `-n' switch, no-deref symlinks.
26 * include<sys/param.h>: and use PATH_MAX everywhere. 26 * include<sys/param.h>: and use PATH_MAX everywhere. busybox: File
27 * busybox: File name buffer overrun guards to prevent future crashes. 27 * name buffer overrun guards to prevent future crashes.
28 - Always check exit status. 28 - Always check exit status.
29 - Purge all use of `creat()', replace with `open()'. 29 - Purge all use of `creat()', replace with `open()'.
30 * utility.c 30 * utility.c
31 - recursiveAction was overriding the value of 31 - recursiveAction was overriding the value of followLinks thus
32 followLinks thus ignoring it. 32 ignoring it.
33 - isDirectory now takes a followLinks boolean, updated all callers 33 - isDirectory now takes a followLinks boolean, updated all callers
34 - copyFile had the followLinks logic reversed. 34 - copyFile had the followLinks logic reversed.
35 * messages.c: New file. Put common error message strings all in 35 * messages.c: New file. Put common error message strings all in
@@ -38,29 +38,31 @@
38 -Karl M. Hegbloom 38 -Karl M. Hegbloom
39 39
40 40
41 * Made tar creation support in busybox tar optional. 41 * changed fsck_minix.c to reduce its .bss size significantly
42 * You no longer _have_ to put a "-" in front of tar options. 42 -beppu -piptigger
43 * Tar could inadvertently change permissions and ownership on 43 * Made tar creation support in busybox tar optional. You no longer
44 * _have_ to put a "-" in front of tar options. Tar could inadvertently
45 * change permissions and ownership on
44 certain directories pointed to by symlinks. 46 certain directories pointed to by symlinks.
45 * Made grep and grep -h do the right thing wrt printing 47 * Made grep and grep -h do the right thing wrt printing
46 the file name (it failed to print files names in many cases). 48 the file name (it failed to print files names in many cases).
47 * Fix a namespace aliasing problem wereby if du was built in, the 49 * Fix a namespace aliasing problem wereby if du was built in, the
48 symlink for both du and dutmp would be installed, or then rm was 50 symlink for both du and dutmp would be installed, or then rm was
49 built in, the symlinks for both rm and rmmod would be installed. 51 built in, the symlinks for both rm and rmmod would be installed.
50 * Added a closelog() to init.c after loging -- fix thanks to 52 * Added a closelog() to init.c after loging -- fix thanks to
51 Taketoshi Sano <kgh12351@nifty.ne.jp> 53 Taketoshi Sano <kgh12351@nifty.ne.jp>
52 * Rewrote and simplified logger. Added the "-t" option, and made it 54 * Rewrote and simplified logger. Added the "-t" option, and made it
53 behave itself a bit better. 55 behave itself a bit better.
54 * Optional support contributed by Ben Collins <bcollins@debian.org> 56 * Optional support contributed by Ben Collins <bcollins@debian.org>
55 for the kernel init chroot patch by Werner Almesberger, which 57 for the kernel init chroot patch by Werner Almesberger, which
56 allows init to chroot to a new device, and umount the old one. 58 allows init to chroot to a new device, and umount the old one.
57 * Fixed bug that wouldn't let one chown a symlink -- it would 59 * Fixed bug that wouldn't let one chown a symlink -- it would
58 always dereference before. -beppu 60 always dereference before. -beppu
59 * Fixed a bug where init could have reference already freed memory. 61 * Fixed a bug where init could have reference already freed memory.
60 Found and fixed by Taketoshi Sano <kgh12351@nifty.ne.jp> 62 Found and fixed by Taketoshi Sano <kgh12351@nifty.ne.jp>
61 * Several contributions from Friedrich Vedder <fwv@myrtle.lahn.de> 63 * Several contributions from Friedrich Vedder <fwv@myrtle.lahn.de>
62 * Added (and documented) "-n" option for head - 64 * Added (and documented) "-n" option for head - Cleanup for a number of
63 * Cleanup for a number of usage messages -- also 65 * usage messages -- also
64 contributed Friedrich Vedder <fwv@myrtle.lahn.de> 66 contributed Friedrich Vedder <fwv@myrtle.lahn.de>
65 * Cosmetic fix to busybox.c (Don't print a comma at the 67 * Cosmetic fix to busybox.c (Don't print a comma at the
66 end of line if there are no more application names). 68 end of line if there are no more application names).
@@ -69,9 +71,9 @@
69 * Moved commonly used functions "xmalloc()" and "exit()" 71 * Moved commonly used functions "xmalloc()" and "exit()"
70 to utility.c (with proper #ifdef's). 72 to utility.c (with proper #ifdef's).
71 * Created a tiny tail implementation, removing -c, -q, -v, and making 73 * Created a tiny tail implementation, removing -c, -q, -v, and making
72 tail -f work only with a single file. This reduced tail 74 tail -f work only with a single file. This reduced tail from 6k to
73 from 6k to 2.4k. The bigger/more featured tail can still be 75 2.4k. The bigger/more featured tail can still be had by disabling
74 had by disabling BB_FEATURE_SIMPLE_TAIL in dusybox.defs.h 76 BB_FEATURE_SIMPLE_TAIL in dusybox.defs.h
75 * Ping now falls back to doing the right thing if /etc/protocols 77 * Ping now falls back to doing the right thing if /etc/protocols
76 turns up missing. 78 turns up missing.
77 * Fixed mount and umount. Previously they could leak loop device 79 * Fixed mount and umount. Previously they could leak loop device
@@ -83,15 +85,24 @@
83 files pointed to by the symlinks. 85 files pointed to by the symlinks.
84 * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>: 86 * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>:
85 - `chown' with 1 argument displayed the error incorrectly 87 - `chown' with 1 argument displayed the error incorrectly
86 - `fdflush', `length' and `printf' crashed when run without arguments 88 - `fdflush', `length' and `printf' crashed if run without arguments
87 - `fdflush' tried to flush itself using *argv 89 - `fdflush' tried to flush itself using *argv
88 - added "skip" and "seek" to dd. 90 - added "skip" and "seek" to dd.
89 * swapoff -a was not working. Now it is. 91 - ls no longer messus up output when combining files and
90 * init did not cleanly unmount filesystems on reboot. Now it does. 92 directories on the command line
91 * "sed -ne s/foo/bar/" worked but "sed -n -e s/foo/bar/" didn't. 93 * swapoff -a was not working. Now it is. init did not cleanly unmount
94 * filesystems on reboot. Now it does. "sed -ne s/foo/bar/" worked but
95 * "sed -n -e s/foo/bar/" didn't.
92 Now both work. 96 Now both work.
93 * Some architectures (PowerPc) assume chars are unsigned, so they could 97 * Some architectures (PowerPc) assume chars are unsigned, so they could
94 not distinguish between EOF and '\0xFF' in sed. Sed now uses ints. 98 not distinguish between EOF and '\0xFF' in sed. Sed now uses ints.
99 * Began converting error handling to use some common routines
100 in utility.c
101 * syslogd now has better message handling and ignores SIGHUP.
102 * install.sh had a bug preventing installation to the specified
103 target directory. Fix from Gilbert Coville <gilbert@mvista.com>
104 * You can now spefify alternative strip commands -- change
105 also from Gilbert Coville.
95 106
96 107
97 -Erik Andersen 108 -Erik Andersen
@@ -100,48 +111,49 @@
100 * New Apps: wc, hostid, logname, tty, whoami, yes -- all contributed 111 * New Apps: wc, hostid, logname, tty, whoami, yes -- all contributed
101 by Edward Betts <edward@debian.org> 112 by Edward Betts <edward@debian.org>
102 * Fixed a bug in both cp and mv preventing 'cp foo/README bar' 113 * Fixed a bug in both cp and mv preventing 'cp foo/README bar'
103 type commands (file in a directory to another directory) 114 type commands (file in a directory to another directory) from
104 from working. 115 working.
105 * Fixed a logger bug that caused garbage to be written to the syslog 116 * Fixed a logger bug that caused garbage to be written to the syslog
106 (unless you used busybox syslog, which hid the bug). Thanks 117 (unless you used busybox syslog, which hid the bug). Thanks to
107 to Alex Holden <alex@linuxhacker.org> for the fix. 118 Alex Holden <alex@linuxhacker.org> for the fix.
108 * /bin/true and /bin/false were echoing a blank line when run. Now fixed. 119 * /bin/true and /bin/false were echoing a blank line when run.
120 Now fixed.
109 * mkdir -p would print an error when asked to mkdir an existing dir 121 * mkdir -p would print an error when asked to mkdir an existing dir
110 with no interveining subdirectories. 122 with no interveining subdirectories.
111 * Fixed "syslogd -O" so that it works. 123 * Fixed "syslogd -O" so that it works. Added -o loop option for mount,
112 * Added -o loop option for mount, and support in umount for loop 124 * and support in umount for loop
113 devices. Support is toggled by MOUNT_LOOP feature -- Ben Collins 125 devices. Support is toggled by MOUNT_LOOP feature -- Ben Collins
114 <bcollins@debian.org> 126 <bcollins@debian.org>
115 * Several fixes from Marco Pantaleoni <panta@prosa.it> 127 * Several fixes from Marco Pantaleoni <panta@prosa.it> compile in
116 * compile in fullWrite() not only if BB_TAR is defined, but also 128 * fullWrite() not only if BB_TAR is defined, but also
117 if BB_CP or BB_MV are (fullWrite() is referenced by copyFile()) 129 if BB_CP or BB_MV are (fullWrite() is referenced by copyFile())
118 * add some compiler optimizations to further reduce executable size 130 * add some compiler optimizations to further reduce executable size
119 (as a side note, on my machines the largest code is generated by 131 (as a side note, on my machines the largest code is generated
120 gcc 2.95.2 with -Os ! The smallest by plain gcc 2.7.2.3 with -O2 132 by gcc 2.95.2 with -Os ! The smallest by plain gcc 2.7.2.3 with
121 -m386 ...) 133 -O2 -m386 ...)
122 * Compile no longer fails if busybox.def.h defines BB_FEATURE_LINUXRC 134 * Compile now won't fail if busybox.def.h defines
123 but not BB_INIT. (init_main used to be referenced, but not compiled) 135 BB_FEATURE_LINUXRC but not BB_INIT. (init_main used to be
136 referenced, but not compiled)
124 * Fixed a bug in setting TERM for serial console support. TERM now 137 * Fixed a bug in setting TERM for serial console support. TERM now
125 defaults to "ansi" for serial consoles. 138 defaults to "ansi" for serial consoles.
126 * Fixed a bug in handling the CONSOLE env. variable for serial consoles. 139 * Fixed a bug in handling the CONSOLE env. variable for serial
140 * consoles.
127 141
128 -Erik Andersen, Jan 15, 2000 142 -Erik Andersen, Jan 15, 2000
129 143
1300.40 1440.40
131 * New Apps: sort, uniq. -beppu 145 * New Apps: sort, uniq. -beppu New Apps: lsmod, rmmod -erik New Apps:
132 * New Apps: lsmod, rmmod -erik 146 * fbset contributed by Randolph Chung <tausq@debian.org>. New App::
133 * New Apps: fbset contributed by Randolph Chung <tausq@debian.org>. 147 * loadacm contributed by Peter Novodvorsky <petya@logic.ru>
134 * New App:: loadacm contributed by Peter Novodvorsky <petya@logic.ru>
135 for loading application character maps for Unicode fonts. 148 for loading application character maps for Unicode fonts.
136 * Major init re-work. init now supports inittab (slightly different 149 * Major init re-work. init now supports inittab (slightly different
137 but similar to sysvinit), allowing me to get all the policy out 150 but similar to sysvinit), allowing me to get all the policy out of
138 of init and into the conf file. It works just fine without inittab 151 init and into the conf file. It works just fine without inittab
139 being present, but if you dont like the defautl behavior you can 152 being present, but if you dont like the defautl behavior you can
140 now do something about it. Init is much cleaner as a result. 153 now do something about it. Init is much cleaner as a result.
141 * Fixed an bug in syslogd causing it to stop after 20 minutes. -erik 154 * Fixed an bug in syslogd causing it to stop after 20 minutes. -erik
142 * Fixed an embarrasing segfault in head -beppu 155 * Fixed an embarrasing segfault in head -beppu Fixed the embarrasing
143 * Fixed the embarrasing failure of 'logger -p'. -erik 156 * failure of 'logger -p'. -erik Added the -s option to du -beppu
144 * Added the -s option to du -beppu
145 * Re-worked the source tree a bit so it will compile under glibc 2.0.7 157 * Re-worked the source tree a bit so it will compile under glibc 2.0.7
146 with the 2.0.x Linux kernel. 158 with the 2.0.x Linux kernel.
147 * Added 'grep -q' thanks to a patch from "Konstantin Boldyshev" 159 * Added 'grep -q' thanks to a patch from "Konstantin Boldyshev"
@@ -151,19 +163,19 @@
151 * Fixed a bug where tar would set, and then clear SGID and SUID bits. 163 * Fixed a bug where tar would set, and then clear SGID and SUID bits.
152 * Fixed a bug where tar would not set the user and group on device 164 * Fixed a bug where tar would not set the user and group on device
153 special files. 165 special files.
154 * Fixed a bug where tar would not restore the time to files. 166 * Fixed a bug where tar would not restore the time to files. Fixed a
155 * Fixed a major security problem with tar -- it changed ownership 167 * major security problem with tar -- it changed ownership
156 of any file pointed to by a symlink to 777 (like say libc....) 168 of any file pointed to by a symlink to 777 (like say libc....)
157 Ouch!!! 169 Ouch!!!
158 * cp and mv were very broken when moving directories. I have rewritten 170 * cp and mv were very broken when moving directories. I have rewritten
159 them so they should now work as expected. 171 them so they should now work as expected.
160 * sed now supports addresses (numeric or regexp, with negation) and 172 * sed now supports addresses (numeric or regexp, with negation) and
161 has an append command, thanks to Marco Pantaleoni <panta@prosa.it> 173 has an append command, thanks to Marco Pantaleoni <panta@prosa.it>
162 * Fixed dmesg. It wasn't parsing its options (-n or -s) properly. 174 * Fixed dmesg. It wasn't parsing its options (-n or -s) properly.
163 * Some cosmetic fixes to ls output formatting to make it behave more 175 * Some cosmetic fixes to ls output formatting to make it behave more
164 like GNU ls. 176 like GNU ls.
165 * Fixed a stupid segfault in kill. 177 * Fixed a stupid segfault in kill. Several fixes from Friedrich Vedder
166 * Several fixes from Friedrich Vedder <fwv@myrtle.lahn.de>: 178 * <fwv@myrtle.lahn.de>:
167 - Added gunzip -t, removed gunzip.c dead code, 179 - Added gunzip -t, removed gunzip.c dead code,
168 - fixed several typos 180 - fixed several typos
169 - Glibc 2.0.7 and libc5 compile fixes 181 - Glibc 2.0.7 and libc5 compile fixes
@@ -175,25 +187,27 @@
1750.39 1870.39
176 * New Apps: ping, hostname, and mkfifo contributed by Randolph Chung 188 * New Apps: ping, hostname, and mkfifo contributed by Randolph Chung
177 <tausq@debian.org>. 3 items off the TODO list! 189 <tausq@debian.org>. 3 items off the TODO list!
178 * I wrote free (just calls "cat /proc/meminfo"). 190 * I wrote free (just calls "cat /proc/meminfo"). Added tail, based on
179 * Added tail, based on tail from GNU textutils-1.19, but adjusted 191 * tail from GNU textutils-1.19, but adjusted
180 to suit my evil purposes. Costs 6k. I'll make it smaller sometime. 192 to suit my evil purposes. Costs 6k. I'll make it smaller
193 sometime.
181 * on reboot, init called 'umount -a -n', which caused errors 194 * on reboot, init called 'umount -a -n', which caused errors
182 when BB_MTAB was not enabled. Changed to 'umount -a', 195 when BB_MTAB was not enabled. Changed to 'umount -a', which does
183 which does the right thing. 196 the right thing.
184 * init will now try to run /sbin/getty if it is present (for easy 197 * init will now try to run /sbin/getty if it is present (for easy
185 integration with the about-to-be-released tinylogin.) 198 integration with the about-to-be-released tinylogin.)
186 * kill now behaves itself properly, added 'kill -l' to list signals 199 * kill now behaves itself properly, added 'kill -l' to list signals 'ls
187 * 'ls -l' was failing on long directories, since my_getid was leaking 200 * -l' was failing on long directories, since my_getid was leaking
188 one file descriptor per file. Oops. 201 one file descriptor per file. Oops.
189 * Fixed rebooting from init. I'd accidently left some debugging code in 202 * Fixed rebooting from init. I'd accidently left some debugging code
203 * in
190 which blocked reboots. 204 which blocked reboots.
191 * Fixed reboot, halt (and added poweroff) such that they handle it when 205 * Fixed reboot, halt (and added poweroff) such that they handle it when
192 init is not at PID 1 (like when running in an initrd). 206 init is not at PID 1 (like when running in an initrd).
193 * Added a prelinary du implementation. Some parameter parsing 207 * Added a prelinary du implementation. Some parameter parsing
194 stuff still needs to be added. -beppu (John Beppu <beppu@lineo.com>) 208 stuff still needs to be added. -beppu (John Beppu
195 * Implemented tee. -beppu 209 <beppu@lineo.com>)
196 * Implemented head. -beppu 210 * Implemented tee. -beppu Implemented head. -beppu
197 211
198 -Erik Andersen, Dec 10, 1999 212 -Erik Andersen, Dec 10, 1999
199 213
@@ -201,7 +215,8 @@
201 * Fixed a segfault in 'umount -a' when a badly formed /etc/fstab 215 * Fixed a segfault in 'umount -a' when a badly formed /etc/fstab
202 file existed. 216 file existed.
203 * df will not exit on error, but will stat all mounted filesystems. 217 * df will not exit on error, but will stat all mounted filesystems.
204 * Fixed tar so uid/gid/permissions on extracted tarballs will be correct. 218 * Fixed tar so uid/gid/permissions on extracted tarballs will be
219 correct.
205 * Fixed find -name so it properly uses shell wildcard patterns 220 * Fixed find -name so it properly uses shell wildcard patterns
206 (i.e. `*', `?', and `[]') instead of regular expressions, which 221 (i.e. `*', `?', and `[]') instead of regular expressions, which
207 was causing some confusing and unexpected behavior. 222 was causing some confusing and unexpected behavior.
@@ -219,20 +234,25 @@
2190.37 2340.37
220 * Wrote a micro syslogd, and a logger util (to log things to the syslog 235 * Wrote a micro syslogd, and a logger util (to log things to the syslog
221 from the command line or scripts) With both compiled in, costs 4k. 236 from the command line or scripts) With both compiled in, costs 4k.
222 * Fixed 'make install' so symlinks are installed in their proper locations. 237 * Fixed 'make install' so symlinks are installed in their proper
223 * Changed the build system slightly so that features can now be enabled 238 * locations. Changed the build system slightly so that features can
224 or disabled from the busybox.defs.h header file, without trying to 239 * now be enabled
225 compile in a source file named after that featue (unless that file exists). 240 or disabled from the busybox.defs.h header file, without trying to
226 * Several options are now moved into busybox.defs.h 241 compile in a source file named after that featue (unless that file
227 * Now 'rm -R' and 'rm -r' both work. 242 exists).
228 * dd now properly handles input beyond 1 block from stdin. 243 * Several options are now moved into busybox.defs.h Now 'rm -R' and 'rm
229 * Fixed a bug where tar unpacked everything a directories. Moved some code 244 * -r' both work. dd now properly handles input beyond 1 block from
230 from createPath into mkdir where it belonged, thereby making tar work properly. 245 * stdin. Fixed a bug where tar unpacked everything a directories.
231 * Fixed an off-by-one bug in cat. Given a list of file it wouldn't cat out the 246 * Moved some code
247 from createPath into mkdir where it belonged, thereby making tar
248 work properly.
249 * Fixed an off-by-one bug in cat. Given a list of file it wouldn't cat
250 * out the
232 last file in the list. 251 last file in the list.
233 * Fixed 'ls -ln' so numeric group/uid are presented properly, and fixed 'ls -l' 252 * Fixed 'ls -ln' so numeric group/uid are presented properly, and fixed
234 so when uid/gid is not in /etc/{passwd,group} the numeric group/uid are 253 * 'ls -l'
235 presented properly. 254 so when uid/gid is not in /etc/{passwd,group} the numeric group/uid
255 are presented properly.
236 * Also added a TODO. 256 * Also added a TODO.
237 257
238 258
@@ -241,46 +261,53 @@
2410.36 2610.36
242 * fixed dd so it properly defaults to stdin and stdout when no 262 * fixed dd so it properly defaults to stdin and stdout when no
243 if= and of= are set (fix thanks to Eric Delaunay). 263 if= and of= are set (fix thanks to Eric Delaunay).
244 * Don't try to close the file descriptor of a pipein tar. (fix also from 264 * Don't try to close the file descriptor of a pipein tar. (fix also
265 * from
245 Eric Delaunay). 266 Eric Delaunay).
246 * Made createPath be quiet (again thanks to Eric Delaunay). 267 * Made createPath be quiet (again thanks to Eric Delaunay). If
247 * If BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS is defined, then whatever 268 * BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS is defined, then whatever
248 command you define it as will be run if the init script exits. 269 command you define it as will be run if the init script exits.
249 * Updated install.sh to make it more robust (thanks to Adam Di Carlo) 270 * Updated install.sh to make it more robust (thanks to Adam Di Carlo)
250 * NFS support added to mount by Eric Delaunay. It costs 10k when compiled 271 * NFS support added to mount by Eric Delaunay. It costs 10k when
272 * compiled
251 in, but that is still a big win for those that use NFS. 273 in, but that is still a big win for those that use NFS.
252 * Made 'rm -f' be silent for non-existant files (thanks to Eric Delaunay). 274 * Made 'rm -f' be silent for non-existant files (thanks to Eric
253 * changed zcat.c to gunzip.c. It now obeys the principle of least surprise 275 * Delaunay). changed zcat.c to gunzip.c. It now obeys the principle
254 and acts as god intended gunzip and zcat to act. They answer --help and 276 * of least surprise
255 obey the '-c' flag. 277 and acts as god intended gunzip and zcat to act. They answer
256 * Fixed a bug in mv which caused it to not move files when the destination 278 --help and obey the '-c' flag.
279 * Fixed a bug in mv which caused it to not move files when the
280 * destination
257 was a directory. 281 was a directory.
258 * Fixed a decimal-instead-of-octal bug causing mkdir to make directories 282 * Fixed a decimal-instead-of-octal bug causing mkdir to make
283 * directories
259 with very wrong permissions. 284 with very wrong permissions.
260 * chmod would overwrite file permissions instead of modifying them. 285 * chmod would overwrite file permissions instead of modifying them.
261 Now it properly modifies permissions. 286 Now it properly modifies permissions.
262 * Init now sends warnings destined for the console to /dev/console to ensure 287 * Init now sends warnings destined for the console to /dev/console to
263 they show up on whatever the active console it. Otherwise important 288 * ensure
264 messages (for example that the system is rebooting) were not seen when 289 they show up on whatever the active console it. Otherwise
265 switched to a different VT. 290 important messages (for example that the system is rebooting) were
291 not seen when switched to a different VT.
266 292
267 -Erik Andersen, Nov 17, 1999 293 -Erik Andersen, Nov 17, 1999
268 294
2690.35 2950.35
270 * gzip now obeys the principle of least surprise and acts like god intended 296 * gzip now obeys the principle of least surprise and acts like god
271 (i.e. it accepts a file name, answers --help, and obeys the '-c' flag 297 * intended
272 and only then outputs to stdout). 298 (i.e. it accepts a file name, answers --help, and obeys the '-c'
299 flag and only then outputs to stdout).
273 * Fixed more.c to compile autowidth on sparc and set initial winsize 300 * Fixed more.c to compile autowidth on sparc and set initial winsize
274 to 0,0 in case the TIOCGWINSZ ioctl fails. Fix thanks to Eric Delaunay. 301 to 0,0 in case the TIOCGWINSZ ioctl fails. Fix thanks to Eric
302 Delaunay.
275 * Fixed tar so it now works as expected (it had TRUE/FALSE backwards) 303 * Fixed tar so it now works as expected (it had TRUE/FALSE backwards)
276 * tar now accepts --help 304 * tar now accepts --help chmod, chown, and chgrp usage now works
277 * chmod, chown, and chgrp usage now works 305 * General usage (i.e. --help) cleanups for most apps umount now parses
278 * General usage (i.e. --help) cleanups for most apps 306 * options correctly tar can now unpack tarballs containing device
279 * umount now parses options correctly 307 * special files,
280 * tar can now unpack tarballs containing device special files, 308 sockets, and fifos (though it can't pack them up) thanks to Matt
281 sockets, and fifos (though it can't pack them up) thanks 309 Porter. Creating archives containing these is still left to the
282 to Matt Porter. Creating archives containing these is still 310 interested student.
283 left to the interested student.
284 * fixed up the license in more.c to properly point to Bruce Perens. 311 * fixed up the license in more.c to properly point to Bruce Perens.
285 312
286 -Erik Andersen, Nov 11, 1999 313 -Erik Andersen, Nov 11, 1999
@@ -290,17 +317,17 @@
290 Patch thanks to Eric Delaunay 317 Patch thanks to Eric Delaunay
291 * init now properly handles sparc serial consoles and does a 318 * init now properly handles sparc serial consoles and does a
292 better job of finding the real console device rather than using 319 better job of finding the real console device rather than using
293 /dev/console which doesn't support job control. Patch also 320 /dev/console which doesn't support job control. Patch also thanks
294 thanks to Eric Delaunay. 321 to Eric Delaunay.
295 * more started to read from stdin after the last file was finished, and 322 * more started to read from stdin after the last file was finished, and
296 options were not parsed correctly (fix thanks to Eric Delaunay). 323 options were not parsed correctly (fix thanks to Eric Delaunay).
297 * more will now use the terminal size if BB_FEATURE_AUTOWIDTH is on. 324 * more will now use the terminal size if BB_FEATURE_AUTOWIDTH is on.
298 * rm wouldn't remove a symlink unless the symlink was valid. This was 325 * rm wouldn't remove a symlink unless the symlink was valid. This was
299 a side effect of the busybox 0.32 recursiveAction() fix. Things 326 a side effect of the busybox 0.32 recursiveAction() fix. Things
300 should now work correctly. 327 should now work correctly.
301 * grep wouldn't grep stdin. Now it does. 328 * grep wouldn't grep stdin. Now it does. sed wouldn't sed stdin. Now
302 * sed wouldn't sed stdin. Now it does. 329 * it does. sed was appending a \n to the end of lines with
303 * sed was appending a \n to the end of lines with replacements. 330 * replacements.
304 Now it doesn't do that. 331 Now it doesn't do that.
305 * ls -l now bypasses libc6 nss when displaying user/group names. 332 * ls -l now bypasses libc6 nss when displaying user/group names.
306 Now uses my_getpwuid and my_getgrgid. 333 Now uses my_getpwuid and my_getgrgid.
@@ -321,45 +348,45 @@
321 348
3220.32 3490.32
323 * More changes -- many thanks to Lineo for paying me to work on 350 * More changes -- many thanks to Lineo for paying me to work on
324 busybox. If you have any problems please let me know ASAP 351 busybox. If you have any problems please let me know ASAP at
325 at andersen@lineo.com or andersee@debian.org 352 andersen@lineo.com or andersee@debian.org
326 * usage() now prints the BusyBox version. This will help folks 353 * usage() now prints the BusyBox version. This will help folks
327 realize that they are not in Kansas anymore. 354 realize that they are not in Kansas anymore.
328 * Fixed mkdir -m option so that it works. 355 * Fixed mkdir -m option so that it works. kill segfaulted w/o any
329 * kill segfaulted w/o any arguments. Now it doesn't do that. 356 * arguments. Now it doesn't do that. kill wasn't properly accepting
330 * kill wasn't properly accepting signal names. It does now. 357 * signal names. It does now. Added new apps chvt and deallocvt (I
331 * Added new apps chvt and deallocvt (I should probably add open) 358 * should probably add open) Major rewrite of init.c. Code is now
332 * Major rewrite of init.c. Code is now readable by mere mortals IMHO. 359 * readable by mere mortals IMHO. Wrote sed -- weighs only 1.8k (5.8k
333 * Wrote sed -- weighs only 1.8k (5.8k with full regular expressions!). 360 * with full regular expressions!). Fixed a stupid seg-fault in sync
334 * Fixed a stupid seg-fault in sync 361 * Fixed mount -- mount -a failed to parse and apply mount options Fixed
335 * Fixed mount -- mount -a failed to parse and apply mount options 362 * umount -n (patch thanks to Matthew Grant <grantma@anathoth.gen.nz>)
336 * Fixed umount -n (patch thanks to Matthew Grant <grantma@anathoth.gen.nz>) 363 * umount -a no longer umounts /proc Added BB_MTAB, allowing (at the
337 * umount -a no longer umounts /proc 364 * cost of ~1.5k and the need for a rw /etc)
338 * Added BB_MTAB, allowing (at the cost of ~1.5k and the need for a rw /etc) 365 folks to use a real /etc/mtab file instead of a symlink to
339 folks to use a real /etc/mtab file instead of a symlink to /proc/mounts. 366 /proc/mounts. mount, and umount will add/remove entries and df
340 mount, and umount will add/remove entries and df will now use /etc/mtab 367 will now use /etc/mtab if BB_MTAB is defined.
341 if BB_MTAB is defined.
342 * Fixed a nice bug in recursiveAction() which caused it to infinitely 368 * Fixed a nice bug in recursiveAction() which caused it to infinitely
343 hunt through /proc/../fd/* creating new file descriptors if it 369 hunt through /proc/../fd/* creating new file descriptors if it
344 followed the /dev/fd link over to /proc. recursiveAction() now 370 followed the /dev/fd link over to /proc. recursiveAction() now
345 lstat's the file when followLinks==FALSE so it won't follow links 371 lstat's the file when followLinks==FALSE so it won't follow links
346 as the name suggests. Fix thanks to Matt Porter <porter@debian.org>. 372 as the name suggests. Fix thanks to Matt Porter
373 <porter@debian.org>.
347 374
348 375
349 -Erik Andersen, Nov 4, 1999 376 -Erik Andersen, Nov 4, 1999
350 377
3510.31 3780.31
352 * I added a changelog for version 0.30. 379 * I added a changelog for version 0.30. adjusted find internals to
353 * adjusted find internals to make it smaller, and removed 380 * make it smaller, and removed
354 some redundancy. 381 some redundancy.
355 * Fixed a segfault in ps when /etc/passwd or /etc/group 382 * Fixed a segfault in ps when /etc/passwd or /etc/group
356 are absent. Now will warn you and carry on. 383 are absent. Now will warn you and carry on.
357 * Added in optional _real_ regular expression support (to be 384 * Added in optional _real_ regular expression support (to be
358 the basis for a future sed utility). When compiled in 385 the basis for a future sed utility). When compiled in it adds
359 it adds 3.9k, but makes grep much more capable. 386 3.9k, but makes grep much more capable.
360 * Checked out using nftw(3) for recursive stuff, but unfortunatly 387 * Checked out using nftw(3) for recursive stuff, but unfortunatly
361 it wasn't supported before GNU libc 2.1, and some folks use 388 it wasn't supported before GNU libc 2.1, and some folks use glibc
362 glibc 2.0.7 since it is much smaller than that latest and greatest. 389 2.0.7 since it is much smaller than that latest and greatest.
363 390
364 -Erik Andersen, Oct 21, 1999 391 -Erik Andersen, Oct 21, 1999
365 392
@@ -373,8 +400,8 @@
373 * busybox can now invoke apps in two ways: via symlinks to the 400 * busybox can now invoke apps in two ways: via symlinks to the
374 busybox binary, and as 'busybox [function] [arguments]...' 401 busybox binary, and as 'busybox [function] [arguments]...'
375 * When invoked as busybox, the list of currently compiled in 402 * When invoked as busybox, the list of currently compiled in
376 functions is printed out (no this is not bloat -- the list 403 functions is printed out (no this is not bloat -- the list has
377 has to be there anyway to map invocation name to function). 404 to be there anyway to map invocation name to function).
378 * busybox no longer parses command lines for apps or displays their 405 * busybox no longer parses command lines for apps or displays their
379 usage info. Each app gets to handle (or not handle) this for 406 usage info. Each app gets to handle (or not handle) this for
380 itself. 407 itself.
@@ -385,9 +412,9 @@
385 * All shared code now lives in utility.c, and is properly 412 * All shared code now lives in utility.c, and is properly
386 ifdef'ed to be only included for those apps requiring it. 413 ifdef'ed to be only included for those apps requiring it.
387 * Eliminated struct FileInfo (the basis of monadic, dyadic, etc) 414 * Eliminated struct FileInfo (the basis of monadic, dyadic, etc)
388 so now each app has the function prototype of (da-dum): 415 so now each app has the function prototype of (da-dum): extern
389 extern int foo_main(int argc, char** argv); 416 int foo_main(int argc, char** argv); which speeds integration
390 which speeds integration of new apps. 417 of new apps.
391 * Adjusted the Makefile to make it easier to 418 * Adjusted the Makefile to make it easier to
392 {en|dis}able debugging. 419 {en|dis}able debugging.
393 * Changed default compiler optimization to -Os 420 * Changed default compiler optimization to -Os
@@ -396,39 +423,43 @@
396 App Changes: 423 App Changes:
397 * To cope with the new app function prototype and the removal of 424 * To cope with the new app function prototype and the removal of
398 monadic, dyadic, etc, the following apps were re-written: 425 monadic, dyadic, etc, the following apps were re-written:
399 * cat - Works same as always. 426 * cat - Works same as always. chgrp, chmod, chown -
400 * chgrp, chmod, chown - rewrite. Combined into a single 427 * rewrite. Combined into a single
401 source file. Absorbed patches from Enrique Zanardi <ezanard@debian.org> 428 source file. Absorbed patches from Enrique Zanardi
402 that removes the dependency on libc6 libnss* libraries. 429 <ezanard@debian.org> that removes the dependency on
430 libc6 libnss* libraries.
403 * cp - Can now do 'cp -a' can can copy devices, 431 * cp - Can now do 'cp -a' can can copy devices,
404 pipes, symlinks, as well as recursive or non-recursive dir copies. 432 pipes, symlinks, as well as recursive or non-recursive
405 * fdflush - adjusted to remove dependancy on struct FileInfo. 433 dir copies.
406 * find - Now includes some basic regexp matching 434 * fdflush - adjusted to remove dependancy on struct
435 * FileInfo. find - Now includes some basic regexp matching
407 which will be the basic of a future mini-sed. 436 which will be the basic of a future mini-sed.
408 * ln - Same functionality. 437 * ln - Same functionality. mkdir - Added -p flag to
409 * mkdir - Added -p flag to feature set. 438 * feature set. mv - rewrite. rm - Added -f flag to
410 * mv - rewrite. 439 * feature set. rmdir - Same functionality. swapon,
411 * rm - Added -f flag to feature set. 440 * swapoff - Combined into a single binary. No longer
412 * rmdir - Same functionality. 441 uses /etc/swaps. swap{on|off} -a uses /etc/fstab
413 * swapon, swapoff - Combined into a single binary. No longer 442 instead.
414 uses /etc/swaps. swap{on|off} -a uses /etc/fstab instead. 443 * touch - Same functionality. date - adjusted with a patch
415 * touch - Same functionality. 444 * from Matthew Grant <grantma@anathoth.gen.nz>
416 * date - adjusted with a patch from Matthew Grant <grantma@anathoth.gen.nz> 445 to accomodate glibc timezone support. I then ripped out GNU
417 to accomodate glibc timezone support. I then ripped out GNU getopt. 446 getopt.
418 * mkswap -- new version merged from util-linux. Can now make >128Meg swaps. 447 * mkswap -- new version merged from util-linux. Can now make
419 * Replaced the old and star, unstar, and tarcat with the tar 448 * >128Meg swaps. Replaced the old and star, unstar, and tarcat
420 implementation from sash. Now tar behaves as god intended 449 * with the tar
421 it to (i.e. tar -xvf <file> and tar -cf <file> <dir> work). 450 implementation from sash. Now tar behaves as god intended it
422 * dd -- rewritten. Can with with files, stdin, stdout. 451 to (i.e. tar -xvf <file> and tar -cf <file> <dir> work).
423 * Added the following new apps: 452 * dd -- rewritten. Can with with files, stdin, stdout. Added the
424 * loadfont -- added from debian boot floppies 453 * following new apps: loadfont -- added from debian boot floppies
425 * chroot -- added based on a patch from Paolo Molaro <lupus@lettere.unipd.it> 454 * chroot -- added based on a patch from Paolo Molaro
426 * grep -- I just wrote it. Only matches simple strings 455 * <lupus@lettere.unipd.it> grep -- I just wrote it. Only matches
427 * ps -- I just wrote it. Has _no_ options at all, but works. 456 * simple strings ps -- I just wrote it. Has _no_ options at all,
428 * fsck_minix, mkfs_minix -- added from util-linux, but I ripped out 457 * but works. fsck_minix, mkfs_minix -- added from util-linux, but
458 * I ripped out
429 internationalization and such to make them smaller. 459 internationalization and such to make them smaller.
430 * sfdisk -- Added from util-linux (minus internationalization and such). 460 * sfdisk -- Added from util-linux (minus
431 * Probably some other changes that I forgot to document... 461 * internationalization and such). Probably some other
462 * changes that I forgot to document...
432 463
433 -Erik Andersen, Oct 20, 1999 464 -Erik Andersen, Oct 20, 1999
434 465