10f66f451Sopenharmony_ci<html><head><title>toybox: old news</title>
20f66f451Sopenharmony_ci<!--#include file="header.html" -->
30f66f451Sopenharmony_ci
40f66f451Sopenharmony_ci<h2>Old News</h2>
50f66f451Sopenharmony_ci
60f66f451Sopenharmony_ci<p>This project <a href=http://lists.busybox.net/pipermail/busybox/2006-September/024794.html>started in 2006</a>, got mothballed in 2009
70f66f451Sopenharmony_ci<a href=http://landley.net/notes-2009.html#18-06-2009>for</a>
80f66f451Sopenharmony_ci<a href=http://landley.net/notes-2011.html#31-03-2011>various</a>
90f66f451Sopenharmony_ci<a href=http://landley.net/notes-2011.html#08-06-2011>reasons</a>
100f66f451Sopenharmony_ci(during which time I
110f66f451Sopenharmony_ci<a href=http://lists.busybox.net/pipermail/busybox/2010-March/071783.html>contributed</a>
120f66f451Sopenharmony_cisome toybox code and design ideas to busybox</a> but retained the copyrights to
130f66f451Sopenharmony_cimy work), then <a href=http://landley.net/notes-2011.html#13-11-2011>relaunched</a>
140f66f451Sopenharmony_ciunder a 2-clause BSD license in 2011.
150f66f451Sopenharmony_ciThe following news entries predate that relaunch:</p>
160f66f451Sopenharmony_ci
170f66f451Sopenharmony_ci<hr>
180f66f451Sopenharmony_ci<p><b>December 1, 2009</b> - <a href=downloads/toybox-0.1.0.tar.bz2>toybox-0.1.0</a> is out.</p>
190f66f451Sopenharmony_ci
200f66f451Sopenharmony_ci<p>This release is a couple build fixes and another bugfix to patch.</p>
210f66f451Sopenharmony_ci
220f66f451Sopenharmony_ci<hr>
230f66f451Sopenharmony_ci<p><b>April 17, 2009</b> - Another bugfix release,
240f66f451Sopenharmony_ci<a href=downloads/toybox-0.0.9.2.tar.bz2>toybox-0.0.9.2</a>, off by one allocation error in patch.</p>
250f66f451Sopenharmony_ci
260f66f451Sopenharmony_ci<p>(Darn fiddly command, innit?)</p>
270f66f451Sopenharmony_ci
280f66f451Sopenharmony_ci<hr>
290f66f451Sopenharmony_ci<p><b>March 29, 2009</b> - Released
300f66f451Sopenharmony_ci<a href=downloads/toybox-0.0.9.1.tar.bz2>toybox 0.0.9.1</a> which is a bugfix
310f66f451Sopenharmony_cirelease for issues with the patch command.</p>
320f66f451Sopenharmony_ci
330f66f451Sopenharmony_ci<p>The project is currently on hold while the developers learn Lua and
340f66f451Sopenharmony_cidecide whether or not to port the whole thing to that language.
350f66f451Sopenharmony_ci(Also note: the mailing list moved.  See the links on the left.  You'll
360f66f451Sopenharmony_cihave to resubscribe.)</p>
370f66f451Sopenharmony_ci
380f66f451Sopenharmony_ci<hr>
390f66f451Sopenharmony_ci<p><b>January 29, 2009</b> - Released
400f66f451Sopenharmony_ci<a href=downloads/toybox-0.0.9.tar.bz2>toybox 0.0.9.tar.bz2</a> which is a minor packaging
410f66f451Sopenharmony_cifix for 0.0.8.  (The previous release tarball contained a prebuilt x86-64
420f66f451Sopenharmony_cikconfig/conf file, because the release script ran defconfig to
430f66f451Sopenharmony_cipregenerate help.h, and didn't run make clean afterwards.)  The actual source
440f66f451Sopenharmony_cicode is identical to the previous release.</p>
450f66f451Sopenharmony_ci
460f66f451Sopenharmony_ci<hr>
470f66f451Sopenharmony_ci<p><b>January 20, 2009</b> - <a href=downloads/toybox-0.0.8.tar.bz2>toybox 0.0.8</a>
480f66f451Sopenharmony_ciadds the uname, cksum, and mkswapfs commands.</p>
490f66f451Sopenharmony_ci
500f66f451Sopenharmony_ci<p>This uname implementation is cross compile friendly: when built as a 32 bit
510f66f451Sopenharmony_cibinary on an x86_64 host, it reports "i686" to confuse autoconf less.</p>
520f66f451Sopenharmony_ci
530f66f451Sopenharmony_ci<p>This cksum has several extra command line options which can be used to
540f66f451Sopenharmony_ciproduce different cksum variants based on the same crc32 algorithm.  For
550f66f451Sopenharmony_ciexample, the broadcom "trx" image packaging uses a little endian crc,
560f66f451Sopenharmony_cipre-inverted instead of post-inverted, and does not include the length.
570f66f451Sopenharmony_ci(Without these arguments, it produces the normal SUSv4 cksum output.)</p>
580f66f451Sopenharmony_ci
590f66f451Sopenharmony_ci<p>It also upgrades netcat with a server mode (-l option) and fixes several
600f66f451Sopenharmony_cinetcat bugs.  It also fixed multiple bugs in "patch", works around a
610f66f451Sopenharmony_cireiserfs bug in cp, and oneit can reboot on exit more reliably.</p>
620f66f451Sopenharmony_ci
630f66f451Sopenharmony_ci<p><b>November 12, 2008</b> -
640f66f451Sopenharmony_ci<a href=downloads/toybox-0.0.7.tar.bz2>toybox 0.0.7</a>
650f66f451Sopenharmony_ciadds sort and tee commands, upgrades the internal option parsing logic and the
660f66f451Sopenharmony_citest suite, and numerous bugfixes (bunzip, chroot, cat, patch).</p>
670f66f451Sopenharmony_ci
680f66f451Sopenharmony_ci<p><b>May 26, 2008</b> - <a href=downloads/toybox-0.0.6.tar.bz2>toybox 0.0.6</a>
690f66f451Sopenharmony_ciadds cat, rmdir, and seq.  Bugfixes to cp and a new -v option.  Updates mdev to
700f66f451Sopenharmony_ciwork with the 2.6.25 kernel.  Updates patch to knows that a file dated
710f66f451Sopenharmony_ci1969-12-31 means it doesn't exist, and to fail if a file it needs to create
720f66f451Sopenharmony_cialready exists.  Command line option parsing can now handle things like "echo
730f66f451Sopenharmony_ci-nex" vs "echo -ne".  Several updates to the test suite (run scripts/test.sh),
740f66f451Sopenharmony_ciand some build fixes.</p>
750f66f451Sopenharmony_ci
760f66f451Sopenharmony_ci<p>
770f66f451Sopenharmony_ci<hr>
780f66f451Sopenharmony_ci<p><b>March 29, 2008</b> -
790f66f451Sopenharmony_ciTime to release <a href=downloads/toybox-0.0.5.tar.bz2>toybox 0.0.5</a>, with
800f66f451Sopenharmony_cinew commands cp and chvt and several bugfixes.</p>
810f66f451Sopenharmony_ci
820f66f451Sopenharmony_ci<p>More makefile targets: "make test" runs the test suite (which needs more test
830f66f451Sopenharmony_ciscripts), and make install/install_flat/uninstall/uninstall_flat calls
840f66f451Sopenharmony_cimake/install.sh (with options --long --symlink --force --uninstall depending
850f66f451Sopenharmony_cion the context).</p>
860f66f451Sopenharmony_ci
870f66f451Sopenharmony_ci<p>Most of the work has been behind the scenes, namely a significant rewrite of
880f66f451Sopenharmony_cithe build logic so adding each new command consists of adding a single C file to
890f66f451Sopenharmony_cithe "toys" directory, eliminating the need to touch any other files.
900f66f451Sopenharmony_ciThere are specially formatted comments at the top of the C file to generate
910f66f451Sopenharmony_cithe other files, see toys/hello.c for an example.  (See generated/README.txt
920f66f451Sopenharmony_ciand <a href=code.html>code.html</a> for details.)</p>
930f66f451Sopenharmony_ci
940f66f451Sopenharmony_ci<p><b>January 2, 2008</b> - And <a href=downloads/toybox-0.0.4.tar.bz2>toybox-0.0.4.tar.bz2</a> is out.
950f66f451Sopenharmony_ciThe new applets this time around include basename, chroot, dirname, dmesg,
960f66f451Sopenharmony_cihelp, mkfifo, netcat, patch, sha1sum, touch, and tty.</p>
970f66f451Sopenharmony_ci
980f66f451Sopenharmony_ci<p>Note that this "touch" includes -l to set the length, which can truncate
990f66f451Sopenharmony_cia file or create a commpletely sparse file, good for filesystem images.</p>
1000f66f451Sopenharmony_ci
1010f66f451Sopenharmony_ci<p>Expect the next release in about 6 months.</p>
1020f66f451Sopenharmony_ci
1030f66f451Sopenharmony_ci<p><b>December 12, 2007</b> - Updated the list of implemented applications,
1040f66f451Sopenharmony_ciput up a <a href=todo.txt>todo list</a> and <a href=code.html>infrastructure
1050f66f451Sopenharmony_cidocumentation</a>.  Expect another release towards the end of the month.</p>
1060f66f451Sopenharmony_ci
1070f66f451Sopenharmony_ci<p><b>June 18, 2007</b> - Put out
1080f66f451Sopenharmony_ci<a href=downloads/toybox-0.0.3.tar.bz2>toybox-0.0.3.tar.bz2</a> since it's
1090f66f451Sopenharmony_cibeen too long since I did something like that.  This one implements
1100f66f451Sopenharmony_cicatv, count, df, echo, false, oneit, pwd, sleep, sync, toysh, true, which,
1110f66f451Sopenharmony_ciand yes (which is what "make defconfig" enables).  There are several other
1120f66f451Sopenharmony_cicommands not enabled by defconfig, because they don't really work yet.</p>
1130f66f451Sopenharmony_ci
1140f66f451Sopenharmony_ci<p>Most of the general infrastructure's there now, although lots of tweaking
1150f66f451Sopenharmony_ciand optimizing is still needed.  The test suite is skeletal and not entirely
1160f66f451Sopenharmony_cichecked in yet, but I'm working on that.</p>
1170f66f451Sopenharmony_ci
1180f66f451Sopenharmony_ci<p>I don't have nearly as much time to work on this as I'd like, but I'm making
1190f66f451Sopenharmony_cia little progress.</p>
1200f66f451Sopenharmony_ci
1210f66f451Sopenharmony_ci<p><b>January 31, 2007</b> -
1220f66f451Sopenharmony_ciToybox <a href=downloads/toybox-0.0.2.tar.bz2>0.0.2 release</a>.
1230f66f451Sopenharmony_ciImplements count, yes, pwd, echo, bzcat, catv, oneit, and an unfinished
1240f66f451Sopenharmony_ciskeleton of mke2fs.  Adds argument parsing logic and bunzip code to library.
1250f66f451Sopenharmony_ciNow configured with menuconfig.  Adds "make baseline" and "make bloatcheck"
1260f66f451Sopenharmony_ciusing Matt Mackall's bloat-o-meter, and scripts/showasm.</p>
1270f66f451Sopenharmony_ci
1280f66f451Sopenharmony_ci<p>Screwing up the web page a bit, adding an index bar along the side
1290f66f451Sopenharmony_ciwhich doesn't properly connect up to anything yet.  (Busy implementing
1300f66f451Sopenharmony_cimke2fs and gene2fs.)</p>
1310f66f451Sopenharmony_ci
1320f66f451Sopenharmony_ci<p><b>October 30, 2006</b> -
1330f66f451Sopenharmony_ciToybox <a href=downloads/toybox-0.0.1.tar.bz2>0.0.1 release</a>.  Implements
1340f66f451Sopenharmony_cidf, a skeletal toysh, and some library functions.  Proof of concept, really.</p>
1350f66f451Sopenharmony_ci
1360f66f451Sopenharmony_ci<p><b>September 7, 2006</b> -
1370f66f451Sopenharmony_ciProject launched, first commit to mercurial archive.</p>
1380f66f451Sopenharmony_ci
1390f66f451Sopenharmony_ci<!--#include file="footer.html" -->
140