| <!--#include file="header.html" --> |
| |
| <h2>News</h2> |
| <hr><b>January 18, 2013</b> |
| <blockquote><p>This must be Thursday. I never could get the hang of Thursdays. - The Hitchhiker's Guide to the Galaxy.</p></blockquote> |
| |
| <p><a href=downloads/toybox-0.4.3.tar.bz2>Toybox 0.4.3</a> is based on |
| <a href=http://landley.net/hg/toybox/shortlog/793>commit 793</a>. There |
| are now exactly 100 commands in defconfig (of a little over 220 on the |
| <a href=roadmap.html>todo list</a>).</p> |
| |
| <p>Elie De Brauwer added the rev command, cleaned up tac, implemented the -s |
| and -f flags for seq, added -v and -i to killall (and fixed killall not to |
| kill itself before finishing its pid list), and added to the test suite. |
| Felix Janda added -m to mkdir, pwd -L and -P, and more test suite entries.</p> |
| |
| <p>Rob Landley added the losetup command, and fixed the existing ls, cp, and |
| readlink commands. The segfault in ls |
| happened when it couldn't determine the screen size (last release changed the |
| default to -C and a screen size of 0 made column view unhappy), and cp got an |
| extensive rewrite bringing it up to date with the dirtree changes and fixing |
| a number of things it never did right in the first place. The xabspath() |
| code in the library now handles a symlink after ".." properly (and the test |
| suite checks for it).</p> |
| |
| <p>Infrastructure-wise the code is better about automatically setting the |
| error return code properly. Now error_msg() sets the exit code to 1 if it's |
| still defaulting to 0, and the global exit path does a fflush(NULL) with error |
| bit check rather than trying to be quite so granular about flushing. (That |
| means if we use printf() instead of xprintf() it still exits with the right |
| error code, it just doesn't end the program early on an output error.) |
| Minor bugfix so TOYBOX_DEBUG |
| doesn't always warn about the lack of suid bit when toybox is built with |
| at least one STAYROOT command. Bugfix for the option [grouping] logic |
| (and then further fixes to the error reporting pointed out by Ashwini Sharma). |
| dirtree_handle_callback() now has a prefix like the rest of the dirtree |
| functions. A lot of stuff doing manual path handling was switched to using |
| libc basename() (including, embarassingly, the basename command), which means |
| it now correctly detects "/trailing/slash/" which the previous code didn't.</p> |
| |
| <p>Also, last release included some accidentally checked in debug code that |
| disabled compiler optimization, so the binary size bloated a bit. It's back |
| to -Os by default now.</p> |
| |
| <hr><b>December 15, 2012</b> |
| <blockquote><p>"The major difference between a thing that might go wrong and a |
| thing that cannot possibly go wrong is that when a thing that cannot possibly |
| go wrong goes wrong it usually turns out to be impossible to get at or repair." |
| </p><p>- The Hitchhiker's Guide to the Galaxy.</p></blockquote> |
| |
| <p><a href=downloads/toybox-0.4.2.tar.bz2>Toybox 0.4.2</a> is based on |
| <a href=http://landley.net/hg/toybox/shortlog/749>commit 749</a> and is |
| just a resync. Linux 3.7 came out, meaning it's time to do an Aboriginal |
| Linux release, and that should use a stable version of toybox. So here's |
| a new stable version.</p> |
| |
| <p>The new commands are cut (from Jason Kyungwan Han), touch |
| (from Choubey Ji), expand (from Jonathan Clairembault, and he fixed a |
| bug in login), and rm (from Rob Landley). Felix Janda added UTF-8 |
| support infrastructure (for non-ascii character sets) with a config option. |
| Elie De Brauwer added tests for cat and sha1sum, and -so options to pidof. |
| The "ls" command defaults to -C (column view) now, and "readlink" now supports |
| -fenq.</p> |
| |
| <p>Portability work: toybox should now build against the musl C library, |
| and against older glibc versions (circa 2008, much before that and kernel |
| features we depend on start to drop out).</p> |
| |
| <p>The whole codebase got reindented from "one tab" to "two spaces" per |
| level. The option parsing logic now understands [groups] of commands (when more |
| than one in a group is selected it can switch the others off, or error out, |
| or other things). The error_exit() infrastructure can now longjmp back to an |
| earlier point instead of exiting. Each toys/* directory now has a README, |
| the first line of which is the fancy name menuconfig uses for the directory |
| (so no more hardwired directory list in scripts/genconfig.sh).</p> |
| |
| <p>Fixed a filehandle leak in getmountlist(). |
| Pass parent pointer to dirtree_add_node() so it can give error messages with |
| full path. The yesno() function now always reads from stdin and writes to |
| stderr (we can retry tty checking complexity once we've got commands needing |
| it).</p> |
| |
| <p>The open group broke their website so the |
| <a href=http://opengroup.org/onlinepubs/9699919799>old links</a> to POSIX 2008 |
| now <a href=http://pubs.opengroup.org/onlinepubs/9699919799>need to start with |
| pubs</a>. Some of the links in the tree have been updated, others haven't while |
| I wait to see if their webmaster notices and fixes it.</p> |
| |
| <p>(I note that the current rm implementation is not technically posix compliant |
| because the standard requires infinite recursion depth and the current |
| implementation uses one filehandle per level. I can add a config option |
| to do it Posix's way, which is more brittle and needs extra security checks, |
| but am waiting for somebody to complain first. The default "ulimit -n" is 1024 |
| filehandles, so drilling down over 1000 nested subdirectories).</p> |
| |
| <hr><b>November 13, 2012</b> |
| <blockquote><p>"Rule Six: The winning team shall be the first team that wins." |
| - The Hitchhiker's Guide to the Galaxy.</p></blockquote> |
| |
| <p><a href=downloads/toybox-0.4.1.tar.bz2>Toybox 0.4.1</a> is based on |
| <a href=http://landley.net/hg/toybox/shortlog/691>commit 691</a>.</p> |
| |
| <p>Elie De Brauwer contributed usleep, Ashwini Kumar contributed du, and |
| Kyungwan Han contributed vconfig. Other new commands include switch_root and |
| md5sum, and the remaining shell wrappers are now proper commands (dos2unix, |
| unix2dos).</p> |
| |
| <p>The patch command now supports -l, and gethostname is now enabled by |
| default. The df command follows symlinks to get the actual device name. |
| Felix Janda added -m support to wc (for utf8).</p> |
| |
| <p>On the infrastructure side, the commands have now been grouped into |
| "posix", "lsb", and "other" subdirectories (for things required by Posix-2008, |
| the Linux Standard Base 4.1, and commands in neither). This affects menuconfig |
| and the actual source layout (toys/cp.c is now toys/posix/cp.c, and so on). |
| An android directory is planned (see the updated |
| <a href=roadmap.html#android>android roadmap analysis</a>).</p> |
| |
| <p>The FLAG_ macros for command option parsing and TT alias for the command's |
| global block are now automatically generated, commands should |
| #define FOR_commandname before #including <toys.h> to get the macros for that |
| command.</p> |
| |
| <p>An upgrade to the build infrastructure now allows commands with _ and - |
| in them, such as switch_root.</p> |
| |
| <p>Bugfixes: Avery Pennarun spotted a case where ls showed uid twice instead of |
| uid and gid, and that nice was using the wrong range of numbers. |
| The ls command also recursed inappropriately last time (not quite |
| properly converted for the dirtree changes last release), and now it's |
| fixed. Roy Tam pointed out a glitch in sh, and fixed df's percentage |
| calculation to match the POSIX spec. The kernel build didn't like our mktemp |
| and it does now. The wc command wasn't quite posix compliant (trailing spaces |
| break stuff). The ls command recursed inappropriately last time (not quite |
| properly converted for the dirtree changes last release), and now it's |
| fixed. The catv command wasn't displaying byte 255 correctly. Some lib |
| fixes (thinko in xpidfile). Fixed uname -m when running a 32 bit x86 binary |
| on an x86-64 host (it lies and says the system is i686, i586, or i486 depending |
| on what the toolchain that built the binary supported. This makes builds in |
| a 32 bit chroot on a 64 bit kernel break less.) The df command was checking |
| partitions in the wrong order (displaying undermounts instead of overmounts: |
| this used to work but some library code changed out from under it and it |
| wasn't updated to match until now). Felix Janda filled out the test suite |
| some more. The patch file creation logic got tweaked several times to |
| successfully apply more patches. Support for older (pre 2.10) glibc |
| versions was added to portability.h.</p> |
| |
| <p>Miscelaneous cleanups all around (mknod, sha1sum, logname), including a |
| rewrite of taskset to be less dependent on libc getting the headers right. All |
| the command headers should now point to the current relevant standards |
| document, where applicable.</p> |
| |
| <p>This news page had old news entries from before the relaunch moved into |
| a separate <a href=oldnews.html>oldnews</a> page.</p> |
| |
| <p>I forgot to create <a href=bin>static binaries</a> last time, but they're |
| back now.</p> |
| </span> |
| |
| <hr><b>July 23, 2012</b> |
| <blockquote><p>"Ford", Arthur said. "There's an infinite number of monkeys |
| out here who want to talk to us about this script for Hamlet they've worked |
| out." - The Hitchhiker's Guide to the Galaxy.</p></blockquote> |
| |
| <p><a href=downloads/toybox-0.4.0.tar.bz2>Toybox 0.4.0</a> is based on |
| <a href=http://landley.net/hg/toybox/shortlog/640>commit 640</a>.</p> |
| |
| <p>The new <a href=status.html>status page</a> is calculated from |
| the roadmap info, and should be easier to keep up to date in future.</p> |
| |
| <p>Andre Renaud contributed od and modinfo. Elie De Brauwer contributed |
| taskset, bugfixes to cmp and tail, and tests for sort and tail. Kyungwan Han |
| contributed passwd. Gaurang Shastri contributed w. Ashwini Sharma spotted a |
| case where dirtree was adding extra slashes to a path.</p> |
| |
| <p>I rewrote od, cleaned up comm, documented the |
| <a href=code.html#lib_llist>llist</a> and |
| <a href=code.html#lib_dirtree>dirtree</a> infrastructure, added an -r option |
| to date (and fixed a bug where -u wouldn't override /etc/localtime), |
| fixed bugs in chmod +stw, fixed ls to show suid bits properly when the |
| corresponding executable bit wasn't set, and worked around a longstanding |
| glibc bug where static linking prevents stdout from automatically flushing |
| pending output on exit.</p> |
| |
| <hr><b>June 25, 2012</b> |
| <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> |
| |
| <p><a href=downloads/toybox-0.3.1.tar.bz2>Toybox 0.3.1</a> is based on commit |
| <a href=http://landley.net/hg/toybox/shortlog/607>commit 607</a>. It's |
| mostly a bugfix release for ls -l (which was unhappy on targets other than |
| x86-64), plus a new "date" from Andre Renaud and rewritten chgrp/chown which |
| now support the full set of posix flags, plus a little work on the test |
| suite and some more header tweaks towards eventual compatability with the |
| musl libc.</p> |
| |
| <p>The todo list runneth over, but "release early, release often", so here |
| it is. The roadmap and documentation are a bit behind, and I've got ~40 |
| pending submissions to review. I need to catch up...</p> |
| </span> |
| |
| <hr><b>June 12, 2012</b> |
| <blockquote><p>"For instance, on the planet Earth, man had always assumed that |
| he was more intelligent than dolphins because he had achieved so much - the |
| wheel, New York, wars and so on - whilst all the dolphins had ever done was |
| muck about in the water having a good time. But conversely, the dolphins had |
| always believed that they were far more intelligent than man - for precisely |
| the same reasons." - The Hitchhiker's Guide to the Galaxy.</p></blockquote> |
| |
| <p>It's well past time for <a href=downloads/toybox-0.3.0.tar.bz2>toybox 0.3.0</a>, |
| so here it is, based |
| on <a href=http://landley.net/hg/toybox/shortlog/595>commit 595</a>, and the |
| statically linked <a href=downloads/binaries>prebuilt binaries</a> should |
| actually be statically linked this time (thanks Ashwini Sharma for spotting |
| that).</p> |
| |
| <p>It's hard to figure out where to cut a release, because development |
| doesn't stop. "Long before now" is the obviuos answer, of course. |
| The project's maintainer also moved house during this development cycle, which |
| threw things off for a bit (so many boxes). Releases should hopefully be a bit |
| more frequent from here on.</p> |
| |
| <p>The big things Rob worked on this time were the new dirtree (directory |
| tree traversal) infrastructure, and a complete rewrite of ls using that |
| which should now implement all 26 posix options.</p> |
| |
| <p>Georgi Chorbadzhiyski added printenv, whoami, mkdir, mkfifo, chmod, chown, |
| chgrp, and uniq. He also added fraction and extension support to sleep (so if |
| you need a quarter-second sleep, it can do that now), and fixed a build bug |
| on slackware.</p> |
| |
| <p>Daniel Walter contributed a string to mode_t parser (in use by chmod and |
| mkdir -m). Ilya Kuzmich contributed comm. Elie De Brauwer added mountpoint, |
| vmstat, logname, login, and mktemp. Kevin Chase did some portability cleanups. |
| Pere Orga fixed some documentation.</p> |
| |
| <p>The "tac" and "clear" commands are now normal commands instead of shell |
| wrappers, and the header #includes have been cleaned up a bit to remove |
| deprecated functions and attempt to increase compatability with the bionic and |
| musl C libraries, "tail" should now use lseek() for large files, and "id" got |
| some cleanups and bugfixes.</p> |
| |
| <p>The new TOYBOX_FLOAT configuration option selects whether or not |
| to include floating point support (for embedded targets where that's |
| problematic).</p> |
| |
| <p>Several random bugfixes: unshare() might actually build portably now, |
| yes 'n' | cp -i should no longer bypass stdin and prompt via the tty, the |
| SUID support no longer drops permissions going through the toybox |
| multiplexer command, and a bugfix to xargs -0 means it should no longer |
| segfault. (I have a pending bug report about xargs not doing the full |
| posix whitespace handling that -0 obsoleted, but I'll deal with that next |
| release.)</p> |
| |
| <p>The build infrastructure is now automatically generating FLAG_ macros |
| for the options, but currently with the wrong names. Some more macro glue |
| is necessary, which I haven't quite figured out how to do yet.</p> |
| |
| <p>A defconfig toybox at the start of the $PATH has successfully built |
| Linux From Scratch (in my Aboriginal Linux project). The commands that |
| 'default n' in the config are often still broken, cleanup is ongoing. |
| (The new dirtree stuff broke several of them that haven't been converted |
| yet, but if I wait until everything works we won't have a release before |
| 1.0, so here's a checkpoint.)</p> |
| |
| |
| <hr><b>March 3, 2012</b> |
| |
| <blockquote><p>"They went unnoticed at Goonhilly, passed over Cape Canaveral |
| without a blip, and Woomera and Jodrell Bank looked straight through them. |
| Which was a pity, because it was exactly the sort of thing they'd been looking |
| for all these years."</p></p>- The Hitchhiker's Guide to the Galaxy.</p> |
| </p></blockquote> |
| |
| <p>Here's <a href=downloads/toybox-0.2.1.tar.bz2>toybox 0.2.1</a> based |
| on <a href=http://landley.net/hg/toybox/shortlog/512>commit 512</a>. This |
| time around, there are statically linked <a href=downloads/binaries>prebuilt |
| binaries</a> for various embedded targets.</p> |
| |
| <p>It's been a busy few weeks, almost entirely due to new contributors. (I |
| have not quite been keeping up.)</p> |
| |
| <p>Elie De Brauwer contributed free, uptime, swapon, swapoff, lsmod, mknod, |
| insmod, rmmod, and fixed a bug in basename. Andre Renaud contributed ls, ln, |
| realpath, and hostname. Andres Heck contributed pidof and killall. Daniel |
| Walter wrote kill and extended id. Timothy Elliott contributed tail and tests |
| for cmp. Frank Bergmann sent a warning fix. Bryce Fricke added -i to cp. |
| Nathan McSween pointed out an optimization. Georgi Chorbadzhiyski fixed |
| cross compiling to work more reliably.</p> |
| |
| <p>(My own contribution this time around was just tightening up other people's |
| code, a build fix to unshare, some random bugfixes, and so on. My only new |
| code this time around was writing a bash replacement for the existing python |
| bloat-o-meter.)</p> |
| |
| <p>Last time (the 0.2.0 release) included the first pass at an id command from |
| Tim Bird, env and basename from Tryn Mirell, cmp and head from Timothy Elliott, |
| more bugfixes from Nathan McSween and Elie De Brauwer, and Luis Felipe Strano |
| Moraes did a first pass at the who command plus other bugfixes and |
| optimizations.</p> |
| |
| <p>(For that release I did xargs, cal, truncate, unlink, nohup, tty, wc, link, |
| dirname, unshare, and various infrastructure tweaks, but it took me 3 months |
| and those guys did their stuff in a week or so.)</p> |
| |
| |
| <hr><b>February 12, 2012</b> |
| <blockquote><p> |
| "for though it has many omissions and contains much that is apocryphal, or at |
| least wildly inaccurate, it scores over the older, more pedestrian work in two |
| important respects..."</p> |
| <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote> |
| |
| <p>Here's the first BSD licensed release, |
| <a href=downloads/toybox-0.2.0.tar.bz2>toybox-0.2.0</a>, more a synchronization |
| point than anything particularly useful. 47 commands in a reasonably |
| ready-to-use state (what "make defconfig" builds), another ten or so partially |
| finished stubs ("make allyesconfig"), and several |
| patches pending on the mailing list I need to review and merge.</p> |
| |
| <p>More to come...</p> |
| |
| <hr> |
| <p><b>November 15, 2011</b> - Back from the dead, Toybox is now under a 2 |
| clause BSD license, and aiming to become the default command line |
| implementation of Android systems everywhere.</p> |
| |
| <p>More to come...</p> |
| |
| <hr> |
| |
| <p><a href=oldnews.html>Old news</a> from before the relaunch.</p> |
| |
| <!--#include file="footer.html" --> |