Lines Matching +full:- +full:- +full:no +full:- +full:install +full:- +full:suggests

2 <!--#include file="header.html" -->
5 into a single BSD-licensed executable that's simple, small, fast,
6 reasonably standards-compliant, and powerful enough to turn Android into
11 <a name="08-02-2019" /><a href="#08-02-2019"><hr><h2><b>February 8, 2019</b></h2></a>
17 <p>- The Hitchhiker's Guide to the Galaxy</p>
20 <p><a href=downloads/toybox-0.8.0.tar.gz>Toybox 0.8.0</a>
33 <p><u>New options</u>: <b>grep</b> now has --color, supports embedded NUL bytes in its input,
35 needed the middle numerical field of -bB, etc).
37 Volodymyr Medvid reported that install -d doesn't honor -o or -g.
39 <b>mkdir</b> accepts both --parent and --parents as synonyms for -p, <b>touch</b> ignores -f,
40 <b>basename</b> added -s to remove a trailing suffix, <b>dirname</b> now supports multiple
41 arguments, <b>cmp</b> accepts --quiet and --silent as synonyms for -s, <b>hostname</b>
42 added -sfd, <b>head</b> added --bytes as a synonym for -c and --lines as a synonym
43 for -n, <b>mktemp</b> added -t and fixed -u, <b>sed</b> added -z and -iEXT to keep backup files,
44 <b>md5sum</b> and sha1sum added --status and --check as synonyms -s and -c,
45 <b>readlink</b> added --canonicalize as a synonym for -f, <b>sort</b> grew -V,
46 <b>patch</b> added -s its synonym --quiet, <b>stat</b> added --format as
47 a synonym for -c, <b>xargs</b> added -p -t -r,
49 that <b>umount</b> ignore -c. Reverend Homer added a small optimization to file.c,
51 taught <b>ls</b> -t to use the nanoseconds field.
55 <b>cp</b> --preserve was segfaulting when you didn't specify _what_ to
58 <b>sort</b> -x didn't work when
67 Marius Adaskevicius pointed out <b>mdev</b> -s should follow symlinks,
69 to avoid reporting spurious errors in verbose mode and no longer
74 <b>chrt</b> no longer #warns about the musl sched_get_priority_min() bug, but
93 names via an escape syntax (because mkfs.vfat specifies an offset with -@),
95 didn't have a dash (allowing "ps ax" and "ps -ax" to behave differently).</p>
102 yocto 2.6 buils with -Werror=format-security by default).</p>
113 reformatted a lot of --help text for consistency (removing trailing
124 root-only tests when run as a normal user. The testcmd function prints the
127 ("test.test") no longer test the shell builtin but correctly test the
134 <a name="31-10-2018" /><a href="#31-10-2018"><hr><h2><b>October 31, 2018</b></h2></a>
137 This has made a lot of people very angry and been widely regarded as a bad move." - The Hitchhiker's Guide to the Galaxy.
141 <p><a href=downloads/toybox-0.7.8.tar.gz>Toybox 0.7.8</a>
145 <p>Toybox <a href=http://lists.landley.net/pipermail/toybox-landley.net/2018-October/009769.html>now builds</a> with the Android NDK (r18 release), almost out of the box.
146 You have to add an "llvm-cc" symlink to "clang", then use CROSS_COMPILE=llvm-
148 target you want to build for. (To run it on a non-android host, you probably
149 want "LDFLAGS=--static" too.)</p>
152 courtesy of Elliott/Android. The <b>watch</b> command got a complete (tty-aware)
158 The <b>ifconfig</b> command added -S (short view) giving one line of
160 format. <b>grep</b> grew binary file detection, with -I and -a options to
162 Zach Van Rijn asked for <b>find -empty</b>.
165 Elliott also added "getconf -a" and a lot of missing getconf symbols the
169 processing each like last release), and -l grew section identifiers (so
170 the "getconf -l" output is no longer a directly consumable list of symbols
172 Command line options specifying durations (like top -d or ping -i) can
173 now use fractions and units, like "1.5" and ".1m". See "toybox --help" for
176 name it's called under (so if you "ln -s $(which sleep) blah" and then
183 In <b>diff</b> the android guys added --color and timestamps on the
184 +++/--- lines. In <b>mdev</b> Faustas Azuolas Bagdonas added support
190 Elliott responded to a bug in <b>getconf</b>'s sed-based header generation by
197 <b>date</b> no longer shows a meaningless errno when it can't parse the
199 Several fixes in <b>ping</b> (-w and -W didn't work, -c kept sending packets
200 while waiting for replies, and when no reply packets were received the summary
204 also fixed the units on blockdev --blkraget (reported by Martijn Coenen).
206 style, leading zeroes, switch -f from %t to %T), <b>oneit</b> no longer
210 triggered Android's strict ioctl filtering on non-filesystem fifos).
212 CROSS_COMPILE) will now overwrite the (read-only) output file instead of
213 failing a rebuild. The dirtree plumbing no longer prints a "No" on front
218 into a hermetic build (hopefully with an eventual self-hosting option, work
222 The <b>ps</b> help text changed: now "ps -o help" shows the fields and the normal
223 --help is much more manageable. Ifconfig's --help text also got tidied up.
225 the kconfig/ subdirectory still having (build only, non-shipping) GPL code
231 and no longer requires they be one per line.
256 scripts/config2help.c no longer includes parts of lib/ and just copies what
260 missing the error message suggests running make defconfig.</p>
262 <a name="23-06-2018" /><a href="#23-06-2018"><hr><h2><b>June 23, 2018</b></h2></a>
268 <p> - The Hitchhiker's Guide to the Galaxy</p>
271 <p><a href=downloads/toybox-0.7.7.tar.gz>Toybox 0.7.7</a>
278 <p><u>New options</u>: The <b>cp</b> command added the --parents option,
279 <b>readlink</b> now has -m to show where a missing path would be,
282 Ng Zhi An added --getra and --setra (get/set readahead) to <b>blockdev</b>,
283 Elliott Hughes added <b>xxd</b> -o and made <b>top</b> -d understand fractional
285 Minghui Liu added <b>watch</b> -b.</p>
288 48-core machine
289 and fixed a glitch with -n, Haroon Maqsood pointed out "vmstat 1 1" didn't
290 stop and "vmstat -n" didn't print the first theader line.
291 Minghui Liu fixed a bug where <b>cp</b> -p didn't preserve
293 working. Ryan Pritchard pointed out that <b>du</b> -d0 should act like du -s.
297 Elliott fixed several things in <b>top</b> (removed spurious '\r' characters from -b
300 ("cat /bin/ls | file -" still won't work but "file - < /bin/ls" should).
302 and fixed <b>cut</b> -DF
304 because outputting all delimiterless lines isn't what you want there, -D
309 prequisites that needs to run, and reformatted more of the ps --help text
314 with & has no dash in its first argument. (This lets "ps -ax" and "ps ax"
316 The comma-separated-list parsing infrastructure moved to lib/commas.c.
332 behavior difference between toybox and ubuntu (Ubuntu's ln -sf wouldn't
337 run a test on a command name beginning with "-" (none yet but it
346 dynamic libraries without corresponding --static versions).
350 <a name="24-02-2018" /><a href="#24-02-2018"><hr><h2><b>February 24, 2018</b></h2></a>
357 <p> - The Hitchhiker's Guide to the Galaxy</p>
360 <p><a href=downloads/toybox-0.7.6.tar.gz>Toybox 0.7.6</a>
370 ranges, utf8/unicode characters, and new -CDFO options. Use -C to measure
371 columns rather than characters (for double width chars), and "cut -DF 3-5"
374 <p>This release adds <b>top -m</b> and <b>iotop -H</b> (and fixed top width truncating for narrow terminal windows),
375 added <b>iconv -c</b>, fixed <b>ps -T 1234</b> to show threads belonging to
381 "See %s --help" message on the same line, and several web pages
384 <p>Elliott and the Android devs added <b>df -i</b>, <b>uptime -p</b>,
385 <b>time -v</b>, and <b>xxd -i -ri</b>,
386 fixed <b>id -G</b> to only output the group IDs, fixed the <b>xargs -0 -n</b>
387 combination, made <b>find -exec +</b> obey ARG_MAX (just like xargs), made
403 <p>Commands with locale support now setlocale(LC_TYPE, "C.UTF-8") for more
409 (which as a 64 bit number is good for + or - 292 million years from
411 -1 instead of erroring out.</p>
418 <a name="12-10-2017" /><a href="#12-10-2017"><hr><h2><b>October 12, 2017</b></h2></a>
421 <p> - The Hitchhiker's Guide to the Galaxy</p>
424 <p><a href=downloads/toybox-0.7.5.tar.gz>Toybox 0.7.5</a>
429 of the many half-finished projects (dd, ping, lsof, iconv, cut, sysconf,
430 the cp --parents option...) finished/promoted/tested, but decided adding big
433 <p>A couple <b>new features</b> slipped in anyway. Ilya Kuzmich added head -c
434 and strings -t (and corrected strings' output in a couple places). Elliott
435 Hughes taught file to recognize Macintosh (Mach-O) binaries.</p>
437 <p><b>NOTE</b>: the chrt command is broken when built against musl-libc
440 <a href=https://git.musl-libc.org/cgit/musl/commit/?id=1e21e78bf7a5>removed
442 so the chrt command there will always say -ENOSYS. (It works fine built against
445 <p><b>Bugfixes</b>: Remounting (mount -o remount,rw) should work properly now,
448 mostly noticeable in long-running "top" exiting; error value was treated
449 as a pointer). Elliott Hughes fixed a -Wformat warning in expr.c,
453 Josh Gao made netcat -l exit after handling a request, and reported a
455 broken URL in the README. Rob fixed env -0 checking the flag wrong so
475 stub function so compile-time probes for its existence think it's there, and
478 <a name="19-06-2017" /><a href="#19-06-2017"><hr><h2><b>June 19, 2017</b></h2></a>
479 <blockquote><p>It is a well-known fact that those people who most want to rule people are, ipso facto, those least suited to do it.
480 To summarize the summary: anyone who is capable of getting themselves made President should on no account be allowed to do the job.</p>
481 <p>- The Hitchhiker's Guide to the Galaxy</p>
484 <p><a href=downloads/toybox-0.7.4.tar.gz>Toybox 0.7.4</a>
486 is out. No new commands this time, but
491 -M and -S to match and skip wildcards respectively (useful with -r).
492 Elliott's updated dmesg has -T and --color. The file
493 command can recognize gzip now, uptime grew -s, date grew %N, env knows - as a first argument
494 means -i (posix!) and grew -0, ls defaults to -b
495 instead of -q now when there's a tty, and ls has a new -ll option (with
496 --full-time as a compatibility synonym) showing nanoseconds and (for some
498 "uudecode -o -" support. Illya Kuzmich taught head -v and -q. The cpio
499 code no longer adds the "TRAILER!!!" entry by default (initramfs extractor
501 (Use the new --trailer option if you want the legacy behavior.)
506 the kernel <a href=https://landley.net/notes-2013.html#28-03-2013>inexplicably</a>
513 pass, made more tests run on a toybox-only system, and so on. The test suite
524 <a href=http://lists.busybox.net/pipermail/buildroot/2016-December/180102.html>last release</a>.</p>
527 are no arguments, so things like "uptime" no longer silently ignore arguments
531 The FAQ now has more than one entry. Commands no longer output the full
532 help text for argument errors but instead just say "See %s --help" with the
534 Elliott did a big period-ectomy on all the --help text, and
536 non-html help -a output now has separators with the command name.
544 was causing long-running top instances to occasionally exit),
546 type, ps no longer queries the terminal size when output isn't to a tty
547 (so "ps -A | cat" doesn't vary), date's chkmktime() was replaced with
554 Elliott fixed touch -a/-m (they were backwards), and allowed ':' in
555 setprop's property names. Grep now exits with 2 for errors (so -q can
565 <a name="21-02-2017" /><a href="#21-02-2017"><hr><h2><b>February 21, 2017</b></h2></a>
569 <p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
571 <p>Despite everything, <a href=downloads/toybox-0.7.3.tar.gz>Toybox 0.7.3</a>
584 <p><u>New features</u>: Rob added units to <b>find</b> -atime and friends
585 (with the legacy -amin alias). Elliott added color and -w to dmesg, fallocate
586 -o, and improved file's ELF parsing. Steve Muckle added -d and finit_module
590 df -a isn't entirely new, but wasn't documented and needed a bugfix.</p>
593 Last release broke oneit because -c didn't get moved to xopen_stdio() (oops).
595 chars when there's no tty (serial console or adb); now it pads to 80 in
596 that case but also switches on -w to avoid field truncation. The "tty"
600 And while we're there, replace "ADDR" with "BIT" in ps -l so there are
603 <p>Izabera pointed out that split -b and -l can't mix, and suggested seq should
605 increments. Wang Xiao Jian fixed a bug in sort -k.
608 Elliott also improved some error reporting and improved top -H's display
612 in chmod -R (and the resulting generic fix to dirtree_notdotdot() fixed
617 Rob fixed an option parsing bug (where switching off a --longopt in menuconfig
619 (ala "abc[-ab][!abc]" with "command -a -b") would segfault.</p>
621 <p>There's some sort of gcc stack over-optimization bug where musl-libc's
623 stack varabiles in the same function after that get semi-randomly overwritten
640 <p>Android should no longer give spurious error messages
641 when you "ps -A | head" about EPIPE on output. (Older versions of bionic
662 but it's a work in progress (<a href=http://lists.landley.net/pipermail/toybox-landley.net/2016-December/008767.html>thread</a>). Various changes
666 <p>Cross-compiling from Macs needs to use "gsed" instead of apple's
673 The new dirtree flag DIRTREE_PROC skips non-numeric entries so things
676 <a name="21-10-2016" /><a href="#21-10-2016"><hr><h2><b>October 21, 2016</b></h2></a>
679 own problem.</p><p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
681 <p><a href=downloads/toybox-0.7.2.tar.gz>Toybox 0.7.2</a>
685 <p>During this development cycle, Elliott Hughes <a href=http://androidbackstage.blogspot.com/2016/07/episode-53-adb-on-adb.html>got interviewed
687 and Rob Landley <a href=http://linuxluddites.com/shows/episode-88/>got interviewed on Linux Luddites</a> (<a href=http://linuxluddites.com/shows/episode-11/>again</a>).
700 <p><b>Upgrades</b>: All commands now parse --version when they understand
701 --help, but "true" and "false" should now ignore their arguments entirely.
702 We taught stat to handle "%12x" and "%.12x" printf-style escapes, which
704 device driver. Added patch -d and --dry-run, wc can now do -cm together,
705 find has a NOP -noleaf so scripts that use that don't break, add -c to md5sum
706 and sha1sum. Elliott taught ps to treat extra aguments as additional -p
707 pids, implemented xxd -s, did a number of upgrades to file (added -HL,
709 and stripped/not stripped and it no longer prints a guessed build ID type).
710 Elliott also added optional build-time support for using openssl's
711 assembly-optimized md5sum/sha1sum implementations (leading to a new
717 workaround for <a href=https://sourceware.org/bugzilla/show_bug.cgi?id=17829>glibc bug 17829</a>, made sed -i preserve ownership when run as root,
718 made du max out at 2 terabytes instead of 2 gigabytes on 32-bit systems
722 octal digits and handling the (posix-mandated) difference between %b and
723 non-%b octal output, reading from "-" no longer closes stdin when done,
724 netcat -L works with nommu (although it may need more portability work),
730 appropriate). "LC_ALL=C ls -Cs --color" produces the same output
731 as other versions (two spaces padding, -k hardwired on).<p>
737 changing, fixed ls -sh, and added a lot of
739 Izabera pointed out cmp -l and -s can't be selected at the same time,
740 that timeout was never actually checking -v, that ls should default to -q
741 when output is to a tty, and that "file -" would sometimes try to open "-"
745 hardwired 512-byte units, so stat.c was wrong. David Hedges pointed out
751 <p>Calling "make test_blah" no longer causes make to error out if the last
759 (although <a href=http://lists.landley.net/pipermail/toybox-landley.net/2016-September/008664.html>the consensus</a> is that Centos is just generally broken).<p>
761 <p>Several commands were over-using xprintf(), which flushes its output
788 understands that "-" means stdin. New flag WARN_ONLY tells these functions
789 to just print a warning on failure, and return -1 instead of exiting.
795 <p>New TOYFLAG_NOHELP disables --help processing (which "true" and "false"
798 <p>The test suite now has NOSPACE=1 to ignore whitespace (using diff -b to
806 <a name="02-06-2016" /><a href="#02-06-2016"><hr><h2><b>June 2, 2016</b></h2></a>
811 brain to see what is likely to be well received. However, no-one knows
814 <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
816 <p><a href=downloads/toybox-0.7.1.tar.gz>Toybox 0.7.1</a>
818 is out. (Yes, I forgot to update the --version string, but I already
829 cleanups to more and lsof, but no promotions this time around.)</p>
832 <p>Izabera implemented env -u, suggested adding seq -w, made factor
834 -w0 should disable wrapping, and sped up wc -c.
835 Elliott Hughes added mount -o relatime, xxd -p -r, and od -w.
836 Sameer Pradhan (or possibly Bilal Qureshi) suggested adding stat -tL -c %m%t%T.
837 Tom Cherry added getprop -Z. Paul Barker added hostname -b and -F.
838 Rob added ls -b, made ls -q work with utf8,
839 made sed -f - read from stdin, and added top -O (like ps -O).</p>
842 with -o TID, TNAME. We also added -o PCY (android scheduling policy),
843 -o BIT (process is 32 or 64 bit), and -o TNAME now shows the parent
858 <p>Grep -H and -n should now work properly with -ABC. Andy Chu pointed out an
860 in diff -r, and fixed operator precedence in expr (although Rob is rewriting
862 Patrick Ohly fixed the too-aggressive suid permission dropping logic.
863 Josh Gao fixed a segfault when find -iname got no argument, and
864 made tail -f work right with just one file argument.
866 the tar tests, and reported another find bug (with -iname -o -iname not
869 <p>Elliott Hughes fixed wc -c to not trust zero length files to actually be
870 zero length (/proc does that), fixed "mount -o rw,remount /system" on
871 Android, removed trailing spaces on ps -o cmdline, fixed pkill -9 and
872 the corresponding tests, made "insmod -" work, fixed top -b and tail -NUM,
877 Fixed mount -o to properly pass in leftover string data, and
878 <a href=http://lists.landley.net/pipermail/toybox-landley.net/2016-March/004790.html>documented how to use toybox to mount nfs</a> (warning: kernel patch
884 John Regehr. Andy Chu found a segfault in "sed -e 'c\'" with no trailing
885 line, and implemented mv -n and cp -n. The cyanogenmod guys pointed out that
886 cp -a shouldn't complain if a non-root user can't chown, and we added
887 the output path to cp -r error messages while we were there (before was just
892 suffix. Davis Mosenkovs fixed touch -t seconds parsing.
898 The dependencies are more granualr, so "make top; make ps" no longer
899 produces a broken ps that ignores -A (because ps.o wasn't getting rebuilt
900 even though top had the FLAG macros for -A zeroed).</p>
947 infinite recursion depth support (needed by rm -r), updated the
957 <a href=https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html>has vowed
975 libc, and both scripts/install.h and scripts/config2help.c no longer include
976 toys.h (to make cross-compiling from systems we don't run on easier).</p>
979 "sed -e 'a\'" (with no next line of the pattern, so an unterminated
981 that last line of the input didn't have a newline, and to take no other
983 it because otherwise Debian's install broke. (Of course this behavior
984 is undocumented, non-obvious, and doesn't really make logical sense.)</p>
991 <a name="02-02-2016" /><a href="#02-02-2016"><hr><h2><b>February 2, 2016</b></h2></a>
995 - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
997 <p><a href=downloads/toybox-0.7.0.tar.gz>Toybox 0.7.0</a>
1003 (most replacing corresponding versions from pending). Added grep -ABC,
1004 swapon -d (discard), mkswap -L (label) and UUID support, and find -delete.
1005 Izabera added free -h and unshare -f. Josh Gao implemented tail -f.
1006 Jose Bollo submitted cp --preserve=context,attr. Kylie McClain added
1007 mktemp -u.</p>
1014 <p>Lots of updates to ps: several new -o options, -k (--sort) -O and -M,
1021 <p>Dreamhost restored the <a href="#12-21-2015">missing 11 months</a>
1028 <a href=http://landley.net/notes-2012.html#15-10-2012>never
1033 <a href=https://engineering.twitter.com/opensource/code-of-conduct>borrowing twitter's</a>) because somebody
1038 first one in the range, so [[] didn't terminate). Fixed sort -f and added test cases.
1039 Assume 80 columns in "ls -m | cat", ls -L is no longer backwards,
1040 and ls of files with no paths no longer uses an uninitialized (zero) dirfd.
1042 to find (Gilad Arnold fixed -perm, Daniel K. Levy fixed "find . -exec echo {}",
1043 and while we're there I fixed find --prune, made "find . -execdir
1044 echo {} + -execdir ls {} +" work, and ripped out the environment size
1047 years and documented the %s escape, fixed hwclock -u, and pointed out
1051 values, and added a --no-preserve-owner option. Fixed the SUID permission
1052 dropping logic (which was a bit over-zealous, preventing some commands from
1055 <p>I'm told that debian-testing broke its libc so the nsenter build breaks,
1056 but my attempts to install the debian-testing network cd image under
1058 reproduce the problem. (Debootstrap under unbuntu builds an ubuntu-flavored
1062 <p>Rewrite of the about.html page, tweaks to design.html, and a re-triage of
1075 <li><p>Renamed dirtree->data to dirfd and stopped storing symlink length
1077 didn't give a valid directory filehandle, noticeable with ls -Z).</p></li>
1097 <p>We're getting close to having a self-hosting development environment
1106 <p>And the remaining non-busybox commands in Aboriginal Linux's build/host
1124 <a name="12-21-2015" /><a href="#12-21-2015"><hr><h2><b>December 21, 2015</b></h2></a>
1151 <a name="03-11-2015" /><a href="#03-11-2015"><hr><h2><b>November 3, 2015</b></h2></a>
1154 of Betelgeuse?" Arthur shrugged in a so-so sort of way. "I don't know," he
1155 said, taking a pull of beer. "Why - do you think it's the sort of thing you're
1156 likely to say?" - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
1158 <p><a href=downloads/toybox-0.6.1.tar.gz>Toybox 0.6.1</a>
1162 <p>We have a new <b>ps</b> command with all the -o fields posix wants (although
1163 it doesn't accept BSD non-dash option syntax yet), and <b>bunzip2</b> (not just
1164 bzcat but the proper extract-in-place command).
1168 <p>The people waiting for <b>human readable number support</b> (du -hH, ls -h,
1180 all knowledge and wisdom about nommu. The old site <a href=#12-02-2012>contains
1196 reboot, init, login, and modprobe, and fixed a distro-specific build break in
1197 scripts/mkflags.h. Elliott Hughes and Lipi Lee made netstat -p handle
1198 command lines longer than 21 characters, and Elliott fixed netstat -e and
1212 either), fixed several ls -l display issues (user/group field ordering,
1215 class, fixed a mv overwrite bug, made df's columns auto-size, added
1216 --ppid and -Z to ps, and teamed up with Daniel K. Levy to fix
1217 a segfault in find's handling of -newer -group or -user.</p>
1219 <p>Hyejin Kim added stat -c %T support. Colin Cross worked
1222 units. Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra
1223 newline and that grep -w '\(x\)\1' didn't work, both now fixed.
1229 <p>Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra
1230 newline and that grep -w '\(x\)\1' didn't work, both now fixed.
1236 <p>Two large thinko fixes in oneit: -3 was always enabled (which would
1239 set up right (for requesting semi-graceful halt/poweroff/reboot).
1240 Calling install without a mode is now 0755, and install -g 0 no longer clashes
1241 with cp --preserve. Better error message for ls -r on unreadable
1242 directories, and ls -Z now uses O_PATH (with the /proc/self/fd/%d
1245 <p>Date now understands @unixtime[.fraction] and uses -D for
1246 the set-side format (matching busybox's extension for this). The seq -f
1257 a NULL argv (see cpio -p for example usage). Replaced toys.recurse
1258 with toys.stacktop so the recurse or re-exec decision is now based
1259 on bytes of stack space used. Marked a bunch of command-local functions
1266 The login command finally got a long-overdue cleanup (it's one of the
1273 "make CROSS_COMPILE=prefix-" (as well as "CROSS_COMPILE=prefix- make",
1274 which still works). Toybox is now installed chmod -w so broken installers
1283 toolchain such as <a href=http://landley.net/aboriginal/downloads/binaries/old/1.4.3/cross-compiler-sh2eb.tar.gz>the one from Aboriginal Linux</a>,
1284 but <a href=http://github.com/richfelker/musl-cross-make>with musl-libc</a>
1286 fact they provide a non-functional fork() implementation that always returns
1287 -ENOSYS, to prevent you from compile-time probing for nommu support when
1288 cross-compiling. Unfortunately "preventing you from probing" seems to be
1292 enable musl-specific bug workarounds.</p>
1294 <a name="23-07-2015" /><a href="#23-07-2015"><hr><h2><b>July 23, 2015</b></h2></a>
1295 <p>I recreated the <a href=downloads/toybox-0.6.0.tar.gz>0.6.0 source tarball</a>
1297 because I forgot to add --prefix to the git archive command when I updated
1301 <a name="19-07-2015" /><a href="#19-07-2015"><hr><h2><b>July 19, 2015</b></h2></a>
1306 around in." - The Hitchhiker's Guide to the Galaxy </p></blockquote>
1308 <p><a href=downloads/toybox-0.6.0.tar.gz>Toybox 0.6.0</a>
1310 is out. (Yes, git. See the <a href=#05-04-2015>previous news entry</a>.)</p>
1320 <a href=http://landley.net/talks/celf-2015.txt>outline</a>), in which I
1321 repeat my <a href=http://landley.net/notes-2013.html#07-11-2013>perennial</a>
1330 <a href=#15-11-2011>most</a>
1332 <a href=http://landley.net/notes-2011.html#13-11-2011>research</a> on
1342 (<a href=http://landley.net/talks/ohio-2013.txt>outline</a>,
1343 <a href=https://archive.org/download/OhioLinuxfest2013/24-Rob_Landley-The_Rise_and_Fall_of_Copyleft.mp3>audio</a>) on why I switched away from GPL for
1360 let it coexist with cat -v.
1366 <p><b>New options:</b> Added sed -E as a BSD-compatible synonym for -r.
1367 Upgraded oneit with -r (restart), -3 (send exiting PID values to child),
1368 and signal handling. Added -v option to timeout, -m to mknod, -u to shred,
1369 -t to dmesg, and -123 to head and tail. Added implicit "." to grep -r without
1370 any files to work on. Hyejin Kim requested prefix support for truncate -s.
1371 Greg Hackman added -inum to find.
1372 Jan Cybulski added the smack side of ls -Z support. Various patches also
1373 added -Z to mkdir, mknod, and mkfifo.
1374 Basic cp --preserve support went in, but not yet the xattr/LSM parts.</p>
1376 <p>The toybox command now has a --version option,
1383 <p>Paul Barker submitted a large patch changing command install paths so
1385 update-alternatives". (There's some argument over
1387 people to tell me what else needs fixing because I have no idea. I've
1389 <a href=http://landley.net/writing/hackermonthly-issue022-pg33.pdf>for
1403 to make --longopts take an optional =value part, and more about TOYBOX_DEBUG
1416 Fixed mount -a segfaulting without -O (reported by Janus Troelsen),
1419 Fixed printf -- and printf ---. Lots of tweaks to ls -l spacing with
1420 different options. Make touch -d and -t actually set time when you don't
1424 a "no }" error from "find | xargs sed", but could cause other problems.)
1430 string (which is not the same as unset), that install/find didn't support
1431 numeric uid/gids, and that sort -z affects both input and output.
1433 David Halls fixed bugs in install -D and find -exec. Samuel Holland
1434 fixed unshare -r. Hyejin Kim fixed makedevs with a count of 1, fold -w
1435 range checking, an error path in scripts/mkflags.c, added -i to dhcpd,
1437 Jan Cybulski spotted wrong indentation when combining ls -s and -i with -C and
1438 -x. José Bollo fixed stat %G. Sameer Pradhan fixed a bug in mkfifo -Z.</p>
1448 fix dmesg -c error reporting, fix a segfault in comma_scan where the option
1449 was the last item in optlist (triggered by mount -o ro,remount), fix
1450 hwclock -w, made ifconfig print lowercase MAC addresses (it was bothering
1459 support to mdev. Yeongdeok Suh added RFC-3315 ipv6 support to dhcpd.</p>
1471 a standard syntax). Don't depend on malloc(0) to return non-null in ls.
1483 The build now checks $LDFLAGS for linker-only flags, and allows the strip
1488 security modules stuff, if (lsm_enabled()) should turn into a compile-time
1504 <p>The not-curses infrastructure introduced by hexedit mostly moved to
1515 with its GNU counterparts" means when CP_MORE adds 7 non-posix options
1519 GNU is special is there are a half-dozen other independent
1525 <a href=http://archive.linuxfromscratch.org/lfs-museum/7.6/LFS-BOOK-7.6-NOCHUNKS.html#ch-tools-gcc-pass1>calling mv -v</a>
1526 then I impelement mv -v
1529 util-linux isn't a gnu package, nor are info-zip, e2fsprogs, kmod, less,
1532 <a name="05-04-2015" /><a href="#05-04-2015"><hr><h2><b>April 5, 2015</b></h2></a>
1535 and <a href=https://github.com/kraj/meta-musl/tree/master/recipes-core/toybox>openembedded</a>
1536 and <a href=https://packages.gentoo.org/package/sys-apps/toybox>gentoo</a>
1542 <a name="25-02-2015" /><a href="#25-02-2015"><hr><h2><b>February 25, 2015</b></h2></a>
1545 complete fools."</p><p>- The Hitchhiker's Guide to the Galaxy.</p></blockquote>
1547 <p><a href=downloads/toybox-0.5.2.tar.gz>Toybox 0.5.2</a>
1575 <a href=http://www.mail-archive.com/toybox@lists.landley.net/>two</a>
1593 <p>Some commands grew new option flags, such as cp --remove-destination
1594 and touch -h.</p>
1597 re-exec itself to regain suid root permissions and hasn't got the suid bit,
1598 it now gives the right error message ("not root" instead of "no such command").
1607 no longer defined -d but still had it in option groups at the end).
1608 Workaround for glibc redefining dirname() and basename() to random non-posix
1617 did rm -r on it without -f, after the prompt it would complain it was a
1631 values are no longer packed, it leaves spaces where currently disabled
1662 <a name="18-02-2015" /><a href="#18-02-2015"><hr><h2><b>February 18, 2015</b></h2></a>
1664 here's <a href=http://www.mail-archive.com/toybox@lists.landley.net/>another
1670 <a href=http://www.dreamhoststatus.com/2015/01/14/discussion-list-hardware-maintenance/>hardware upgrade to fix a software problem</a>, and the stale
1675 web archive, from Dec 15-Jan 3, and then another hole from Jan 16-Feb 18.
1679 <a name="30-12-2014" /><a href="#30-12-2014"><hr><h2><b>December 30, 2014</b></h2></a>
1687 <a href=http://lists.landley.net/listinfo.cgi/toybox-landley.net>the first link</a>.</p>
1691 <a name="19-11-2014" /><a href="#19-11-2014"><hr><h2><b>November 19, 2014</b></h2></a>
1693 <blockquote><p>"This time it was right, it would work, and no one would have to get nailed to anything." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
1695 <p><a href=downloads/toybox-0.5.1.tar.bz2>Toybox 0.5.1</a>
1710 Did you know "echo hello | sed p - -" segfaults gnu sed in Ubuntu 12.04?
1729 Isaac Dunham implemented acpi -ctV options, and spotted the bug that ls -d
1730 was inappropraitely following command line symlinks without -H or -L (it
1731 should act like ls -l does), and ls -F handles symlinks wrong too.
1739 static analysis. (These fixes are mostly to seldom-used codepaths like the
1741 also suggested upgrading ln -f to leave the original target alone if link
1742 creation fails, and reported that mv -f and -i weren't implemented (now fixed).</p>
1747 <p>The "toybox" multiplexer command no longer adds a trailing space to each
1755 probes for functions missing from bionic-libc, and annotated the commands that
1767 <p>The printf-style escape parsing ("\n" and friends) got factored out into
1770 <a name="02-10-2014" /><a href="#02-10-2014"><hr><h2><b>October 2, 2014</b></h2></a>
1774 difficulties." - The Hitchhiker's Guide to the Galaxy.<p></blockquote>
1776 <p><a href=downloads/toybox-0.5.0.tar.bz2>Toybox 0.5.0</a>
1781 <p>The new commands are find, install, factor, and mount. Promoted commands
1784 <p>cp now implements -HL and -F to force delete of pending files, cpio now
1785 ignores -m and implements -p, ls -C now has utf8 support (using wcwidth
1802 about linker options passed with -c, and the entire "generated" directory now
1811 sub-options (so CP has CP_MORE), enables I18N and FLOAT support to build
1812 full-featured commands, and includes --help text (at least when
1847 done with the directory filehandle still open (new dir->again variable added
1850 Use daemon() out of libc instead of hand-rolled daemonize() in various
1860 toy_exec() sometimes needs to re-exec from $PATH rather than recurse
1866 option parsing bug where [-abc] would forget _all_ command line arguments
1869 Lukasz Szpakowski fixed rm -f on a broken symlink (failed), and killall
1870 with no arguments (segfaulted).</p>
1874 <p>A somewhat fiddly fix to rm -rf (which needs to chmod directories to u+rwx
1878 to portability.h with a workaround, you may need CFLAGS=-D__MUSL__ in your
1887 another release, so locally patching around posix-2008 violations is silly).</p>
1893 "$" at the end), but this prevents UTF-8 usernames. Posix' stated logic
1916 sort on the host broke in non-C locales.</p>
1921 <a name="07-07-2014" /><a href="#07-07-2014"><hr><h2><b>July 7, 2014</b></h2></a>
1922 <blockquote><p>"This planet has - or rather had - a problem, which was this:
1927 unhappy." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
1929 <p><a href=downloads/toybox-0.4.9.tar.bz2>Toybox 0.4.9</a> (<a href=/hg/toybox/shortlog/1385>commit 1385</a>) is out.</p>
1935 host from Rich felker, and I did nbd-client and the first 2/3 of mount.</p>
1939 fallocate, and nbd-client.</p>
1947 musl instead of uClibc. (That's why there's no sparc version, musl doesn't
1958 the shell script snippet to install symlinks to the toybox binary.</p>
1970 <p>Fix od bug reported by Samuel Holland ("od -v -b" was appending the default
1984 a pipe). Bugfix so "help -a" works again. Option parsing on nohup now stops
1986 which was actually a bug in lib function find_in_path(). Made rm -rf of
2002 added tests for cpio, link, and du, added lspci -i, made the pci database
2006 it actually smaller in the process. I added -b flags to md5sum and sha1sum
2007 for "brief" output that's just the hash with no filename. (I'm aware other
2011 the build now switches on all the sub-options of the command so we get
2014 <p>Add -ds flags to date and document +FORMAT escapes. Add the shell NOP
2020 <p>The umount command now does an losetup -d on the device by default, so
2032 to toys.signalfd with the signal number if signalfd isn't -1 (which it's
2038 decimal kilo/mega/gigabytes (so when du -u says 5.0G it means 5.0 billion
2043 <a name="20-04-2014" /><a href="#20-04-2014"><hr><h2><b>April 20, 2014</b></h2></a>
2048 turn it off. - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
2050 <p><a href=downloads/toybox-0.4.8.tar.bz2>Toybox 0.4.8</a> is based on
2054 <p>The big news is that the build no longer needs python to generate help.h,
2070 compress.c, and still need to do a corresponding deflate (compression-side)
2079 <p><b>Upgrades:</b> Ifconfig grew /prefix netmask support (ala 1.2.3.4/24). Grep now has -zZ to
2080 handle null terminated data, cksum grew -H for hex output. Upgraded od so the
2081 fields align better when producing multiple output types. Help has -a and -h
2087 Ashwini Sharma spotted a bug in pidof -o, and added verbose (-v) options
2088 to mkdir and ln, and suggested killall should have an -s option and
2089 allow -l to take zero arguments. Ashwini Sharma and Felix Janda upgraded
2109 <p>Regression tested against Ubuntu 8.04 to fix up bit-rot in defconfig
2110 build on older systems. (We depend on Posix-2008, but not necessarily
2121 help text for all the defconfig commands, using the new help -ah output.
2126 good code. The README no longer trails off into obvious unfinished confusion
2129 <a name="18-11-2013" /><a href="#18-11-2013"><hr><h2><b>November 18, 2013</b></h2></a>
2130 <blockquote><p>"Space," it says, "is big. Really big. You just won't believe how vastly, hugely, mindbogglingly big it is. I mean, you may think it's a long way down the street to the chemist's, but that's just peanuts to space." -
2133 <p><a href=downloads/toybox-0.4.7.tar.bz2>Toybox 0.4.7</a> is based on
2144 an fsck wrapper (with no filesystem drivers yet). Isaac Dunham sent in cpio.</p>
2147 added -e to watch, removed a memory leak, and fixed a terminal size problem.
2150 where grep didn't malloc enough space with -E (leading to a segfault).
2152 the code I wrote), in od to fix -t co, -J, and -c options. Add uname -o as a
2153 synonym for -s. Build fix to never use $CC without prefixing it with
2157 <p>The compile-time command line option parsing got rewritten (ported from
2159 --longopts to drop out properly when disabled in the configuration. Terminal
2160 querying got refactored. Patch's -x option is now more informative (a
2166 <a name="17-09-2013" /><a href="#17-09-2013"><hr><h2><b>September 17, 2013</b></h2></a>
2170 and this might turn out to be it. - The Hitchhiker's Guide to the Galaxy</p>
2173 <p><a href=downloads/toybox-0.4.6.tar.bz2>Toybox 0.4.6</a> is based on
2182 <p>The ls command now has a --color=auto option (suggested by Rich Felker).
2183 The multiplexer now has a --help option so you can say "./toybox --help blah"
2184 instead of using the built-in "help" command. (Which is a shell built-in.
2186 other project has conditioned people to expect --help, so...) I forget who
2195 Ashwini Sharma (and an fsck wrapper but no fsck.fstype engines yet),
2198 M. Farkas-Dyck), and sysvinit by Kyungwan Han.</p>
2213 OLDTOY no) and the space savings aren't anything to write home about. (If a
2238 <p>General improvements and bug fixes to argument parsing. The [-abc] exclude
2239 logic should now clear arguments slots when disabling options. Bare --longopts
2242 --color and --color=auto but not --color auto).</p>
2257 (-fno-asynchronous-unwind-tables)
2260 "-fstop-being-stupid" is a thing you have to hit gcc with from time to time.</p>
2265 finally make it work right (we think). Still need to implement tail -f
2266 someday (the tricky bit is making -f follow multiple files at once).
2290 <p>Last release, "mkdir sub/sub && chmod 007 sub/sub && rm -rf sub" didn't
2295 <a name="26-07-2013" /><a href="#26-07-2013"><hr><h2><b>July 26, 2013</b></h2></a>
2301 <a name="02-07-2013" /><a href="#02-07-2013"><hr><h2><b>July 2, 2013</b></h2></a>
2304 like you." -
2307 <p><a href=downloads/toybox-0.4.5.tar.bz2>Toybox 0.4.5</a> is based on
2316 each command can now understand --help (including both "toybox --help"
2317 and "toybox --help command" in the multiplexer).</p>
2319 <p>The "pending" directory has several commands (find, xzcat, nbd-client,
2329 <p>Fixed _another_ "ls -C" segfault when terminal size can't be detected,
2330 condensed the ls help text to fit on one page, implented --color, and taught
2331 -l to print the major, minor numbers when showing block/char devices.
2332 Argument parsing now handles "--" properly (to end option checking),
2333 and the infrastructure can now handle bare --longopts that have no
2335 Fixed an old bug in "patch", chmod grew -f, who grew -a. Isaac Dunham
2336 fixed "-" vs "_" handling in modinfo, added a "firmware" output
2337 field, added -b and -k support, and taught it that the ".ko" extension means
2342 (ala readlink -f /dev/sda as a normal user).
2361 <p><b>LICENSE TWEAK</b>: After <a href=http://lists.landley.net/pipermail/toybox-landley.net/2013-March/000794.html>discussion</a> on the mailing list the "2 clause
2380 <a name="21-03-2013" /><a href="#21-03-2013"><hr><h2><b>March 21, 2013</b></h2></a>
2384 <a href=http://landley.net/talks/celf-2013.txt>talk outline</a> and an
2385 <a href=/aboriginal/about.html#selfhost>android self-hosting writeup</a>.</p>
2393 <li>4m22s <a href=http://www.youtube.com/watch?v=SGmtP5Lg_t0#t=4m22s>Software needed to become self-hosting</a></li>
2415 <a name="14-03-2013" /><a href="#14-03-2013"><hr><h2><b>March 14, 2013</b></h2></a>
2416 <blockquote><p>"Ford, you're turning into a penguin. Stop it." -
2419 <p><a href=downloads/toybox-0.4.4.tar.bz2>Toybox 0.4.4</a> is based on
2423 <p>The "cp" command now implements the -s symlink option, plus bugfixes
2425 "id -Gn root" should now print root's groups
2428 can expect to find posix-2008 features in).</p>
2438 <a name="18-01-2013" /><a href="#18-01-2013"><hr><h2><b>January 18, 2013</b></h2></a>
2439 <blockquote><p>This must be Thursday. I never could get the hang of Thursdays. - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
2441 <p><a href=downloads/toybox-0.4.3.tar.bz2>Toybox 0.4.3</a> is based on
2446 <p>Elie De Brauwer added the rev command, cleaned up tac, implemented the -s
2447 and -f flags for seq, added -v and -i to killall (and fixed killall not to
2449 Felix Janda added -m to mkdir, pwd -L and -P, and more test suite entries.</p>
2454 default to -C and a screen size of 0 made column view unhappy), and cp got an
2460 <p>Infrastructure-wise the code is better about automatically setting the
2477 to -Os by default now.</p>
2479 <a name="15-12-2012" /><a href="#15-12-2012"><hr><h2><b>December 15, 2012</b></h2></a>
2483 </p><p>- The Hitchhiker's Guide to the Galaxy.</p></blockquote>
2485 <p><a href=downloads/toybox-0.4.2.tar.bz2>Toybox 0.4.2</a> is based on
2493 bug in login), and rm (from Rob Landley). Felix Janda added UTF-8
2494 support infrastructure (for non-ascii character sets) with a config option.
2495 Elie De Brauwer added tests for cat and sha1sum, and -so options to pidof.
2496 The "ls" command defaults to -C (column view) now, and "readlink" now supports
2497 -fenq.</p>
2509 (so no more hardwired directory list in scripts/genconfig.sh).</p>
2527 but am waiting for somebody to complain first. The default "ulimit -n" is 1024
2530 <a name="13-11-2012" /><a href="#13-11-2012"><hr><h2><b>November 13, 2012</b></h2></a>
2532 - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
2534 <p><a href=downloads/toybox-0.4.1.tar.bz2>Toybox 0.4.1</a> is based on
2542 <p>The patch command now supports -l, and gethostname is now enabled by
2544 Felix Janda added -m support to wc (for utf8).</p>
2547 "posix", "lsb", and "other" subdirectories (for things required by Posix-2008,
2558 <p>An upgrade to the build infrastructure now allows commands with _ and -
2571 fixes (thinko in xpidfile). Fixed uname -m when running a 32 bit x86 binary
2572 on an x86-64 host (it lies and says the system is i686, i586, or i486 depending
2594 <a name="23-07-2012" /><a href="#23-07-2012"><hr><h2><b>July 23, 2012</b></h2></a>
2597 out." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
2599 <p><a href=downloads/toybox-0.4.0.tar.bz2>Toybox 0.4.0</a> is based on
2612 <a href=code.html#lib_dirtree>dirtree</a> infrastructure, added an -r option
2613 to date (and fixed a bug where -u wouldn't override /etc/localtime),
2619 <a name="25-06-2012" /><a href="#25-06-2012"><hr><h2><b>June 25, 2012</b></h2></a>
2620 <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>
2622 <p><a href=downloads/toybox-0.3.1.tar.bz2>Toybox 0.3.1</a> is based on commit
2624 mostly a bugfix release for ls -l (which was unhappy on targets other than
2625 x86-64), plus a new "date" from Andre Renaud and rewritten chgrp/chown which
2635 <a name="12-06-2012" /><a href="#12-06-2012"><hr><h2><b>June 12, 2012</b></h2></a>
2637 he was more intelligent than dolphins because he had achieved so much - the
2638 wheel, New York, wars and so on - whilst all the dolphins had ever done was
2640 always believed that they were far more intelligent than man - for precisely
2641 the same reasons." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
2643 <p>It's well past time for <a href=downloads/toybox-0.3.0.tar.bz2>toybox 0.3.0</a>,
2662 you need a quarter-second sleep, it can do that now), and fixed a build bug
2666 mkdir -m). Ilya Kuzmich contributed comm. Elie De Brauwer added mountpoint,
2681 yes 'n' | cp -i should no longer bypass stdin and prompt via the tty, the
2682 SUID support no longer drops permissions going through the toybox
2683 multiplexer command, and a bugfix to xargs -0 means it should no longer
2685 posix whitespace handling that -0 obsoleted, but I'll deal with that next
2700 <a name="03-03-2012" /><a href="#03-03-2012"><hr><h2><b>March 3, 2012</b></h2></a>
2705 for all these years."</p></p>- The Hitchhiker's Guide to the Galaxy.</p>
2708 <p>Here's <a href=downloads/toybox-0.2.1.tar.bz2>toybox 0.2.1</a> based
2720 for cmp. Frank Bergmann sent a warning fix. Bryce Fricke added -i to cp.
2727 bloat-o-meter.)</p>
2740 <a name="12-02-2012" /><a href="#12-02-2012"><hr><h2><b>February 12, 2012</b></h2></a>
2745 <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
2748 <a href=downloads/toybox-0.2.0.tar.bz2>toybox-0.2.0</a>, more a synchronization
2750 ready-to-use state (what "make defconfig" builds), another ten or so partially
2757 <a name="15-11-2011" /><a href="#15-11-2011"><hr><h2><b>November 15, 2011</b></h2></a>
2758 - Back from the dead, Toybox is now under a 2
2768 <!--#include file="footer.html" -->