blob: b6662fbdaa4060196344e0937dbfe782eebb13a4 [file] [log] [blame]
Rob Landley589f5cd2010-01-05 10:41:52 -06001<!--#include file="header.html" -->
2
Rob Landleye258af32008-01-05 18:09:49 -06003<h2>News</h2>
Rob Landley571b0702012-11-13 16:13:45 -06004<hr><b>November 13, 2012</b>
5<blockquote><p>"Rule Six: The winning team shall be the first team that wins."
6- The Hitchhiker's Guide to the Galaxy.</p></blockquote>
7
8<p><a href=downloads/toybox-0.4.1.tar.bz2>Toybox 0.4.1</a> is based on
9<a href=http://landley.net/hg/toybox/shortlog/691>commit 691</a>.</p>
10
11<p>Elie De Brauwer contributed usleep, Ashwini Kumar contributed du, and
12Kyungwan Han contributed vconfig. Other new commands include switch_root and
13md5sum, and the remaining shell wrappers are now proper commands (dos2unix,
14unix2dos).</p>
15
16<p>The patch command now supports -l, and gethostname is now enabled by
17default. The df command follows symlinks to get the actual device name.
18Felix Janda added -m support to wc (for utf8).</p>
19
20<p>On the infrastructure side, the commands have now been grouped into
21"posix", "lsb", and "other" subdirectories (for things required by Posix-2008,
22the Linux Standard Base 4.1, and commands in neither). This affects menuconfig
23and the actual source layout (toys/cp.c is now toys/posix/cp.c, and so on).
24An android directory is planned (see the updated
25<a href=roadmap.html#android>android roadmap analysis</a>).</p>
26
27<p>The FLAG_ macros for command option parsing and TT alias for the command's
28global block are now automatically generated, commands should
29#define FOR_commandname before #including <toys.h> to get the macros for that
30command.</p>
31
32<p>An upgrade to the build infrastructure now allows commands with _ and -
33in them, such as switch_root.</p>
34
35<p>Bugfixes: Avery Pennarun spotted a case where ls showed uid twice instead of
36uid and gid, and that nice was using the wrong range of numbers.
37The ls command also recursed inappropriately last time (not quite
38properly converted for the dirtree changes last release), and now it's
39fixed. Roy Tam pointed out a glitch in sh, and fixed df's percentage
40calculation to match the POSIX spec. The kernel build didn't like our mktemp
41and it does now. The wc command wasn't quite posix compliant (trailing spaces
42break stuff). The ls command recursed inappropriately last time (not quite
43properly converted for the dirtree changes last release), and now it's
44fixed. The catv command wasn't displaying byte 255 correctly. Some lib
45fixes (thinko in xpidfile). Fixed uname -m when running a 32 bit x86 binary
46on an x86-64 host (it lies and says the system is i686, i586, or i486 depending
47on what the toolchain that built the binary supported. This makes builds in
48a 32 bit chroot on a 64 bit kernel break less.) The df command was checking
49partitions in the wrong order (displaying undermounts instead of overmounts:
50this used to work but some library code changed out from under it and it
51wasn't updated to match until now). Felix Janda filled out the test suite
52some more. The patch file creation logic got tweaked several times to
53successfully apply more patches. Support for older (pre 2.10) glibc
54versions was added to portability.h.</p>
55
56<p>Miscelaneous cleanups all around (mknod, sha1sum, logname), including a
57rewrite of taskset to be less dependent on libc getting the headers right. All
58the command headers should now point to the current relevant standards
59document, where applicable.</p>
60
61<p>This news page had old news entries from before the relaunch moved into
62a separate <a href=oldnews.html>oldnews</a> page.</p>
63
64<p>I forgot to create <a href=bin>static binaries</a> last time, but they're
65back now.</p>
66</span>
67
Rob Landley31103f92012-08-25 11:51:25 -050068<hr><b>July 23, 2012</b>
69<blockquote><p>"Ford", Arthur said. "There's an infinite number of monkeys
70out here who want to talk to us about this script for Hamlet they've worked
71out." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
72
Rob Landley571b0702012-11-13 16:13:45 -060073<p><a href=downloads/toybox-0.4.0.tar.bz2>Toybox 0.4.0</a> is based on
74<a href=http://landley.net/hg/toybox/shortlog/640>commit 640</a>.</p>
Rob Landley31103f92012-08-25 11:51:25 -050075
76<p>The new <a href=status.html>status page</a> is calculated from
77the roadmap info, and should be easier to keep up to date in future.</p>
78
79<p>Andre Renaud contributed od and modinfo. Elie De Brauwer contributed
80taskset, bugfixes to cmp and tail, and tests for sort and tail. Kyungwan Han
81contributed passwd. Gaurang Shastri contributed w. Ashwini Sharma spotted a
82case where dirtree was adding extra slashes to a path.</p>
83
84<p>I rewrote od, cleaned up comm, documented the
85<a href=code.html#lib_llist>llist</a> and
86<a href=code.html#lib_dirtree>dirtree</a> infrastructure, added an -r option
87to date (and fixed a bug where -u wouldn't override /etc/localtime),
88fixed bugs in chmod +stw, fixed ls to show suid bits properly when the
89corresponding executable bit wasn't set, and worked around a longstanding
90glibc bug where static linking prevents stdout from automatically flushing
91pending output on exit.</p>
92
Rob Landleyb1cc1d12012-06-25 06:42:24 -050093<hr><b>June 25, 2012</b>
94<blockquote><p>"For a moment, nothing happened. Then, after a second or so, nothing continued to happen." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
95
96<p><a href=downloads/toybox-0.3.1.tar.bz2>Toybox 0.3.1</a> is based on commit
97<a href=http://landley.net/hg/toybox/shortlog/607>commit 607</a>. It's
98mostly a bugfix release for ls -l (which was unhappy on targets other than
99x86-64), plus a new "date" from Andre Renaud and rewritten chgrp/chown which
100now support the full set of posix flags, plus a little work on the test
101suite and some more header tweaks towards eventual compatability with the
102musl libc.</p>
103
104<p>The todo list runneth over, but "release early, release often", so here
105it is. The roadmap and documentation are a bit behind, and I've got ~40
106pending submissions to review. I need to catch up...</p>
107</span>
108
109<hr><b>June 12, 2012</b>
110<blockquote><p>"For instance, on the planet Earth, man had always assumed that
111he was more intelligent than dolphins because he had achieved so much - the
112wheel, New York, wars and so on - whilst all the dolphins had ever done was
113muck about in the water having a good time. But conversely, the dolphins had
114always believed that they were far more intelligent than man - for precisely
115the same reasons." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
116
117<p>It's well past time for <a href=downloads/toybox-0.3.0.tar.bz2>toybox 0.3.0</a>,
118so here it is, based
119on <a href=http://landley.net/hg/toybox/shortlog/595>commit 595</a>, and the
120statically linked <a href=downloads/binaries>prebuilt binaries</a> should
121actually be statically linked this time (thanks Ashwini Sharma for spotting
122that).</p>
123
124<p>It's hard to figure out where to cut a release, because development
125doesn't stop. "Long before now" is the obviuos answer, of course.
126The project's maintainer also moved house during this development cycle, which
127threw things off for a bit (so many boxes). Releases should hopefully be a bit
128more frequent from here on.</p>
129
130<p>The big things Rob worked on this time were the new dirtree (directory
131tree traversal) infrastructure, and a complete rewrite of ls using that
132which should now implement all 26 posix options.</p>
133
134<p>Georgi Chorbadzhiyski added printenv, whoami, mkdir, mkfifo, chmod, chown,
135chgrp, and uniq. He also added fraction and extension support to sleep (so if
136you need a quarter-second sleep, it can do that now), and fixed a build bug
137on slackware.</p>
138
139<p>Daniel Walter contributed a string to mode_t parser (in use by chmod and
140mkdir -m). Ilya Kuzmich contributed comm. Elie De Brauwer added mountpoint,
141vmstat, logname, login, and mktemp. Kevin Chase did some portability cleanups.
142Pere Orga fixed some documentation.</p>
143
144<p>The "tac" and "clear" commands are now normal commands instead of shell
145wrappers, and the header #includes have been cleaned up a bit to remove
146deprecated functions and attempt to increase compatability with the bionic and
147musl C libraries, "tail" should now use lseek() for large files, and "id" got
148some cleanups and bugfixes.</p>
149
150<p>The new TOYBOX_FLOAT configuration option selects whether or not
151to include floating point support (for embedded targets where that's
152problematic).</p>
153
154<p>Several random bugfixes: unshare() might actually build portably now,
155yes 'n' | cp -i should no longer bypass stdin and prompt via the tty, the
156SUID support no longer drops permissions going through the toybox
157multiplexer command, and a bugfix to xargs -0 means it should no longer
158segfault. (I have a pending bug report about xargs not doing the full
159posix whitespace handling that -0 obsoleted, but I'll deal with that next
160release.)</p>
161
162<p>The build infrastructure is now automatically generating FLAG_ macros
163for the options, but currently with the wrong names. Some more macro glue
164is necessary, which I haven't quite figured out how to do yet.</p>
165
166<p>A defconfig toybox at the start of the $PATH has successfully built
167Linux From Scratch (in my Aboriginal Linux project). The commands that
168'default n' in the config are often still broken, cleanup is ongoing.
169(The new dirtree stuff broke several of them that haven't been converted
170yet, but if I wait until everything works we won't have a release before
1711.0, so here's a checkpoint.)</p>
172
173
Rob Landleyed6ed622012-03-06 20:49:03 -0600174<hr><b>March 3, 2012</b>
175
176<blockquote><p>"They went unnoticed at Goonhilly, passed over Cape Canaveral
177without a blip, and Woomera and Jodrell Bank looked straight through them.
178Which was a pity, because it was exactly the sort of thing they'd been looking
179for all these years."</p></p>- The Hitchhiker's Guide to the Galaxy.</p>
180</p></blockquote>
181
182<p>Here's <a href=downloads/toybox-0.2.1.tar.bz2>toybox 0.2.1</a> based
183on <a href=http://landley.net/hg/toybox/shortlog/512>commit 512</a>. This
184time around, there are statically linked <a href=downloads/binaries>prebuilt
185binaries</a> for various embedded targets.</p>
186
187<p>It's been a busy few weeks, almost entirely due to new contributors. (I
188have not quite been keeping up.)</p>
189
190<p>Elie De Brauwer contributed free, uptime, swapon, swapoff, lsmod, mknod,
191insmod, rmmod, and fixed a bug in basename. Andre Renaud contributed ls, ln,
192realpath, and hostname. Andres Heck contributed pidof and killall. Daniel
193Walter wrote kill and extended id. Timothy Elliott contributed tail and tests
194for cmp. Frank Bergmann sent a warning fix. Bryce Fricke added -i to cp.
195Nathan McSween pointed out an optimization. Georgi Chorbadzhiyski fixed
196cross compiling to work more reliably.</p>
197
198<p>(My own contribution this time around was just tightening up other people's
199code, a build fix to unshare, some random bugfixes, and so on. My only new
200code this time around was writing a bash replacement for the existing python
201bloat-o-meter.)</p>
202
203<p>Last time (the 0.2.0 release) included the first pass at an id command from
204Tim Bird, env and basename from Tryn Mirell, cmp and head from Timothy Elliott,
205more bugfixes from Nathan McSween and Elie De Brauwer, and Luis Felipe Strano
206Moraes did a first pass at the who command plus other bugfixes and
207optimizations.</p>
208
209<p>(For that release I did xargs, cal, truncate, unlink, nohup, tty, wc, link,
210dirname, unshare, and various infrastructure tweaks, but it took me 3 months
211and those guys did their stuff in a week or so.)</p>
212
Rob Landleye258af32008-01-05 18:09:49 -0600213
Rob Landleyd11ac702012-02-13 21:16:03 -0600214<hr><b>February 12, 2012</b>
215<blockquote><p>
216"for though it has many omissions and contains much that is apocryphal, or at
217least wildly inaccurate, it scores over the older, more pedestrian work in two
218important respects..."</p>
219<p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
220
221<p>Here's the first BSD licensed release,
222<a href=downloads/toybox-0.2.0.tar.bz2>toybox-0.2.0</a>, more a synchronization
223point than anything particularly useful. 47 commands in a reasonably
224ready-to-use state (what "make defconfig" builds), another ten or so partially
225finished stubs ("make allyesconfig"), and several
226patches pending on the mailing list I need to review and merge.</p>
227
228<p>More to come...</p>
229
Rob Landleyce8a2672012-02-02 07:27:05 -0600230<hr>
231<p><b>November 15, 2011</b> - Back from the dead, Toybox is now under a 2
232clause BSD license, and aiming to become the default command line
233implementation of Android systems everywhere.</p>
234
235<p>More to come...</p>
236
237<hr>
Rob Landley589f5cd2010-01-05 10:41:52 -0600238
Rob Landleyaba51702012-08-26 16:33:06 -0500239<p><a href=oldnews.html>Old news</a> from before the relaunch.</p>
Rob Landley589f5cd2010-01-05 10:41:52 -0600240
241<!--#include file="footer.html" -->