Lines Matching +full:- +full:execdir
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="30-11-2021" /><a href="#30-11-2021"><hr><h2><b>November 30, 2021</b></h2></a>
15 <p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
17 <p><a href=downloads/toybox-0.8.6.tar.gz>Toybox 0.8.6</a>
21 bootable under QEMU (using vanilla linux-5.15).</p>
26 (Also added basic support for the <a href=http://lists.landley.net/pipermail/toybox-landley.net/2021-August/012497.html>qualcomm hexagon</a>,
28 <a href=https://lists.nongnu.org/archive/html/qemu-devel/2021-07/msg06430.html>quite yet</a>.)</p>
37 Elliott added <b>date -s</b>, <b>pmap -p</b>, <b>tail -F -s</b>, <b>kill -0</b>,
38 <b>reboot/halt/poweroff -d</b>, taught <b>file</b> to
39 recognize Mach-o universal binaries, made Android's <b>log</b>
40 take input from stdin when it has no arguments, added <b>tail --bytes --lines</b>
41 (the --long synonyms for -c and -n),
42 added <b>i2cdetect -q</b>, taught <b>i2cdump</b> to write XX for
46 <p>Rob added <b>find -quit -lname -ilname</b> and <b>-d</b> as a synonym for -depth,
47 taught <b>cut -d $'\n'</b>
48 to cut by line and added posix <b>cut -nb</b> (which wraps to the start of -c
49 utf8 characters), added <b>cpio --ignore-devno --renumber-inodes</b>,
50 taught <b>cal</b> to use 3 arguments (day month year), added <b>tar --selinux</b>
51 support and a "had errors" message at the end, made <b>uname -o</b>
52 say "Toybox", and fixed the <b>grep -Fw</b> combination (used by the 64 bit
55 <p>Ella-0 added <b>split -n</b>. Peter Collingbourne added <b>grep -L</b>.</p>
58 <a href=https://standards.iso.org/ittf/PubliclyAvailableStandards/>ISO-5962</a>
62 <p>Elliott asked that toybox's <b>cut -DF</b> feature (a cheaper
65 <a href=http://lists.busybox.net/pipermail/busybox/2021-June/088886.html>submitted it to busybox</a>
73 (like <a href=https://boingboing.net/2021/05/19/freenode-irc-staff-quit-after-new-owner-seizes-control.html>everyone else's</a>;
75 <a href=https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/>was</a>
85 types (declare -i, declare -u, etc), several bugfixes, greatly
98 scripts/mkstatus.py, the old status.html wrapper that server-side-included
112 it's called with no arguments. (It still shows it for command --help.)
113 The --help option no longer needs to be the first option, and is
118 fixed an off-by-one in <b>dmesg</b> and a bounds check in <b>netstat</b>,
119 fixed <b>pidof -s</b>, and taught <b>rmmod</b> to handle multiple arguments.
120 Denys Vlasenko pointed out that <b>free -t</b> is "total" not "terabytes".
123 without -p.
129 whitespace and ignore trailing + or - (a NOP timezone), made <b>su</b> log the
134 made <b>env -i</b> use the old $PATH to run its command,
135 and made <b>grep --color</b> highlight all matches.</p>
140 a non-threaded app. (I hadn't noticed because it works fine with the musl
144 FS_IOC_{GET,SET}{VERSION,FLAGS} ioctl family are <a href=https://www.spinics.net/lists/linux-api/msg49101.html>historically broken</a>
149 <a href=https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man2?id=3de87d46840d>giving up</a>
153 <b>cut</b> switched to FLAG() macros and no longer allows -f with -F,
163 Ryan Pritchard reported a bug where <b>alias ls="ls --color"</b> would prevent
164 --help or --version from being the first argument to the command, which was
165 a pain to fix without breaking things like <b>echo -- --version</b> and
166 <b>basename -s --help file--help</b>.
173 <p><b>scripts/make.sh</b> now uses wait -n (available since bash 4.3 in February 2014)
179 <a href=https://github.com/landley/toybox/pull/292#issuecomment-899895909>centos</a>,
184 but the <a href=http://lists.landley.net/pipermail/toybox-landley.net/2021-August/012537.html>philosophal argument</a>
185 remains <a href=http://lists.landley.net/pipermail/toybox-landley.net/2021-September/012603.html>unresolved</a>.</p>
196 <p><b>scripts/record-commands</b> got updated and logwrapper got renamed <b>logpath</b>.</p>
198 <a name="19-05-2021" /><a href="#19-05-2021"><hr><h2><b>May 19, 2021</b></h2></a>
202 The other two-thirds stayed firmly at home and lived full, rich and happy lives
204 a dirty telephone.</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
206 <p><a href=downloads/toybox-0.8.5.tar.gz>Toybox 0.8.5</a>
210 bootable under QEMU (using vanilla linux-5.12, except that s390 needed another
238 <b>df</b> -a now shows overmounted filesystems.
239 <b>test</b> -k checks the sticky bit.
240 Added -t to <b>install</b>, <b>cp</b>, and <b>mv</b>, and -u to <b>cp</b>
242 <b>find</b> -executable checks that _we_ can execute them (u+x could be owned
245 <p>Elliott added several features to <b>date</b> (--iso, %:z output format, and
246 --utc as a synonym for -u), added a <b>sed</b> s///x option,
260 diff -u output).
269 Yi-Yo Chiang fixed a <b>rm</b> bug where -f could get confused by read
271 file, pointed out <b>install</b> -D was broken when the target file
274 promised (corrupting the archive) and fixed another cpio bug where -t test
277 fixed some <b>sed</b> tests (sed's lie-to-autoconf --version
280 Nir Lichtman pointed out that <b>rm</b> -p shouldn't try to rmdir / at the end,
283 Ethan Sommer fixed <b>install</b> -Dt,
285 -tnomsdos,smbfs.
289 Daniel Santana fixed <b>df</b> combining -P and -k,
296 -I with no arguments no longer segfaults, <b>grep</b> -f /dev/null no
297 longer adds a "" regex matching everything, -z no longer splits patterns
298 on \n, and -o can print zero length matches,
299 <b>cp</b> -t works with one argument and with --parents.
303 <b>tar</b> now removes empty directories where it wants to put a non-directory.
306 <p>The prebuilt x86-64 binaries shouldn't segfault on older x86-64 processors
309 a hyphenated "toybox-$TARGET" and then tried to make symlinks to just "toybox".</p>
313 Ella-0 added OpenBSD support (but not a separate defconfig, try
318 xclose() tests if fd is -1 so the caller doesn't have to.
319 txpect (the test suite's built-in "expect", implemented in shell) can
332 <a name="24-10-2020" /><a href="#24-10-2020"><hr><h2><b>October 24, 2020</b></h2></a>
334 "We are now cruising at a level of two to the power of twenty-five thousand to
337 <p>- The Hitchhiker's Guide to the Galaxy</p>
343 <a href=downloads/toybox-0.8.4.tar.gz>Toybox 0.8.4</a>
349 qemu. (The vmlinux in each tarball is a vanilla linux-5.9 kernel built
353 more links. New command features include the <b>sed -s</b> flag,
354 <b>cpio --no-preserve-owner</b> now affects archive creation,
355 Elliott added <b>tar -I</b> and multi-type
356 <b>find -type a,b,c</b> support, Mark Salyzyn added <b>xargs -P</b> to
380 The "toybox --help" output now lists the project's web page (<a href=https://github.com/landley/toybox/issues/50>by request</a>).
385 command list output (and "kill -l") to measure the current the terminal width
421 Elliott fixed chmod -R
424 to read date's default output format, fixed a recent echo -e \0 regression,
425 changed cpio -p parsing to match a <a href=http://lists.landley.net/pipermail/toybox-landley.net/2020-August/011955.html>bug</a> in the gnu version
430 <p>David Legault pointed out that unescape2() (and thus echo -e) wasn't handling
436 to an archive, and reported that --exclude wasn't working.
437 Peter McConalogue pointed out that cp/mv -i prompt should
444 Martin Stjernholm fixed <b>cp -P</b> to not follow symlinks and updated
446 Antoni Villalonga added more --long asiases to <b>chgrp/chown/rmdir</b>.
465 Rob switched dirtree_path() to a non-recursive implementation, and
468 read_password() now reads from tty device rather than stdin, and handles ctrl-c and ctrl-d, and
475 mkroot now only passes --no-preserve-owner to cpio (so initramfs files
477 version, because the other one is brain-damaged and errors out not
486 Cleanup blkdiscard so lib/args.c parses the -o and -l numbers, which means
488 oneit now uses flag macros and mentions -rn in the help. demo-utf8towc
492 <a name="11-05-2020" /><a href="#11-05-2020"><hr><h2><b>May 11, 2020</b></h2></a>
502 <p>- The Hitchhiker's Guide to the Galaxy</p>
505 <p>Despite everything <a href=downloads/toybox-0.8.3.tar.gz>Toybox 0.8.3</a>
511 (Some people were looking forward to <b>patch --fuzz</b> support too.)</p>
514 builds a bootable toybox-based Linux system using two source
517 a <a href=http://lists.landley.net/pipermail/toybox-landley.net/2020-April/011667.html>post with instructions</a> if you want to know how to build the
518 cross compilers for testing the various architectures. The self-contained
535 build bug where "make distclean" doesn't work in a "cp -sfR" symlink
543 ctrl-c.
550 <p>As for <b>scripts/mcm-buildall.sh</b> building cross compilers,
554 be used but prevents compile-time probes from detecting nommu,
559 <a href=https://github.com/richfelker/musl-cross-make/commit/5086175f2902>version</a>
560 of musl-cross-make with the top level Makefile
562 <a href=https://www.spinics.net/lists/linux-sh/msg56844.html>breaks the kernel
564 and LINUX_VER = 4.19.90 because the default musl-cross-make config uses an
565 out-of-tree headers package for some reason (those who forget history are
569 (I've also <a href=http://lists.landley.net/pipermail/toybox-landley.net/2020-May/011673.html>test built</a>
588 <b>cal</b> highlight the current day, added -T to <b>cp</b>/<b>mv</b>,
589 did a lot of work on <b>lsattr</b>/<b>chattr</b> (including adding -p
590 and "chattr ="), added tar --absolute-names, taught <b>id</b> to
591 support numeric lookup and handle unknown groups, made -G show all
592 groups, and removed context= from -Z.
593 Rob added <b>patch -F</b> (fuzz factor) support and <b>help -u</b> (usage only),
594 taught <b>echo -e</b> about bash extensions like \uXXXX unicode escapes,
595 <b>netcat -L</b> no longer automatically includes stderr (new -E
597 <b>setsid</b> now uses -c (like the man page says) instead of -t, and added
598 -w (wait) and -d (detach from tty).
599 Andrew Ilijic added <b>ls -w</b>, removed trailing whitespace on output,
600 and added tests for -C and -x.</p>
637 <b>find -L -type -l</b> now finds dangling symlinks, extra #ifdefs in
641 <b>netcat -L</b> no longer accumulates zombie processes,
648 Elliott fixed xargs -E, various things in modinfo,
649 added an error check to gzip when using zlib (which copies non-gzip data to
657 of its array in patch.c, removed the cpio --trailer option,
662 Jarno Mäkipää fixed utf8 support in cut -C, and cp --parents.
667 Denys Nykula fixed rm -i not to prompt for an empty "" argument.
670 Elliott switched <b>ls</b> to use the path-based functions now (which is racy,
683 ctrl-c.</p>
688 The non-git version number I keep forgetting to update each release moved
690 Fixed a couple different errors in mkflags.c (one of which caused ls --color
702 standard toybox argument parsing for -v and -p.
703 Several commands (help, cp) had sub-options removed from menuconfig.
710 <p>Update roadmap to note that posix-2008 moved to a different URL (content
722 <p>Shrank the sed help from 150 lines to 90-ish.</p>
727 reports the first non-matching step. (This for example lets sh.test check
734 EVAL doesn't supply -- (you have to provide your own if you want that).</p>
745 because they (intentionally!) don't support --help.
749 <a name="18-10-2019" /><a href="#18-10-2019"><hr><h2><b>October 18, 2019</b></h2></a>
754 </p> <p>- The Hitchhiker's Guide to the Galaxy</p>
757 <p><a href=downloads/toybox-0.8.2.tar.gz>Toybox 0.8.2</a>
762 (<b>dnsdomainname</b> is hostname -d, <b>arch</b> is uname -m), but about
764 and Android's <a href=http://lists.landley.net/pipermail/toybox-landley.net/2019-August/010845.html>hermetic build</a>
767 <p>The android-specific <b>getprop</b>, <b>setprop</b>, <b>start</b>, and <b>stop</b>
779 <p>The new "scripts/mcm-buildall.sh" convenience script builds cross
782 using <a href=https://github.com/richfelker/musl-cross-make>musl-cross-make</a>,
792 <p>Patrick Oppenlander fixed make -j (our make is a wrapper around
794 make with -j it wouldn't wait for make.sh to finish and the build broke).</b>
799 We upgraded <b>tar</b> to extract some older tarballs, <b>file</b> added -b and -s
807 <b>patch</b> ignores the -f -g# and --no-backup-if-mismatch options
809 ignores -P# (which requests parallel execution, maybe add it later but
811 --no-check-ceritificate and <b>gzip</b> ignore -n (again, we weren't doing
816 Eric Molitor implemented <b>nl</b> -v (with negative and zero starting values),
818 Tom Cherry added <b>netcat</b> -U (UNIX domain socket support).
820 Ethan Sommer added ln -t and rmdir --ignore-fail-on-non-empty.
821 Elliott Hughes added <b>grep</b> -R, <b>killall</b> -w, tar --mode,
822 fixed <b>ls</b> -Z and spacing in -lZ and --full-time,
823 added <b>xargs</b> --max-args and removed xargs -I (which we never actually
826 added xargs -o and made -p read from /dev/tty, added <b>blkid</b> -s, SEC_TYPE for ext3,
829 display in <b>lsof</b>, added <b>pidof</b> -x (thus making the default behavior _not_
830 be -x).</p>
838 with 1 argument (implicit - as second argument reading from stdin).
842 <b>find</b> grew several new options (%Z, -true, -false, and -newerXY), <b>ln</b> added -T.
843 The argument to <b>mktmp</b> --tmpdir is now optional.</p>
846 The unshare probe bit-rotted so it was impossible to build <b>unshare</b>
852 (ln -s toybox sh; ln -s sh ash) had an off by one error,
854 and later block that for non-root users to prevent device tracking).
856 hasn't got built-in support for yet (like sha3sum) which acted like redundant
863 <b>cp</b> -r unlinks() an existing symlink before trying to
864 recreate the symlink (otherwise cp -r into an existing directory will
869 and <b>hostname</b> -d no longer segfaults on machines with no domain name.</p>
880 made <b>printf</b> \c and \0 octal escapes work, fixed a <b>find</b> -name corner
881 case (find src/*.c -name file.c) and find dangling symlink behavior,
884 fixed a race in <b>losetup</b>, fixed <b>grep</b> -F with multiple matches on the same
885 line and an -I failure in the existing grep tests, made <b>readlink</b> notice
895 (non-UTF8) locale (didn't expect wcrtomb to return -1).
904 DIRTREE_STATLESS returns entries we couldn't stat() (with a zeroed ->st
905 field, and ->again |= 2), but filling in the file type from readdir().
931 <p>Android ndk-r20 doesn't define the __ANDROID_NDK__ symbol, so we switched
951 implemented diff --strip-trailing-cr and made diff not need /tmp.
959 <p>Elliott Hughes did a lot of work on the test suite: add kill -l tests,
966 confused by SELinux, hostname.test can run some tests as non-root,
993 The "./toybox --help" output now explains how to do install_flat by hand.</p>
999 <a name="21-05-2019" /><a href="#21-05-2019"><hr><h2><b>May 21, 2019</b></h2></a>
1001 <p>"I like the cover," he said. "'Don't Panic.' It's the first helpful or intelligible thing anybody's said to me all day."</p> <p>- The Hitchhiker's Guide to the Galaxy</p>
1004 <p><a href=downloads/toybox-0.8.1.tar.gz>Toybox 0.8.1</a>
1008 <p>Android is now using toybox as part of a <a href=http://lists.landley.net/pipermail/toybox-landley.net/2018-November/009824.html>"hermetic" build</a>
1010 building under Android). See Android's <a href=https://android.googlesource.com/platform/prebuilts/build-tools/+log>build-tools</a> and <a href=https://android.googlesource.com/platform/build/soong/+log>soong</a> repositories to follow along with development, or check the list for the <a href=http://lists.landley.net/pipermail/toybox-landley.net/2019-May/010485.html>current status</a>.</p>
1017 Tar is a near-rewrite with support for --owner --group and --sparse,
1018 capable of autodetecting "wget blah.tar.bz2 -O - | tar xv", a --restrict option
1025 <p><u>Updates</u>: Elliott added <b>find</b> -wholename/-iwholename, -printf,
1026 and -context, <b>grep</b> --exclude-dir, and <b>echo</b> -E.
1027 Rob added <b>blkid</b> -U and -L, <b>mount</b> now has UUID= support via blkid -U,
1028 you can now specify TZ="blah" in the <b>date</b> -d input string (although
1030 understands ,+N relative ranges. Makepost added <b>rm</b> -v.
1034 <b>touch</b> -t and -d autodetect the time format.</p>
1043 terminal types, made more better about directories and non-tty output,
1045 to recognize a c-sky ELF machine, and fixed timezone and daylight
1048 When run as non-PID 1 (for a chroot) oneit's exit code now indicates
1053 Sort's -k2.3,4.5 syntax is now documented and behaves more closely to
1069 and an endless loop with -EPIPE, fixed find -path/-ipath, made loggit()
1071 of --longname synonyms for short options, added getfattr --only-values,
1072 and timeout --foreground --preserve-status and --signal.</p>
1075 parent thread (in -H mode), hides the cursor in interactive mode, updates the
1082 Top now treats -o "" as an error (previously it displayed an empty screen).</p>
1085 clear the environment when -p is absent.
1086 Vidar Holen fixed inverted find -exec exit status.
1088 because a <a href=https://github.com/varnishcache/varnish-cache/issues/2879>newly added gcc bug</a> turns that into a build break, and
1091 A missing else in grep meant -x was sometimes ignored.</p>
1099 fails (because AOSP build scripts cared), so timeout --unknown returns 125
1105 (meaning -x was or wasn't encountered on the command line this time by
1110 lets long-running loops reset environment variables without memory leaks.</p>
1115 <p>New xparsedate() and xvali_date() functions allow date, tar --mtime, and
1142 so <a href=https://github.com/github/choosealicense.com/pull/643#issuecomment-463746027>github could recognize it</a> as 0BSD. (We're still waiting for
1143 "<a href=https://github.com/github/choosealicense.com/pull/643#issuecomment-464380789>a while</a>" to pass before github actually does, though.)</p>
1163 The test suite now does an rm -rf on testdir between each command so
1169 The find -newer test calls "sleep .1" to avoid intermittently failing with an
1175 <a name="08-02-2019" /><a href="#08-02-2019"><hr><h2><b>February 8, 2019</b></h2></a>
1181 <p>- The Hitchhiker's Guide to the Galaxy</p>
1184 <p><a href=downloads/toybox-0.8.0.tar.gz>Toybox 0.8.0</a>
1197 <p><u>New options</u>: <b>grep</b> now has --color, supports embedded NUL bytes in its input,
1199 needed the middle numerical field of -bB, etc).
1201 Volodymyr Medvid reported that install -d doesn't honor -o or -g.
1203 <b>mkdir</b> accepts both --parent and --parents as synonyms for -p, <b>touch</b> ignores -f,
1204 <b>basename</b> added -s to remove a trailing suffix, <b>dirname</b> now supports multiple
1205 arguments, <b>cmp</b> accepts --quiet and --silent as synonyms for -s, <b>hostname</b>
1206 added -sfd, <b>head</b> added --bytes as a synonym for -c and --lines as a synonym
1207 for -n, <b>mktemp</b> added -t and fixed -u, <b>sed</b> added -z and -iEXT to keep backup files,
1208 <b>md5sum</b> and sha1sum added --status and --check as synonyms -s and -c,
1209 <b>readlink</b> added --canonicalize as a synonym for -f, <b>sort</b> grew -V,
1210 <b>patch</b> added -s its synonym --quiet, <b>stat</b> added --format as
1211 a synonym for -c, <b>xargs</b> added -p -t -r,
1213 that <b>umount</b> ignore -c. Reverend Homer added a small optimization to file.c,
1215 taught <b>ls</b> -t to use the nanoseconds field.
1219 <b>cp</b> --preserve was segfaulting when you didn't specify _what_ to
1222 <b>sort</b> -x didn't work when
1231 Marius Adaskevicius pointed out <b>mdev</b> -s should follow symlinks,
1257 names via an escape syntax (because mkfs.vfat specifies an offset with -@),
1259 didn't have a dash (allowing "ps ax" and "ps -ax" to behave differently).</p>
1266 yocto 2.6 buils with -Werror=format-security by default).</p>
1277 reformatted a lot of --help text for consistency (removing trailing
1288 root-only tests when run as a normal user. The testcmd function prints the
1298 <a name="31-10-2018" /><a href="#31-10-2018"><hr><h2><b>October 31, 2018</b></h2></a>
1301 This has made a lot of people very angry and been widely regarded as a bad move."</p><p>- The Hitchhiker's Guide to the Galaxy
1305 <p><a href=downloads/toybox-0.7.8.tar.gz>Toybox 0.7.8</a>
1309 <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.
1310 You have to add an "llvm-cc" symlink to "clang", then use CROSS_COMPILE=llvm-
1312 target you want to build for. (To run it on a non-android host, you probably
1313 want "LDFLAGS=--static" too.)</p>
1316 courtesy of Elliott/Android. The <b>watch</b> command got a complete (tty-aware)
1322 The <b>ifconfig</b> command added -S (short view) giving one line of
1324 format. <b>grep</b> grew binary file detection, with -I and -a options to
1326 Zach Van Rijn asked for <b>find -empty</b>.
1329 Elliott also added "getconf -a" and a lot of missing getconf symbols the
1333 processing each like last release), and -l grew section identifiers (so
1334 the "getconf -l" output is no longer a directly consumable list of symbols
1336 Command line options specifying durations (like top -d or ping -i) can
1337 now use fractions and units, like "1.5" and ".1m". See "toybox --help" for
1340 name it's called under (so if you "ln -s $(which sleep) blah" and then
1347 In <b>diff</b> the android guys added --color and timestamps on the
1348 +++/--- lines. In <b>mdev</b> Faustas Azuolas Bagdonas added support
1354 Elliott responded to a bug in <b>getconf</b>'s sed-based header generation by
1363 Several fixes in <b>ping</b> (-w and -W didn't work, -c kept sending packets
1368 also fixed the units on blockdev --blkraget (reported by Martijn Coenen).
1370 style, leading zeroes, switch -f from %t to %T), <b>oneit</b> no longer
1374 triggered Android's strict ioctl filtering on non-filesystem fifos).
1376 CROSS_COMPILE) will now overwrite the (read-only) output file instead of
1382 into a hermetic build (hopefully with an eventual self-hosting option, work
1386 The <b>ps</b> help text changed: now "ps -o help" shows the fields and the normal
1387 --help is much more manageable. Ifconfig's --help text also got tidied up.
1389 the kconfig/ subdirectory still having (build only, non-shipping) GPL code
1426 <a name="23-06-2018" /><a href="#23-06-2018"><hr><h2><b>June 23, 2018</b></h2></a>
1432 <p> - The Hitchhiker's Guide to the Galaxy</p>
1435 <p><a href=downloads/toybox-0.7.7.tar.gz>Toybox 0.7.7</a>
1442 <p><u>New options</u>: The <b>cp</b> command added the --parents option,
1443 <b>readlink</b> now has -m to show where a missing path would be,
1446 Ng Zhi An added --getra and --setra (get/set readahead) to <b>blockdev</b>,
1447 Elliott Hughes added <b>xxd</b> -o and made <b>top</b> -d understand fractional
1449 Minghui Liu added <b>watch</b> -b.</p>
1452 48-core machine
1453 and fixed a glitch with -n, Haroon Maqsood pointed out "vmstat 1 1" didn't
1454 stop and "vmstat -n" didn't print the first theader line.
1455 Minghui Liu fixed a bug where <b>cp</b> -p didn't preserve
1457 working. Ryan Pritchard pointed out that <b>du</b> -d0 should act like du -s.
1461 Elliott fixed several things in <b>top</b> (removed spurious '\r' characters from -b
1464 ("cat /bin/ls | file -" still won't work but "file - < /bin/ls" should).
1466 and fixed <b>cut</b> -DF
1468 because outputting all delimiterless lines isn't what you want there, -D
1473 prequisites that needs to run, and reformatted more of the ps --help text
1478 with & has no dash in its first argument. (This lets "ps -ax" and "ps ax"
1480 The comma-separated-list parsing infrastructure moved to lib/commas.c.
1496 behavior difference between toybox and ubuntu (Ubuntu's ln -sf wouldn't
1501 run a test on a command name beginning with "-" (none yet but it
1510 dynamic libraries without corresponding --static versions).
1514 <a name="24-02-2018" /><a href="#24-02-2018"><hr><h2><b>February 24, 2018</b></h2></a>
1521 <p> - The Hitchhiker's Guide to the Galaxy</p>
1524 <p><a href=downloads/toybox-0.7.6.tar.gz>Toybox 0.7.6</a>
1534 ranges, utf8/unicode characters, and new -CDFO options. Use -C to measure
1535 columns rather than characters (for double width chars), and "cut -DF 3-5"
1538 <p>This release adds <b>top -m</b> and <b>iotop -H</b> (and fixed top width truncating for narrow terminal windows),
1539 added <b>iconv -c</b>, fixed <b>ps -T 1234</b> to show threads belonging to
1545 "See %s --help" message on the same line, and several web pages
1548 <p>Elliott and the Android devs added <b>df -i</b>, <b>uptime -p</b>,
1549 <b>time -v</b>, and <b>xxd -i -ri</b>,
1550 fixed <b>id -G</b> to only output the group IDs, fixed the <b>xargs -0 -n</b>
1551 combination, made <b>find -exec +</b> obey ARG_MAX (just like xargs), made
1567 <p>Commands with locale support now setlocale(LC_TYPE, "C.UTF-8") for more
1573 (which as a 64 bit number is good for + or - 292 million years from
1575 -1 instead of erroring out.</p>
1582 <a name="12-10-2017" /><a href="#12-10-2017"><hr><h2><b>October 12, 2017</b></h2></a>
1585 <p> - The Hitchhiker's Guide to the Galaxy</p>
1588 <p><a href=downloads/toybox-0.7.5.tar.gz>Toybox 0.7.5</a>
1593 of the many half-finished projects (dd, ping, lsof, iconv, cut, sysconf,
1594 the cp --parents option...) finished/promoted/tested, but decided adding big
1597 <p>A couple <b>new features</b> slipped in anyway. Ilya Kuzmich added head -c
1598 and strings -t (and corrected strings' output in a couple places). Elliott
1599 Hughes taught file to recognize Macintosh (Mach-O) binaries.</p>
1601 <p><b>NOTE</b>: the chrt command is broken when built against musl-libc
1604 <a href=https://git.musl-libc.org/cgit/musl/commit/?id=1e21e78bf7a5>removed
1606 so the chrt command there will always say -ENOSYS. (It works fine built against
1609 <p><b>Bugfixes</b>: Remounting (mount -o remount,rw) should work properly now,
1612 mostly noticeable in long-running "top" exiting; error value was treated
1613 as a pointer). Elliott Hughes fixed a -Wformat warning in expr.c,
1617 Josh Gao made netcat -l exit after handling a request, and reported a
1619 broken URL in the README. Rob fixed env -0 checking the flag wrong so
1639 stub function so compile-time probes for its existence think it's there, and
1642 <a name="19-06-2017" /><a href="#19-06-2017"><hr><h2><b>June 19, 2017</b></h2></a>
1643 <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.
1645 <p>- The Hitchhiker's Guide to the Galaxy</p>
1648 <p><a href=downloads/toybox-0.7.4.tar.gz>Toybox 0.7.4</a>
1655 -M and -S to match and skip wildcards respectively (useful with -r).
1656 Elliott's updated dmesg has -T and --color. The file
1657 command can recognize gzip now, uptime grew -s, date grew %N, env knows - as a first argument
1658 means -i (posix!) and grew -0, ls defaults to -b
1659 instead of -q now when there's a tty, and ls has a new -ll option (with
1660 --full-time as a compatibility synonym) showing nanoseconds and (for some
1662 "uudecode -o -" support. Illya Kuzmich taught head -v and -q. The cpio
1665 (Use the new --trailer option if you want the legacy behavior.)
1670 the kernel <a href=https://landley.net/notes-2013.html#28-03-2013>inexplicably</a>
1677 pass, made more tests run on a toybox-only system, and so on. The test suite
1688 <a href=http://lists.busybox.net/pipermail/buildroot/2016-December/180102.html>last release</a>.</p>
1696 help text for argument errors but instead just say "See %s --help" with the
1698 Elliott did a big period-ectomy on all the --help text, and
1700 non-html help -a output now has separators with the command name.
1708 was causing long-running top instances to occasionally exit),
1711 (so "ps -A | cat" doesn't vary), date's chkmktime() was replaced with
1718 Elliott fixed touch -a/-m (they were backwards), and allowed ':' in
1719 setprop's property names. Grep now exits with 2 for errors (so -q can
1729 <a name="21-02-2017" /><a href="#21-02-2017"><hr><h2><b>February 21, 2017</b></h2></a>
1733 <p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
1735 <p>Despite everything, <a href=downloads/toybox-0.7.3.tar.gz>Toybox 0.7.3</a>
1748 <p><u>New features</u>: Rob added units to <b>find</b> -atime and friends
1749 (with the legacy -amin alias). Elliott added color and -w to dmesg, fallocate
1750 -o, and improved file's ELF parsing. Steve Muckle added -d and finit_module
1754 df -a isn't entirely new, but wasn't documented and needed a bugfix.</p>
1757 Last release broke oneit because -c didn't get moved to xopen_stdio() (oops).
1760 that case but also switches on -w to avoid field truncation. The "tty"
1764 And while we're there, replace "ADDR" with "BIT" in ps -l so there are
1767 <p>Izabera pointed out that split -b and -l can't mix, and suggested seq should
1769 increments. Wang Xiao Jian fixed a bug in sort -k.
1772 Elliott also improved some error reporting and improved top -H's display
1776 in chmod -R (and the resulting generic fix to dirtree_notdotdot() fixed
1781 Rob fixed an option parsing bug (where switching off a --longopt in menuconfig
1783 (ala "abc[-ab][!abc]" with "command -a -b") would segfault.</p>
1785 <p>There's some sort of gcc stack over-optimization bug where musl-libc's
1787 stack varabiles in the same function after that get semi-randomly overwritten
1805 when you "ps -A | head" about EPIPE on output. (Older versions of bionic
1826 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
1830 <p>Cross-compiling from Macs needs to use "gsed" instead of apple's
1837 The new dirtree flag DIRTREE_PROC skips non-numeric entries so things
1840 <a name="21-10-2016" /><a href="#21-10-2016"><hr><h2><b>October 21, 2016</b></h2></a>
1843 own problem.</p><p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
1845 <p><a href=downloads/toybox-0.7.2.tar.gz>Toybox 0.7.2</a>
1849 <p>During this development cycle, Elliott Hughes <a href=http://androidbackstage.blogspot.com/2016/07/episode-53-adb-on-adb.html>got interviewed
1851 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>).
1864 <p><b>Upgrades</b>: All commands now parse --version when they understand
1865 --help, but "true" and "false" should now ignore their arguments entirely.
1866 We taught stat to handle "%12x" and "%.12x" printf-style escapes, which
1868 device driver. Added patch -d and --dry-run, wc can now do -cm together,
1869 find has a NOP -noleaf so scripts that use that don't break, add -c to md5sum
1870 and sha1sum. Elliott taught ps to treat extra aguments as additional -p
1871 pids, implemented xxd -s, did a number of upgrades to file (added -HL,
1874 Elliott also added optional build-time support for using openssl's
1875 assembly-optimized md5sum/sha1sum implementations (leading to a new
1881 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,
1882 made du max out at 2 terabytes instead of 2 gigabytes on 32-bit systems
1886 octal digits and handling the (posix-mandated) difference between %b and
1887 non-%b octal output, reading from "-" no longer closes stdin when done,
1888 netcat -L works with nommu (although it may need more portability work),
1894 appropriate). "LC_ALL=C ls -Cs --color" produces the same output
1895 as other versions (two spaces padding, -k hardwired on).<p>
1901 changing, fixed ls -sh, and added a lot of
1903 Izabera pointed out cmp -l and -s can't be selected at the same time,
1904 that timeout was never actually checking -v, that ls should default to -q
1905 when output is to a tty, and that "file -" would sometimes try to open "-"
1909 hardwired 512-byte units, so stat.c was wrong. David Hedges pointed out
1923 (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>
1925 <p>Several commands were over-using xprintf(), which flushes its output
1952 understands that "-" means stdin. New flag WARN_ONLY tells these functions
1953 to just print a warning on failure, and return -1 instead of exiting.
1959 <p>New TOYFLAG_NOHELP disables --help processing (which "true" and "false"
1962 <p>The test suite now has NOSPACE=1 to ignore whitespace (using diff -b to
1970 <a name="02-06-2016" /><a href="#02-06-2016"><hr><h2><b>June 2, 2016</b></h2></a>
1975 brain to see what is likely to be well received. However, no-one knows
1978 <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
1980 <p><a href=downloads/toybox-0.7.1.tar.gz>Toybox 0.7.1</a>
1982 is out. (Yes, I forgot to update the --version string, but I already
1996 <p>Izabera implemented env -u, suggested adding seq -w, made factor
1998 -w0 should disable wrapping, and sped up wc -c.
1999 Elliott Hughes added mount -o relatime, xxd -p -r, and od -w.
2000 Sameer Pradhan (or possibly Bilal Qureshi) suggested adding stat -tL -c %m%t%T.
2001 Tom Cherry added getprop -Z. Paul Barker added hostname -b and -F.
2002 Rob added ls -b, made ls -q work with utf8,
2003 made sed -f - read from stdin, and added top -O (like ps -O).</p>
2006 with -o TID, TNAME. We also added -o PCY (android scheduling policy),
2007 -o BIT (process is 32 or 64 bit), and -o TNAME now shows the parent
2022 <p>Grep -H and -n should now work properly with -ABC. Andy Chu pointed out an
2024 in diff -r, and fixed operator precedence in expr (although Rob is rewriting
2026 Patrick Ohly fixed the too-aggressive suid permission dropping logic.
2027 Josh Gao fixed a segfault when find -iname got no argument, and
2028 made tail -f work right with just one file argument.
2030 the tar tests, and reported another find bug (with -iname -o -iname not
2033 <p>Elliott Hughes fixed wc -c to not trust zero length files to actually be
2034 zero length (/proc does that), fixed "mount -o rw,remount /system" on
2035 Android, removed trailing spaces on ps -o cmdline, fixed pkill -9 and
2036 the corresponding tests, made "insmod -" work, fixed top -b and tail -NUM,
2041 Fixed mount -o to properly pass in leftover string data, and
2042 <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
2048 John Regehr. Andy Chu found a segfault in "sed -e 'c\'" with no trailing
2049 line, and implemented mv -n and cp -n. The cyanogenmod guys pointed out that
2050 cp -a shouldn't complain if a non-root user can't chown, and we added
2051 the output path to cp -r error messages while we were there (before was just
2056 suffix. Davis Mosenkovs fixed touch -t seconds parsing.
2063 produces a broken ps that ignores -A (because ps.o wasn't getting rebuilt
2064 even though top had the FLAG macros for -A zeroed).</p>
2111 infinite recursion depth support (needed by rm -r), updated the
2121 <a href=https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html>has vowed
2140 toys.h (to make cross-compiling from systems we don't run on easier).</p>
2143 "sed -e 'a\'" (with no next line of the pattern, so an unterminated
2148 is undocumented, non-obvious, and doesn't really make logical sense.)</p>
2155 <a name="02-02-2016" /><a href="#02-02-2016"><hr><h2><b>February 2, 2016</b></h2></a>
2159 </p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
2161 <p><a href=downloads/toybox-0.7.0.tar.gz>Toybox 0.7.0</a>
2167 (most replacing corresponding versions from pending). Added grep -ABC,
2168 swapon -d (discard), mkswap -L (label) and UUID support, and find -delete.
2169 Izabera added free -h and unshare -f. Josh Gao implemented tail -f.
2170 Jose Bollo submitted cp --preserve=context,attr. Kylie McClain added
2171 mktemp -u.</p>
2178 <p>Lots of updates to ps: several new -o options, -k (--sort) -O and -M,
2185 <p>Dreamhost restored the <a href="#12-21-2015">missing 11 months</a>
2192 <a href=http://landley.net/notes-2012.html#15-10-2012>never
2197 <a href=https://engineering.twitter.com/opensource/code-of-conduct>borrowing twitter's</a>) because somebody
2202 first one in the range, so [[] didn't terminate). Fixed sort -f and added test cases.
2203 Assume 80 columns in "ls -m | cat", ls -L is no longer backwards,
2206 to find (Gilad Arnold fixed -perm, Daniel K. Levy fixed "find . -exec echo {}",
2207 and while we're there I fixed find --prune, made "find . -execdir
2208 echo {} + -execdir ls {} +" work, and ripped out the environment size
2211 years and documented the %s escape, fixed hwclock -u, and pointed out
2215 values, and added a --no-preserve-owner option. Fixed the SUID permission
2216 dropping logic (which was a bit over-zealous, preventing some commands from
2219 <p>I'm told that debian-testing broke its libc so the nsenter build breaks,
2220 but my attempts to install the debian-testing network cd image under
2222 reproduce the problem. (Debootstrap under unbuntu builds an ubuntu-flavored
2226 <p>Rewrite of the about.html page, tweaks to design.html, and a re-triage of
2239 <li><p>Renamed dirtree->data to dirfd and stopped storing symlink length
2241 didn't give a valid directory filehandle, noticeable with ls -Z).</p></li>
2261 <p>We're getting close to having a self-hosting development environment
2270 <p>And the remaining non-busybox commands in Aboriginal Linux's build/host
2288 <a name="12-21-2015" /><a href="#12-21-2015"><hr><h2><b>December 21, 2015</b></h2></a>
2315 <a name="03-11-2015" /><a href="#03-11-2015"><hr><h2><b>November 3, 2015</b></h2></a>
2318 of Betelgeuse?" Arthur shrugged in a so-so sort of way. "I don't know," he
2319 said, taking a pull of beer. "Why - do you think it's the sort of thing you're
2320 likely to say?"</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
2322 <p><a href=downloads/toybox-0.6.1.tar.gz>Toybox 0.6.1</a>
2326 <p>We have a new <b>ps</b> command with all the -o fields posix wants (although
2327 it doesn't accept BSD non-dash option syntax yet), and <b>bunzip2</b> (not just
2328 bzcat but the proper extract-in-place command).
2332 <p>The people waiting for <b>human readable number support</b> (du -hH, ls -h,
2344 all knowledge and wisdom about nommu. The old site <a href=#12-02-2012>contains
2360 reboot, init, login, and modprobe, and fixed a distro-specific build break in
2361 scripts/mkflags.h. Elliott Hughes and Lipi Lee made netstat -p handle
2362 command lines longer than 21 characters, and Elliott fixed netstat -e and
2376 either), fixed several ls -l display issues (user/group field ordering,
2379 class, fixed a mv overwrite bug, made df's columns auto-size, added
2380 --ppid and -Z to ps, and teamed up with Daniel K. Levy to fix
2381 a segfault in find's handling of -newer -group or -user.</p>
2383 <p>Hyejin Kim added stat -c %T support. Colin Cross worked
2386 units. Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra
2387 newline and that grep -w '\(x\)\1' didn't work, both now fixed.
2393 <p>Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra
2394 newline and that grep -w '\(x\)\1' didn't work, both now fixed.
2400 <p>Two large thinko fixes in oneit: -3 was always enabled (which would
2403 set up right (for requesting semi-graceful halt/poweroff/reboot).
2404 Calling install without a mode is now 0755, and install -g 0 no longer clashes
2405 with cp --preserve. Better error message for ls -r on unreadable
2406 directories, and ls -Z now uses O_PATH (with the /proc/self/fd/%d
2409 <p>Date now understands @unixtime[.fraction] and uses -D for
2410 the set-side format (matching busybox's extension for this). The seq -f
2421 a NULL argv (see cpio -p for example usage). Replaced toys.recurse
2422 with toys.stacktop so the recurse or re-exec decision is now based
2423 on bytes of stack space used. Marked a bunch of command-local functions
2430 The login command finally got a long-overdue cleanup (it's one of the
2437 "make CROSS_COMPILE=prefix-" (as well as "CROSS_COMPILE=prefix- make",
2438 which still works). Toybox is now installed chmod -w so broken installers
2447 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>,
2448 but <a href=http://github.com/richfelker/musl-cross-make>with musl-libc</a>
2450 fact they provide a non-functional fork() implementation that always returns
2451 -ENOSYS, to prevent you from compile-time probing for nommu support when
2452 cross-compiling. Unfortunately "preventing you from probing" seems to be
2456 enable musl-specific bug workarounds.</p>
2458 <a name="23-07-2015" /><a href="#23-07-2015"><hr><h2><b>July 23, 2015</b></h2></a>
2459 <p>I recreated the <a href=downloads/toybox-0.6.0.tar.gz>0.6.0 source tarball</a>
2461 because I forgot to add --prefix to the git archive command when I updated
2465 <a name="19-07-2015" /><a href="#19-07-2015"><hr><h2><b>July 19, 2015</b></h2></a>
2470 around in.</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
2472 <p><a href=downloads/toybox-0.6.0.tar.gz>Toybox 0.6.0</a>
2474 is out. (Yes, git. See the <a href=#05-04-2015>previous news entry</a>.)</p>
2484 <a href=http://landley.net/talks/celf-2015.txt>outline</a>), in which I
2485 repeat my <a href=http://landley.net/notes-2013.html#07-11-2013>perennial</a>
2494 <a href=#15-11-2011>most</a>
2496 <a href=http://landley.net/notes-2011.html#13-11-2011>research</a> on
2506 (<a href=http://landley.net/talks/ohio-2013.txt>outline</a>,
2507 <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
2524 let it coexist with cat -v.
2530 <p><b>New options:</b> Added sed -E as a BSD-compatible synonym for -r.
2531 Upgraded oneit with -r (restart), -3 (send exiting PID values to child),
2532 and signal handling. Added -v option to timeout, -m to mknod, -u to shred,
2533 -t to dmesg, and -123 to head and tail. Added implicit "." to grep -r without
2534 any files to work on. Hyejin Kim requested prefix support for truncate -s.
2535 Greg Hackman added -inum to find.
2536 Jan Cybulski added the smack side of ls -Z support. Various patches also
2537 added -Z to mkdir, mknod, and mkfifo.
2538 Basic cp --preserve support went in, but not yet the xattr/LSM parts.</p>
2540 <p>The toybox command now has a --version option,
2549 update-alternatives". (There's some argument over
2553 <a href=http://landley.net/writing/hackermonthly-issue022-pg33.pdf>for
2567 to make --longopts take an optional =value part, and more about TOYBOX_DEBUG
2580 Fixed mount -a segfaulting without -O (reported by Janus Troelsen),
2583 Fixed printf -- and printf ---. Lots of tweaks to ls -l spacing with
2584 different options. Make touch -d and -t actually set time when you don't
2595 numeric uid/gids, and that sort -z affects both input and output.
2597 David Halls fixed bugs in install -D and find -exec. Samuel Holland
2598 fixed unshare -r. Hyejin Kim fixed makedevs with a count of 1, fold -w
2599 range checking, an error path in scripts/mkflags.c, added -i to dhcpd,
2601 Jan Cybulski spotted wrong indentation when combining ls -s and -i with -C and
2602 -x. José Bollo fixed stat %G. Sameer Pradhan fixed a bug in mkfifo -Z.</p>
2612 fix dmesg -c error reporting, fix a segfault in comma_scan where the option
2613 was the last item in optlist (triggered by mount -o ro,remount), fix
2614 hwclock -w, made ifconfig print lowercase MAC addresses (it was bothering
2623 support to mdev. Yeongdeok Suh added RFC-3315 ipv6 support to dhcpd.</p>
2635 a standard syntax). Don't depend on malloc(0) to return non-null in ls.
2647 The build now checks $LDFLAGS for linker-only flags, and allows the strip
2652 security modules stuff, if (lsm_enabled()) should turn into a compile-time
2668 <p>The not-curses infrastructure introduced by hexedit mostly moved to
2679 with its GNU counterparts" means when CP_MORE adds 7 non-posix options
2683 GNU is special is there are a half-dozen other independent
2689 <a href=http://archive.linuxfromscratch.org/lfs-museum/7.6/LFS-BOOK-7.6-NOCHUNKS.html#ch-tools-gcc-pass1>calling mv -v</a>
2690 then I impelement mv -v
2693 util-linux isn't a gnu package, nor are info-zip, e2fsprogs, kmod, less,
2696 <a name="05-04-2015" /><a href="#05-04-2015"><hr><h2><b>April 5, 2015</b></h2></a>
2699 and <a href=https://github.com/kraj/meta-musl/tree/master/recipes-core/toybox>openembedded</a>
2700 and <a href=https://packages.gentoo.org/package/sys-apps/toybox>gentoo</a>
2706 <a name="25-02-2015" /><a href="#25-02-2015"><hr><h2><b>February 25, 2015</b></h2></a>
2709 complete fools."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
2711 <p><a href=downloads/toybox-0.5.2.tar.gz>Toybox 0.5.2</a>
2739 <a href=http://www.mail-archive.com/toybox@lists.landley.net/>two</a>
2757 <p>Some commands grew new option flags, such as cp --remove-destination
2758 and touch -h.</p>
2761 re-exec itself to regain suid root permissions and hasn't got the suid bit,
2771 no longer defined -d but still had it in option groups at the end).
2772 Workaround for glibc redefining dirname() and basename() to random non-posix
2781 did rm -r on it without -f, after the prompt it would complain it was a
2826 <a name="18-02-2015" /><a href="#18-02-2015"><hr><h2><b>February 18, 2015</b></h2></a>
2828 here's <a href=http://www.mail-archive.com/toybox@lists.landley.net/>another
2834 <a href=http://www.dreamhoststatus.com/2015/01/14/discussion-list-hardware-maintenance/>hardware upgrade to fix a software problem</a>, and the stale
2839 web archive, from Dec 15-Jan 3, and then another hole from Jan 16-Feb 18.
2843 <a name="30-12-2014" /><a href="#30-12-2014"><hr><h2><b>December 30, 2014</b></h2></a>
2851 <a href=http://lists.landley.net/listinfo.cgi/toybox-landley.net>the first link</a>.</p>
2855 <a name="19-11-2014" /><a href="#19-11-2014"><hr><h2><b>November 19, 2014</b></h2></a>
2857 <blockquote><p>"This time it was right, it would work, and no one would have to get nailed to anything."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
2859 <p><a href=downloads/toybox-0.5.1.tar.bz2>Toybox 0.5.1</a>
2874 Did you know "echo hello | sed p - -" segfaults gnu sed in Ubuntu 12.04?
2893 Isaac Dunham implemented acpi -ctV options, and spotted the bug that ls -d
2894 was inappropraitely following command line symlinks without -H or -L (it
2895 should act like ls -l does), and ls -F handles symlinks wrong too.
2903 static analysis. (These fixes are mostly to seldom-used codepaths like the
2905 also suggested upgrading ln -f to leave the original target alone if link
2906 creation fails, and reported that mv -f and -i weren't implemented (now fixed).</p>
2919 probes for functions missing from bionic-libc, and annotated the commands that
2931 <p>The printf-style escape parsing ("\n" and friends) got factored out into
2934 <a name="02-10-2014" /><a href="#02-10-2014"><hr><h2><b>October 2, 2014</b></h2></a>
2938 difficulties."</p><p>- The Hitchhiker's Guide to the Galaxy<p></blockquote>
2940 <p><a href=downloads/toybox-0.5.0.tar.bz2>Toybox 0.5.0</a>
2948 <p>cp now implements -HL and -F to force delete of pending files, cpio now
2949 ignores -m and implements -p, ls -C now has utf8 support (using wcwidth
2966 about linker options passed with -c, and the entire "generated" directory now
2975 sub-options (so CP has CP_MORE), enables I18N and FLOAT support to build
2976 full-featured commands, and includes --help text (at least when
3011 done with the directory filehandle still open (new dir->again variable added
3014 Use daemon() out of libc instead of hand-rolled daemonize() in various
3024 toy_exec() sometimes needs to re-exec from $PATH rather than recurse
3030 option parsing bug where [-abc] would forget _all_ command line arguments
3033 Lukasz Szpakowski fixed rm -f on a broken symlink (failed), and killall
3038 <p>A somewhat fiddly fix to rm -rf (which needs to chmod directories to u+rwx
3042 to portability.h with a workaround, you may need CFLAGS=-D__MUSL__ in your
3051 another release, so locally patching around posix-2008 violations is silly).</p>
3057 "$" at the end), but this prevents UTF-8 usernames. Posix' stated logic
3080 sort on the host broke in non-C locales.</p>
3085 <a name="07-07-2014" /><a href="#07-07-2014"><hr><h2><b>July 7, 2014</b></h2></a>
3086 <blockquote><p>"This planet has - or rather had - a problem, which was this:
3091 unhappy."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3093 <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>
3099 host from Rich felker, and I did nbd-client and the first 2/3 of mount.</p>
3103 fallocate, and nbd-client.</p>
3134 <p>Fix od bug reported by Samuel Holland ("od -v -b" was appending the default
3148 a pipe). Bugfix so "help -a" works again. Option parsing on nohup now stops
3150 which was actually a bug in lib function find_in_path(). Made rm -rf of
3166 added tests for cpio, link, and du, added lspci -i, made the pci database
3170 it actually smaller in the process. I added -b flags to md5sum and sha1sum
3175 the build now switches on all the sub-options of the command so we get
3178 <p>Add -ds flags to date and document +FORMAT escapes. Add the shell NOP
3184 <p>The umount command now does an losetup -d on the device by default, so
3196 to toys.signalfd with the signal number if signalfd isn't -1 (which it's
3202 decimal kilo/mega/gigabytes (so when du -u says 5.0G it means 5.0 billion
3207 <a name="20-04-2014" /><a href="#20-04-2014"><hr><h2><b>April 20, 2014</b></h2></a>
3212 turn it off.</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3214 <p><a href=downloads/toybox-0.4.8.tar.bz2>Toybox 0.4.8</a> is based on
3234 compress.c, and still need to do a corresponding deflate (compression-side)
3243 <p><b>Upgrades:</b> Ifconfig grew /prefix netmask support (ala 1.2.3.4/24). Grep now has -zZ to
3244 handle null terminated data, cksum grew -H for hex output. Upgraded od so the
3245 fields align better when producing multiple output types. Help has -a and -h
3251 Ashwini Sharma spotted a bug in pidof -o, and added verbose (-v) options
3252 to mkdir and ln, and suggested killall should have an -s option and
3253 allow -l to take zero arguments. Ashwini Sharma and Felix Janda upgraded
3273 <p>Regression tested against Ubuntu 8.04 to fix up bit-rot in defconfig
3274 build on older systems. (We depend on Posix-2008, but not necessarily
3285 help text for all the defconfig commands, using the new help -ah output.
3293 <a name="18-11-2013" /><a href="#18-11-2013"><hr><h2><b>November 18, 2013</b></h2></a>
3294 <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."</p><p>-
3297 <p><a href=downloads/toybox-0.4.7.tar.bz2>Toybox 0.4.7</a> is based on
3311 added -e to watch, removed a memory leak, and fixed a terminal size problem.
3314 where grep didn't malloc enough space with -E (leading to a segfault).
3316 the code I wrote), in od to fix -t co, -J, and -c options. Add uname -o as a
3317 synonym for -s. Build fix to never use $CC without prefixing it with
3321 <p>The compile-time command line option parsing got rewritten (ported from
3323 --longopts to drop out properly when disabled in the configuration. Terminal
3324 querying got refactored. Patch's -x option is now more informative (a
3330 <a name="17-09-2013" /><a href="#17-09-2013"><hr><h2><b>September 17, 2013</b></h2></a>
3334 and this might turn out to be it.</p><p>- The Hitchhiker's Guide to the Galaxy</p>
3337 <p><a href=downloads/toybox-0.4.6.tar.bz2>Toybox 0.4.6</a> is based on
3346 <p>The ls command now has a --color=auto option (suggested by Rich Felker).
3347 The multiplexer now has a --help option so you can say "./toybox --help blah"
3348 instead of using the built-in "help" command. (Which is a shell built-in.
3350 other project has conditioned people to expect --help, so...) I forget who
3362 M. Farkas-Dyck), and sysvinit by Kyungwan Han.</p>
3402 <p>General improvements and bug fixes to argument parsing. The [-abc] exclude
3403 logic should now clear arguments slots when disabling options. Bare --longopts
3406 --color and --color=auto but not --color auto).</p>
3421 (-fno-asynchronous-unwind-tables)
3424 "-fstop-being-stupid" is a thing you have to hit gcc with from time to time.</p>
3429 finally make it work right (we think). Still need to implement tail -f
3430 someday (the tricky bit is making -f follow multiple files at once).
3454 <p>Last release, "mkdir sub/sub && chmod 007 sub/sub && rm -rf sub" didn't
3459 <a name="26-07-2013" /><a href="#26-07-2013"><hr><h2><b>July 26, 2013</b></h2></a>
3465 <a name="02-07-2013" /><a href="#02-07-2013"><hr><h2><b>July 2, 2013</b></h2></a>
3468 like you."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3470 <p><a href=downloads/toybox-0.4.5.tar.bz2>Toybox 0.4.5</a> is based on
3479 each command can now understand --help (including both "toybox --help"
3480 and "toybox --help command" in the multiplexer).</p>
3482 <p>The "pending" directory has several commands (find, xzcat, nbd-client,
3492 <p>Fixed _another_ "ls -C" segfault when terminal size can't be detected,
3493 condensed the ls help text to fit on one page, implented --color, and taught
3494 -l to print the major, minor numbers when showing block/char devices.
3495 Argument parsing now handles "--" properly (to end option checking),
3496 and the infrastructure can now handle bare --longopts that have no
3498 Fixed an old bug in "patch", chmod grew -f, who grew -a. Isaac Dunham
3499 fixed "-" vs "_" handling in modinfo, added a "firmware" output
3500 field, added -b and -k support, and taught it that the ".ko" extension means
3505 (ala readlink -f /dev/sda as a normal user).
3524 <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
3543 <a name="21-03-2013" /><a href="#21-03-2013"><hr><h2><b>March 21, 2013</b></h2></a>
3547 <a href=http://landley.net/talks/celf-2013.txt>talk outline</a> and an
3548 <a href=/aboriginal/about.html#selfhost>android self-hosting writeup</a>.</p>
3556 <li>4m22s <a href=http://www.youtube.com/watch?v=SGmtP5Lg_t0#t=4m22s>Software needed to become self-hosting</a></li>
3578 <a name="14-03-2013" /><a href="#14-03-2013"><hr><h2><b>March 14, 2013</b></h2></a>
3579 <blockquote><p>"Ford, you're turning into a penguin. Stop it." -
3582 <p><a href=downloads/toybox-0.4.4.tar.bz2>Toybox 0.4.4</a> is based on
3586 <p>The "cp" command now implements the -s symlink option, plus bugfixes
3588 "id -Gn root" should now print root's groups
3591 can expect to find posix-2008 features in).</p>
3601 <a name="18-01-2013" /><a href="#18-01-2013"><hr><h2><b>January 18, 2013</b></h2></a>
3602 <blockquote><p>This must be Thursday. I never could get the hang of Thursdays.</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3604 <p><a href=downloads/toybox-0.4.3.tar.bz2>Toybox 0.4.3</a> is based on
3609 <p>Elie De Brauwer added the rev command, cleaned up tac, implemented the -s
3610 and -f flags for seq, added -v and -i to killall (and fixed killall not to
3612 Felix Janda added -m to mkdir, pwd -L and -P, and more test suite entries.</p>
3617 default to -C and a screen size of 0 made column view unhappy), and cp got an
3623 <p>Infrastructure-wise the code is better about automatically setting the
3640 to -Os by default now.</p>
3642 <a name="15-12-2012" /><a href="#15-12-2012"><hr><h2><b>December 15, 2012</b></h2></a>
3646 </p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3648 <p><a href=downloads/toybox-0.4.2.tar.bz2>Toybox 0.4.2</a> is based on
3656 bug in login), and rm (from Rob Landley). Felix Janda added UTF-8
3657 support infrastructure (for non-ascii character sets) with a config option.
3658 Elie De Brauwer added tests for cat and sha1sum, and -so options to pidof.
3659 The "ls" command defaults to -C (column view) now, and "readlink" now supports
3660 -fenq.</p>
3690 but am waiting for somebody to complain first. The default "ulimit -n" is 1024
3693 <a name="13-11-2012" /><a href="#13-11-2012"><hr><h2><b>November 13, 2012</b></h2></a>
3695 </p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3697 <p><a href=downloads/toybox-0.4.1.tar.bz2>Toybox 0.4.1</a> is based on
3705 <p>The patch command now supports -l, and gethostname is now enabled by
3707 Felix Janda added -m support to wc (for utf8).</p>
3710 "posix", "lsb", and "other" subdirectories (for things required by Posix-2008,
3721 <p>An upgrade to the build infrastructure now allows commands with _ and -
3734 fixes (thinko in xpidfile). Fixed uname -m when running a 32 bit x86 binary
3735 on an x86-64 host (it lies and says the system is i686, i586, or i486 depending
3757 <a name="23-07-2012" /><a href="#23-07-2012"><hr><h2><b>July 23, 2012</b></h2></a>
3760 out."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3762 <p><a href=downloads/toybox-0.4.0.tar.bz2>Toybox 0.4.0</a> is based on
3775 <a href=code.html#lib_dirtree>dirtree</a> infrastructure, added an -r option
3776 to date (and fixed a bug where -u wouldn't override /etc/localtime),
3782 <a name="25-06-2012" /><a href="#25-06-2012"><hr><h2><b>June 25, 2012</b></h2></a>
3783 <blockquote><p>"For a moment, nothing happened. Then, after a second or so, nothing continued to happen."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3785 <p><a href=downloads/toybox-0.3.1.tar.bz2>Toybox 0.3.1</a> is based on commit
3787 mostly a bugfix release for ls -l (which was unhappy on targets other than
3788 x86-64), plus a new "date" from Andre Renaud and rewritten chgrp/chown which
3798 <a name="12-06-2012" /><a href="#12-06-2012"><hr><h2><b>June 12, 2012</b></h2></a>
3800 he was more intelligent than dolphins because he had achieved so much - the
3801 wheel, New York, wars and so on - whilst all the dolphins had ever done was
3803 always believed that they were far more intelligent than man - for precisely
3804 the same reasons."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3806 <p>It's well past time for <a href=downloads/toybox-0.3.0.tar.bz2>toybox 0.3.0</a>,
3825 you need a quarter-second sleep, it can do that now), and fixed a build bug
3829 mkdir -m). Ilya Kuzmich contributed comm. Elie De Brauwer added mountpoint,
3844 yes 'n' | cp -i should no longer bypass stdin and prompt via the tty, the
3846 multiplexer command, and a bugfix to xargs -0 means it should no longer
3848 posix whitespace handling that -0 obsoleted, but I'll deal with that next
3863 <a name="03-03-2012" /><a href="#03-03-2012"><hr><h2><b>March 3, 2012</b></h2></a>
3868 for all these years."</p><p>- The Hitchhiker's Guide to the Galaxy</p>
3871 <p>Here's <a href=downloads/toybox-0.2.1.tar.bz2>toybox 0.2.1</a> based
3883 for cmp. Frank Bergmann sent a warning fix. Bryce Fricke added -i to cp.
3890 bloat-o-meter.)</p>
3903 <a name="12-02-2012" /><a href="#12-02-2012"><hr><h2><b>February 12, 2012</b></h2></a>
3908 <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
3911 <a href=downloads/toybox-0.2.0.tar.bz2>toybox-0.2.0</a>, more a synchronization
3913 ready-to-use state (what "make defconfig" builds), another ten or so partially
3920 <a name="15-11-2011" /><a href="#15-11-2011"><hr><h2><b>November 15, 2011</b></h2></a>
3921 - Back from the dead, Toybox is now under a 2
3931 <!--#include file="footer.html" -->