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