• Home
  • Raw
  • Download

Lines Matching +full:close +full:- +full:nonexistent +full:- +full:disable +full:- +full:issues

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 <!-- new entry template
12 <a name="DD-MM-YYYY" /><a href="#01-01-2001"><hr><h2><b>Jan 1, 2001</b></h2></a>
16 </p> - The Hitchhiker's Guide to the Galaxy</p>
19 <p><a href=downloads/toybox-0.0.1.tar.gz>Toybox 0.0.1</a>
23 … using a <a href=https://github.com/landley/linux/tree/mkroot-0.1>lightly patched</a> linux-0.1).<…
38 -->
40 <a name="18-01-2025" /><a href="#18-01-2025"><hr><h2><b>Jan 18, 2025</b></h2></a>
44 </p> - The Hitchhiker's Guide to the Galaxy</p>
47 <p><a href=downloads/toybox-0.8.12.tar.gz>Toybox 0.8.12</a>
51 …QEMU 9.2.0 (built using a <a href=/bin/mkroot/0.8.12/linux-patches/>lightly patched</a> linux-6.12…
53 <p>Posix-2024 (SUSv5, issue 8) finally came out, and a few things
54 have been tweaked, but as with Posix-2008 (SUSv4, issue 7, released
63 <p><u>Features</u>: added <b>netcat -o -O</b> (hex output, the first
67 added -f FILE and --no-sync to <b>devmem</b>, and
69 Oliver Webb added <b>test -ef -ot -nt</b>,
70 Brian Norris added <b>dmesg -W</b>.
71 Karthikeyan Ramasubramanian added <b>devmen --no-mmap</b>.
79 <b>grep -r</b> now opens files with O_NOBLOCK|O_NOCTTY to avoid getting hung
81 <b>patch -F0</b> disables fuzz support,
82 <b>find -size</b> implies -type f,
85 more complicated relative file permission parsing like <b>chmod g+rX-ws</b>
87 <b>tar</b> honors umask unless -p supplied (with tests),
88 <b>test</b> -nt and -ot now only check nanoseconds when the seconds match,
94 fixed <b>cp -i -v</b> verbose notifications (showing source when they should
98 Yi-Yo Chiang fixed </b>netcat -f</b> and two bugs in <b>microcom</b>'s
106 Kana Steimle fixed <b>blkid</b> to match util-linux behavior more closely.</p>
115 -M virt board emulation so it can exit now. The <b>armv5l</b> -M versatilepb
120 (no default -hda bus <a href=https://lists.gnu.org/archive/html/qemu-devel/2025-01/msg00996.html>in…
121 board emulation), <b>microblaze</b> (no -hda
122 available even with -drive, and the board emulation doesn't know how to exit
129 is now a short way to say "qemu-system-$CROSS -M $QEMU_M".
133 (just a start, several of the shipped patches are in the obsolete diff -c
142 <p><b>mkroot/record-commands</b> can now be run from an arbitrary directory,
146 (Running a command under it the way chroot or sh -c work still sets up
148 the log.) Also, make it work on a busybox-based host (where "find -type"
154 Eric Roshan-Eisner fixed several issues in <b>vi</b> and its tests.
156 Daniel Rosenberg added <b>diff --no-dereference</b> and fixed comparisons
194 <b>FLAG(x)</b>. Minor cleanup on <b>cp -r</b>.
205 endianness checking now uses the compiler's built-in <b>__BYTE_ORDER__</b> macro
206 instead of needing to #include headers. The nommu-friendly <b>xvdaemon()</b>
215 <b>sysctl</b> now accepts -A as an alias for -a but
219 Elliott clarified the relationship between <b>ls -s</b> and --block-size</b>.
223 Added <b>TOYFLAG_NOBUF</b>, used by microcom to disable stdio buffering.
231 trouble, and a swap-thrashing system may not finish even with a 5 second wait
239 musl-libc, works fine without ASAN enabled, is not failing IN
251 Added --start-group and --end-group around the "extra" libraries when static
253 Sadly -f does not reliably shut up gnu/chmod, despite its longopt aliases
254 being "--silent" and "--quiet" (the <strike>aristocrats</strike> FSF!)
258 prefixed-ar, but no.)
262 <a name="08-04-2024" /><a href="#08-04-2024"><hr><h2><b>April 8, 2024</b></h2></a>
270 <p>- The Hitchhiker's Guide to the Galaxy</p>
273 <p><a href=downloads/toybox-0.8.11.tar.gz>Toybox 0.8.11</a>
277 … under QEMU (built using a <a href=/bin/mkroot/0.8.11/linux-patches>lightly patched</a> linux-6.8)…
289 <p>And one command got temporarily de-promoted: <b>passwd</b> is "default n"
297 "cc -I scripts/prereq/generated file1.c file2.c..."). This provides
301 toybox-prereq at the start of the $PATH, add
304 <p>New <b>mv -x</b> option to atomically swap two files,
305 <b>env -e FILE</b> executes a different command than argv[0] on the command
307 negative offsets in <b>sort -k</b> count right to left,
309 and the -cc option will try to steal it,
311 <b>wc -L</b> shows longest line length,
312 <b>tar -h</b> now detects a lot more hardlinks,
319 not musl-libc), and added a "paste" menu to <b>microcom</b>. Kalesh Singh
322 with test. Oliver Webb suggested <b>count -l</b>.
323 Aditya submitted <b>netcat -z</b>.</p>
326 Fixed <b>printf \0</b> and <b>grep -w</b> (which never quite worked right),
327 <b>ls -k</b> now switches off --block-size,
328 <b>install -dm 02750</b> works (sticky bit support for -d),
332 <b>mkpasswd -m sha*</b> salt length can now range from 8-16, not just 16,
337 <b>iconv</b> now exits with error if any characters failed to convert with -c,
338 things like <b>truncate -s 1e2</b> were saying "too large" and now correctly
349 <p>Elliott added an error message to catch <b>xxd -r</b> receiving -p format
350 input without -p,
351 fixed <b>readelf -n</b> for x86-64 ibt/shstk notes
365 The in-progress rewrite of <b>lib/password.c</b> no longer uses shadow.h
375 [-abc] blocks, so you can have punctuation participate in option groups,
382 picking up the README.root file used by the tar-for-web.sh script
384 Extended <b>run-qemu.sh</b> so it can be run from other directories
385 (prepending $(dirname $0)/ to linux-kernel and initramfs.cpio.gz when
387 The initramfs now has <b>/etc/os-release</b> with the toybox $VERSION.
414 <p>Several new <b>mcm-buildall.sh</b> targets (or1k, riscv32, riscv64, sh4eb)
415 taking advantage of upstream musl-cross-make updating itself to use
416 musl-1.2.5. The target list in mcm-buildall.sh moved into a <b>TARGETS=()</b>
426 allows qemu-system-sh4eb to run the sh2eb nommu root filesystem), and armv4l
431 Rob enabled command recursion in <b>toysh</b> (so it can call non-builtins as
437 builtins, added <b>tr -t</b>, in <b>vi</b> added line gotos in ex mode,
450 from <b>nbd-client</b>.
455 mkroot/record-commands.</p>
458 Fixed <b>truncate -s 8g</b> on 32 bit hosts,
459 updated <b>mcm-buildall.sh</b> to autodetect host type and automatically
463 MacOS had a use-after-free with the getpwuid() return value being recycled
485 Fix <b>sed --help</b> to show full help, <b>patch -F</b> is now mentioned
493 by <b>mkroot/tar-for-web.sh</b> got updated.
495 and the architecture list got updated to match mcm-buildall.sh.
500 installed packages (dpkg-query -S "$(which $COMMAND)") and debian breaks
510 has already whack-a-moled) and means among other things
534 user and group names for any existing files. Added nbd-client.test
553 nevertheless warns if you printf("%ld", ptr-ptr) and wants a magic invented
560 <a name="30-07-2023" /><a href="#30-07-2023"><hr><h2><b>July 30, 2023</b></h2></a>
569 <p>- The Hitchhiker's Guide to the Galaxy</p>
572 <p><a href=downloads/toybox-0.8.10.tar.gz>Toybox 0.8.10</a>
576 … using a <a href=https://github.com/landley/linux/tree/mkroot-6.4>lightly patched</a> linux-6.4).<…
581 <p>Lots of changes to mkroot, <a href=http://landley.net/talks/mkroot-2023.txt>working</a>
585 Added a bunch of options to <b>tar</b> (-s --ignore-case --wildcards
586 --anchored --wildcards-match-slash --one-file-system), <b>ls --sort</b>
589 <b>cpio -R</b> to set user/group of all files and <b>cpio -L</b> to
590 follow symlinks, <b>gzip -t</b> to test file integrity, <b>find -readable</b>,
591 <b>cut -DFR</b> now has --longopts aliases (as suggested by the coreutils list).
593 autodetects console from sysfs with no -c argument, added "next address"
599 Elliott added <b>xxd -e</b> (little endian), <b>lspci -x</b> (hex dump of
600 pci config space), <b>ls --block-size</b>, widened the default
608 inputs (tested with <b>read i; echo =$i; head -n 1; done &lt; input</b>).
612 Fix </b>help -u -au</b>, and the "see othercommand" generation.
613 Adding fuzz support subtly broke <b>patch</b> in a couple places: fixed -R and
615 error for <b>cpio -i</b>, and <b>-d</b> just warns about directory creation
616 failure instead of exiting. Adding <b>--wildcards</b> logic to <b>tar</b>
622 Fix a <b>sed</b> bug when s//&amp;/ (the copy-matched-text operator) was the
623 first change made to the string. Fix error message for <b>find</b> -commands
626 parsing of command names with spaces in them. Fixed <b>grep -m -A</b> used
627 together (-m stops new matches but -A still shows lines after match).
628 Fixed <b>mv</b> to --preserve=all when copying between filesystems.
634 on error, and <b>date -s +abc</b> was segfaulting.
635 Jooyung Han fixed <b>nsenter</b> using -C and -t together.
636 More fixes from Eric Roshan-Eisner's toysh fuzzing, and he also sent a fix
651 into "mount -t TYPE" names.</p>
662 (kernel configs) is in a docs/ subdirectory. Added linux-microconfig
664 New <b>mkroot/tar-for-web.sh</b> script that generates tarballs for
680 Switched initramfs packaging to use more portable <b>cpio -R 0:0</b>
681 instead of --no-preserve-owner. Moved the -m 256 before $@ in run-qemu.sh
683 The <b>mkroot/record-commands</b> setup script will now use logpath
690 Eli Lipsitz fixed bugs in init and login. Elliott added risc-v support
694 and improved empty file handling. Rob fixed vi -s. Various cleanups to
703 and better line continuation handling in general, added set -u,
716 <b>cpio</b>. Added requested --gratuitous-longopt synonyms to <b>ls</b>.
722 utf-8 support still isn't automatic in libc (you have to set an appropriate locale to
723 enable it), and locales aren't entirely standardized: try C.UTF-8 (which MacOS hasn't got)
724 and fall back to en_US.UTF-8 (which Gentoo hasn't got).
733 Calling <b>command --help</b> and <b>toybox --help command</b> shows
738 Update <b>sed</b> help text now that -e and -f get processed in command
747 example if you needed "command -:" then ":" is ascii 58 (hex 3A,
788 is counterproductive. LLVM needs a new -Wno-invalid-source-encoding flag
790 to put utf-8 in there I can just do so, why would I octal escape it?
793 <a name="10-01-2023" /><a href="#10-01-2023"><hr><h2><b>January 10, 2023</b></h2></a>
796 "I told you!" shouted Ford, leaping to his feet. "Eddies in the space-time
799 <p>- The Hitchhiker's Guide to the Galaxy</p>
802 <p><a href=downloads/toybox-0.8.9.tar.gz>Toybox 0.8.9</a>
806 … using a <a href=https://github.com/landley/linux/tree/mkroot-6.1>lightly patched</a> linux-6.1).<…
808 <p>The new <b>nbd-server</b> command interoperates with nbd-client to serve
809 network block devices (using the v1 protocol), and Moritz Weber contributed a read-only <b>git</b>
815 Improved <b>tar --xform</b> support parsing flags= and trailing s/// scope
816 flags (but using --xform now requires toybox sed in the $PATH).</p>
818 <p>Added <b>sort -C</b>, <b>lsusb -i</b>, <b>netcat -n</b>,
819 <b>swapoff -a -v</b>, <b>httpd -v</b>, <b>nbd-client -b</b>,
820 a <b>uname -p</b> stub to mollify package builds,
822 <b>sed</b> now parses interlaced -e and -f arguments in order,
825 <b>netcat -u -s 127.0.0.1 -p 9876 -l</b> can type at <b>netcat -u 127.0.0.1 9876</b>
828 Elliott added <b>ls -N</b>.</p>
830 <p><u>Bugfixes</u>: Fixed off by one error in <b>sort -c</b> output,
831 fixed <b>sed -z</b> and other sed cases where Linux has never obeyed
833 <b>patch --dry-run</b> should no longer create or delete files,
835 the ./configure of gmake 4.3 depends on <b>test</b> treating one argument -a as a synonym for -e,
841 <b>xxd</b> disables columns for -c 0 and groups for -g 0 (so you can get
844 the logic isn't quite the same, and -q should also quiet "not found" errors),
846 contents, fixed <b>comm -</b> not recognizing it as stdin, and multiple fixes to
851 <p>Yi-Yo Chiang fixed loopback <b>mount</b> (the recent switch to xrunread()
853 (old-style synonym for tail -n +123).
858 one in <b>grep -f</b> that discarded the last character of the pattern file's
864 feed a NULL pointer to the syscall's options arguments (the kernel goes -EWTF),
883 used by <b>stat -f</b> and friends.</p>
900 fixing the <a href=https://landley.net/notes-2014.html#13-08-2014>longstanding</a>
904 <a href=https://github.com/landley/linux/tree/mkroot-6.1>seperate repository</a>
913 needed by the linux-6.1 build. The kernel patches also remove the need
916 <a href=https://landley.net/notes-2013.html#18-05-2013>generally obsolete</a>).
918 …oybox/downloads/binaries/mkroot/0.8.9/linux-patches/0001-try-generic-compiler-name-cc-before-falli…
919 …landley.net/toybox/downloads/binaries/mkroot/0.8.9/linux-patches/0004-Replace-timeconst.bc-with-mk…
924 m68k and powerpc now support "run-qemu.sh -hda file.img", and m68k only
934 <p><u>Pending</u>: Elliott made <b>strace</b> build on 32-bit x86.
935 James Farrell added <b>diff -f</b>.
943 pending? (Meta-pending?)</p>
947 <b>nbd-client</b>, better output messages for <b>host</b>,
949 Moved -Wno-string-plus-int into portability.sh and had it only apply to
980 understand bashisms like &lt;(command). LLVM insisted that "ptr - 1" could
985 a bunch of --longopt synonyms for existing options that package builds
989 generation logic (toybox help -av) now filter out invisible aliases and
991 cases like <b>nohup --help</b>.
994 <a href=https://github.com/landley/toybox/blob/0.8.9/scripts/git-static-index.sh>small shell script…
995 linking to the <b>git format-patch</b> files for
1000 includes the prefix twice (ala CROSS_COMPILE=prefix- CC=prefix-cc results in
1001 prefix-prefix-cc) which is what happens when you ask it to do that, yes. It's now
1005 <p>Yi-Yo Chiang's losetup fix spawned an email thread where the
1006 android developers <a href=http://lists.landley.net/pipermail/toybox-landley.net/2022-August/029139…
1010 <a name="12-08-2022" /><a href="#12-08-2022"><hr><h2><b>August 12, 2022</b></h2></a>
1014 <p>- The Hitchhiker's Guide to the Galaxy</p>
1017 <p><a href=downloads/toybox-0.8.8.tar.gz>Toybox 0.8.8</a>
1021 bootable under QEMU (built using vanilla linux-5.19).</p>
1031 The new <b>timeout -i</b> option kills a command for inactivity (output
1033 Basic support for <b>tar --xform</b> (but not yet the special tar-only s///x
1035 --long options now support unambigous abbrevations by default, so you can
1036 go "ls --col" and it'll figure out you mean --color.
1037 Added <b>blkid -o</b> understanding "full", "value", and "export" output
1038 formats. Added <b>nsenter -C</b> (cgroup namespace) and <b>-a</b> (enable all
1040 Added <b>mount -R</b> and switched the bind mount default to be recursive
1041 (it still autodetects --bind and --loop mounts based on the source/target type,
1042 all --bind or --rbind do is switch the recursive flag on and off).</p>
1044 <p>Elliott implemented <b>tar --null</b>,
1048 from <a href=https://phoronix.com/news/LoongArch-MIPS-Copy-Kernel>china</a>).</p>
1055 debian's (I.E. "unshare -npu" works the same as "unshare -n -p -u" not
1056 "unshare --net=pu").
1059 <b>test -x</b> and friends now test live access, not permission bits.
1060 (Root ignores a lot of permissions, chmod u-x blocks you from executing your
1069 nonexistent directory, "make toybox" didn't even though it tried to place the
1073 $(id -u). (It's not a security issue, this just controls which tests we attempt.
1094 LDFLAGS=--static instead of putting that in CFLAGS.</p>
1137 re-enter the list when it receives two different killer signals. (Since
1145 non-issues at present.</p>
1169 The top level "configure" is now re-entrant (shouldn't append stuff
1195 (ala "truncate -s 3m file; truncate -s 5m file; du file" says it's using
1207 a <b>linux-kernel</b> built from <b>linux-fullconfig</b> which is built
1208 from <b>linux-miniconfig</b>, and a <b>run-qemu.sh</b> script to launch
1220 (This is because toybox hasn't got built-in https support yet, it's on the
1228 <a name="23-07-2022" /><a href="#23-07-2022"><hr><h2><b>July 23, 2022</b></h2></a>
1230 <a href=https://landley.net/notes-2022.html#22-07-2022>happened
1237 <p>Dreamhost tech support has been informed of the issue a half-dozen times,
1245 <a href=#12-21-2015>a while</a>. I _think_ the 11 month gap that last link
1250 <a name="06-05-2022" /><a href="#06-05-2022"><hr><h2><b>May 6, 2022</b></h2></a>
1253 finally dived screaming on to the first planet they came across - which
1254 happened to be the Earth - where due to a terrible miscalculation of scale
1256 <p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
1258 <p><a href=downloads/toybox-0.8.7.tar.gz>Toybox 0.8.7</a>
1262 bootable under QEMU (using vanilla linux-5.17).</p>
1279 (everybody just uses <b>cat -v</b>).</p>
1283 sort field is now SHIFT LEFT/RIGHT). Added <b>find -samefile</b>,
1284 <b>cmp -n</b> (and wired up skip1 skip2),
1285 <b>tar --strip components</b> (and tar --owner and --group can now specify :UID and :GID making tar…
1290 In toysh, <b>cd</b> got updated ("cd -" jumps to $OLDPWD,
1294 <b>cp --preserve xattr,context</b> work together now, and
1295 Dario Freni fixed <b>cp --xattr</b> to avoid copying selinux context.
1296 The <b>sort -u</b> option now implies -s, <b>wget -O -</b> now writes to stdout,
1297 <b>pwget -B</b> removes more characters other implementations don't emit,
1300 Fixed <b>nl -E</b>, <b>realpath -e</b>, <b>find</b> -newerXY and @time.nanosecond parsing,
1301 Various <b>sh</b> (it handles ${X: -1:1} properly now,
1302 which is not the same as ${X:-1:1} because :- has special meaning).
1306 The multiplexer's <b>toybox command --help</b> once again shows the command's
1307 help (not toybox --help).
1318 options, imply "?" so "command -123" isn't an unknown option.
1339 More command sub-options removed (NETCAT_LISTEN and CAT_V).</p>
1348 Added -Wno-pointer-sign to $CFLAGS because passing an unsigned char * to a
1353 out of $PATH by --version and the powerpc64le build, respectively).</p>
1365 Moved llvm's -Wno-string-plus-int into configure instead of probing
1377 The mcm-buildall.sh script got some minor updates, and the resulting
1382 "toybox --help" no longer says "see toybox --help".
1390 Added the kconfig-language.txt from Linux-2.6.12 to the kconfig/ directory.</p>
1392 <a name="30-11-2021" /><a href="#30-11-2021"><hr><h2><b>November 30, 2021</b></h2></a>
1396 <p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
1398 <p><a href=downloads/toybox-0.8.6.tar.gz>Toybox 0.8.6</a>
1402 bootable under QEMU (using vanilla linux-5.15).</p>
1407 …c support for the <a href=http://lists.landley.net/pipermail/toybox-landley.net/2021-August/012497…
1409 <a href=https://lists.nongnu.org/archive/html/qemu-devel/2021-07/msg06430.html>quite yet</a>.)</p>
1418 Elliott added <b>date -s</b>, <b>pmap -p</b>, <b>tail -F -s</b>, <b>kill -0</b>,
1419 <b>reboot/halt/poweroff -d</b>, taught <b>file</b> to
1420 recognize Mach-o universal binaries, made Android's <b>log</b>
1421 take input from stdin when it has no arguments, added <b>tail --bytes --lines</b>
1422 (the --long synonyms for -c and -n),
1423 added <b>i2cdetect -q</b>, taught <b>i2cdump</b> to write XX for
1427 <p>Rob added <b>find -quit -lname -ilname</b> and <b>-d</b> as a synonym for -depth,
1428 taught <b>cut -d $'\n'</b>
1429 to cut by line and added posix <b>cut -nb</b> (which wraps to the start of -c
1430 utf8 characters), added <b>cpio --ignore-devno --renumber-inodes</b>,
1431 taught <b>cal</b> to use 3 arguments (day month year), added <b>tar --selinux</b>
1432 support and a "had errors" message at the end, made <b>uname -o</b>
1433 say "Toybox", and fixed the <b>grep -Fw</b> combination (used by the 64 bit
1436 <p>Ella-0 added <b>split -n</b>. Peter Collingbourne added <b>grep -L</b>.</p>
1439 <a href=https://standards.iso.org/ittf/PubliclyAvailableStandards/>ISO-5962</a>
1443 <p>Elliott asked that toybox's <b>cut -DF</b> feature (a cheaper
1446 <a href=http://lists.busybox.net/pipermail/busybox/2021-June/088886.html>submitted it to busybox</a>
1454 (like <a href=https://boingboing.net/2021/05/19/freenode-irc-staff-quit-after-new-owner-seizes-cont…
1456 <a href=https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/>was</a>
1466 types (declare -i, declare -u, etc), several bugfixes, greatly
1479 scripts/mkstatus.py, the old status.html wrapper that server-side-included
1493 it's called with no arguments. (It still shows it for command --help.)
1494 The --help option no longer needs to be the first option, and is
1499 fixed an off-by-one in <b>dmesg</b> and a bounds check in <b>netstat</b>,
1500 fixed <b>pidof -s</b>, and taught <b>rmmod</b> to handle multiple arguments.
1501 Denys Vlasenko pointed out that <b>free -t</b> is "total" not "terabytes".
1504 without -p.
1510 whitespace and ignore trailing + or - (a NOP timezone), made <b>su</b> log the
1515 made <b>env -i</b> use the old $PATH to run its command,
1516 and made <b>grep --color</b> highlight all matches.</p>
1521 a non-threaded app. (I hadn't noticed because it works fine with the musl
1525 FS_IOC_{GET,SET}{VERSION,FLAGS} ioctl family are <a href=https://www.spinics.net/lists/linux-api/ms…
1530 <a href=https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man2?id=3de87d46840d>giv…
1534 <b>cut</b> switched to FLAG() macros and no longer allows -f with -F,
1544 Ryan Pritchard reported a bug where <b>alias ls="ls --color"</b> would prevent
1545 --help or --version from being the first argument to the command, which was
1546 a pain to fix without breaking things like <b>echo -- --version</b> and
1547 <b>basename -s --help file--help</b>.
1554 <p><b>scripts/make.sh</b> now uses wait -n (available since bash 4.3 in February 2014)
1560 <a href=https://github.com/landley/toybox/pull/292#issuecomment-899895909>centos</a>,
1565 but the <a href=http://lists.landley.net/pipermail/toybox-landley.net/2021-August/012537.html>philo…
1566 remains <a href=http://lists.landley.net/pipermail/toybox-landley.net/2021-September/012603.html>un…
1577 <p><b>scripts/record-commands</b> got updated and logwrapper got renamed <b>logpath</b>.</p>
1579 <a name="19-05-2021" /><a href="#19-05-2021"><hr><h2><b>May 19, 2021</b></h2></a>
1583 The other two-thirds stayed firmly at home and lived full, rich and happy lives
1585 a dirty telephone.</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
1587 <p><a href=downloads/toybox-0.8.5.tar.gz>Toybox 0.8.5</a>
1591 bootable under QEMU (using vanilla linux-5.12, except that s390 needed another
1619 <b>df</b> -a now shows overmounted filesystems.
1620 <b>test</b> -k checks the sticky bit.
1621 Added -t to <b>install</b>, <b>cp</b>, and <b>mv</b>, and -u to <b>cp</b>
1623 <b>find</b> -executable checks that _we_ can execute them (u+x could be owned
1626 <p>Elliott added several features to <b>date</b> (--iso, %:z output format, and
1627 --utc as a synonym for -u), added a <b>sed</b> s///x option,
1641 diff -u output).
1650 Yi-Yo Chiang fixed a <b>rm</b> bug where -f could get confused by read
1651 only filesystems and produce an error trying to unlink a nonexistent
1652 file, pointed out <b>install</b> -D was broken when the target file
1655 promised (corrupting the archive) and fixed another cpio bug where -t test
1658 fixed some <b>sed</b> tests (sed's lie-to-autoconf --version
1661 Nir Lichtman pointed out that <b>rm</b> -p shouldn't try to rmdir / at the end,
1664 Ethan Sommer fixed <b>install</b> -Dt,
1666 -tnomsdos,smbfs.
1670 Daniel Santana fixed <b>df</b> combining -P and -k,
1677 -I with no arguments no longer segfaults, <b>grep</b> -f /dev/null no
1678 longer adds a "" regex matching everything, -z no longer splits patterns
1679 on \n, and -o can print zero length matches,
1680 <b>cp</b> -t works with one argument and with --parents.
1684 <b>tar</b> now removes empty directories where it wants to put a non-directory.
1687 <p>The prebuilt x86-64 binaries shouldn't segfault on older x86-64 processors
1690 a hyphenated "toybox-$TARGET" and then tried to make symlinks to just "toybox".</p>
1694 Ella-0 added OpenBSD support (but not a separate defconfig, try
1699 xclose() tests if fd is -1 so the caller doesn't have to.
1700 txpect (the test suite's built-in "expect", implemented in shell) can
1713 <a name="24-10-2020" /><a href="#24-10-2020"><hr><h2><b>October 24, 2020</b></h2></a>
1715 "We are now cruising at a level of two to the power of twenty-five thousand to
1718 <p>- The Hitchhiker's Guide to the Galaxy</p>
1724 <a href=downloads/toybox-0.8.4.tar.gz>Toybox 0.8.4</a>
1730 qemu. (The vmlinux in each tarball is a vanilla linux-5.9 kernel built
1734 more links. New command features include the <b>sed -s</b> flag,
1735 <b>cpio --no-preserve-owner</b> now affects archive creation,
1736 Elliott added <b>tar -I</b> and multi-type
1737 <b>find -type a,b,c</b> support, Mark Salyzyn added <b>xargs -P</b> to
1752 close to usable now.</p>
1761 The "toybox --help" output now lists the project's web page (<a href=https://github.com/landley/toy…
1766 command list output (and "kill -l") to measure the current the terminal width
1771 Firas Khalil Khana fixed some issues in the roadmap, and Rob
1802 Elliott fixed chmod -R
1803 ignoring dangling symlinks, fixed stty <a href=https://github.com/landley/toybox/issues/251>mispars…
1805 to read date's default output format, fixed a recent echo -e \0 regression,
1806 changed cpio -p parsing to match a <a href=http://lists.landley.net/pipermail/toybox-landley.net/20…
1811 <p>David Legault pointed out that unescape2() (and thus echo -e) wasn't handling
1817 to an archive, and reported that --exclude wasn't working.
1818 Peter McConalogue pointed out that cp/mv -i prompt should
1825 Martin Stjernholm fixed <b>cp -P</b> to not follow symlinks and updated
1827 Antoni Villalonga added more --long asiases to <b>chgrp/chown/rmdir</b>.
1846 Rob switched dirtree_path() to a non-recursive implementation, and
1849 read_password() now reads from tty device rather than stdin, and handles ctrl-c and ctrl-d, and
1856 mkroot now only passes --no-preserve-owner to cpio (so initramfs files
1858 version, because the other one is brain-damaged and errors out not
1867 Cleanup blkdiscard so lib/args.c parses the -o and -l numbers, which means
1869 oneit now uses flag macros and mentions -rn in the help. demo-utf8towc
1873 <a name="11-05-2020" /><a href="#11-05-2020"><hr><h2><b>May 11, 2020</b></h2></a>
1883 <p>- The Hitchhiker's Guide to the Galaxy</p>
1886 <p>Despite everything <a href=downloads/toybox-0.8.3.tar.gz>Toybox 0.8.3</a>
1892 (Some people were looking forward to <b>patch --fuzz</b> support too.)</p>
1895 builds a bootable toybox-based Linux system using two source
1898 a <a href=http://lists.landley.net/pipermail/toybox-landley.net/2020-April/011667.html>post with in…
1899 cross compilers for testing the various architectures. The self-contained
1916 build bug where "make distclean" doesn't work in a "cp -sfR" symlink
1924 ctrl-c.
1931 <p>As for <b>scripts/mcm-buildall.sh</b> building cross compilers,
1935 be used but prevents compile-time probes from detecting nommu,
1940 <a href=https://github.com/richfelker/musl-cross-make/commit/5086175f2902>version</a>
1941 of musl-cross-make with the top level Makefile
1943 <a href=https://www.spinics.net/lists/linux-sh/msg56844.html>breaks the kernel
1945 and LINUX_VER = 4.19.90 because the default musl-cross-make config uses an
1946 out-of-tree headers package for some reason (those who forget history are
1950 (I've also <a href=http://lists.landley.net/pipermail/toybox-landley.net/2020-May/011673.html>test …
1969 <b>cal</b> highlight the current day, added -T to <b>cp</b>/<b>mv</b>,
1970 did a lot of work on <b>lsattr</b>/<b>chattr</b> (including adding -p
1971 and "chattr ="), added tar --absolute-names, taught <b>id</b> to
1972 support numeric lookup and handle unknown groups, made -G show all
1973 groups, and removed context= from -Z.
1974 Rob added <b>patch -F</b> (fuzz factor) support and <b>help -u</b> (usage only),
1975 taught <b>echo -e</b> about bash extensions like \uXXXX unicode escapes,
1976 <b>netcat -L</b> no longer automatically includes stderr (new -E
1978 <b>setsid</b> now uses -c (like the man page says) instead of -t, and added
1979 -w (wait) and -d (detach from tty).
1980 Andrew Ilijic added <b>ls -w</b>, removed trailing whitespace on output,
1981 and added tests for -C and -x.</p>
2013 Ethan Sommer fixed numerous small issues (including several build
2018 <b>find -L -type -l</b> now finds dangling symlinks, extra #ifdefs in
2022 <b>netcat -L</b> no longer accumulates zombie processes,
2029 Elliott fixed xargs -E, various things in modinfo,
2030 added an error check to gzip when using zlib (which copies non-gzip data to
2038 of its array in patch.c, removed the cpio --trailer option,
2043 Jarno Mäkipää fixed utf8 support in cut -C, and cp --parents.
2048 Denys Nykula fixed rm -i not to prompt for an empty "" argument.
2051 Elliott switched <b>ls</b> to use the path-based functions now (which is racy,
2064 ctrl-c.</p>
2069 The non-git version number I keep forgetting to update each release moved
2071 Fixed a couple different errors in mkflags.c (one of which caused ls --color
2083 standard toybox argument parsing for -v and -p.
2084 Several commands (help, cp) had sub-options removed from menuconfig.
2091 <p>Update roadmap to note that posix-2008 moved to a different URL (content
2103 <p>Shrank the sed help from 150 lines to 90-ish.</p>
2108 reports the first non-matching step. (This for example lets sh.test check
2115 EVAL doesn't supply -- (you have to provide your own if you want that).</p>
2126 because they (intentionally!) don't support --help.
2130 <a name="18-10-2019" /><a href="#18-10-2019"><hr><h2><b>October 18, 2019</b></h2></a>
2135 </p> <p>- The Hitchhiker's Guide to the Galaxy</p>
2138 <p><a href=downloads/toybox-0.8.2.tar.gz>Toybox 0.8.2</a>
2143 (<b>dnsdomainname</b> is hostname -d, <b>arch</b> is uname -m), but about
2145 and Android's <a href=http://lists.landley.net/pipermail/toybox-landley.net/2019-August/010845.html…
2148 <p>The android-specific <b>getprop</b>, <b>setprop</b>, <b>start</b>, and <b>stop</b>
2160 <p>The new "scripts/mcm-buildall.sh" convenience script builds cross
2163 using <a href=https://github.com/richfelker/musl-cross-make>musl-cross-make</a>,
2173 <p>Patrick Oppenlander fixed make -j (our make is a wrapper around
2175 make with -j it wouldn't wait for make.sh to finish and the build broke).</b>
2180 We upgraded <b>tar</b> to extract some older tarballs, <b>file</b> added -b and -s
2188 <b>patch</b> ignores the -f -g# and --no-backup-if-mismatch options
2190 ignores -P# (which requests parallel execution, maybe add it later but
2192 --no-check-ceritificate and <b>gzip</b> ignore -n (again, we weren't doing
2197 Eric Molitor implemented <b>nl</b> -v (with negative and zero starting values),
2199 Tom Cherry added <b>netcat</b> -U (UNIX domain socket support).
2201 Ethan Sommer added ln -t and rmdir --ignore-fail-on-non-empty.
2202 Elliott Hughes added <b>grep</b> -R, <b>killall</b> -w, tar --mode,
2203 fixed <b>ls</b> -Z and spacing in -lZ and --full-time,
2204 added <b>xargs</b> --max-args and removed xargs -I (which we never actually
2207 added xargs -o and made -p read from /dev/tty, added <b>blkid</b> -s, SEC_TYPE for ext3,
2210 display in <b>lsof</b>, added <b>pidof</b> -x (thus making the default behavior _not_
2211 be -x).</p>
2219 with 1 argument (implicit - as second argument reading from stdin).
2223 <b>find</b> grew several new options (%Z, -true, -false, and -newerXY), <b>ln</b> added -T.
2224 The argument to <b>mktmp</b> --tmpdir is now optional.</p>
2227 The unshare probe bit-rotted so it was impossible to build <b>unshare</b>
2233 (ln -s toybox sh; ln -s sh ash) had an off by one error,
2235 and later block that for non-root users to prevent device tracking).
2237 hasn't got built-in support for yet (like sha3sum) which acted like redundant
2244 <b>cp</b> -r unlinks() an existing symlink before trying to
2245 recreate the symlink (otherwise cp -r into an existing directory will
2250 and <b>hostname</b> -d no longer segfaults on machines with no domain name.</p>
2261 made <b>printf</b> \c and \0 octal escapes work, fixed a <b>find</b> -name corner
2262 case (find src/*.c -name file.c) and find dangling symlink behavior,
2265 fixed a race in <b>losetup</b>, fixed <b>grep</b> -F with multiple matches on the same
2266 line and an -I failure in the existing grep tests, made <b>readlink</b> notice
2276 (non-UTF8) locale (didn't expect wcrtomb to return -1).
2285 DIRTREE_STATLESS returns entries we couldn't stat() (with a zeroed ->st
2286 field, and ->again |= 2), but filling in the file type from readdir().
2312 <p>Android ndk-r20 doesn't define the __ANDROID_NDK__ symbol, so we switched
2332 implemented diff --strip-trailing-cr and made diff not need /tmp.
2340 <p>Elliott Hughes did a lot of work on the test suite: add kill -l tests,
2347 confused by SELinux, hostname.test can run some tests as non-root,
2374 The "./toybox --help" output now explains how to do install_flat by hand.</p>
2377 Elliott fixed a double close in loopfiles_lines() so strace doesn't
2380 <a name="21-05-2019" /><a href="#21-05-2019"><hr><h2><b>May 21, 2019</b></h2></a>
2382 …e first helpful or intelligible thing anybody's said to me all day."</p> <p>- The Hitchhiker's Gui…
2385 <p><a href=downloads/toybox-0.8.1.tar.gz>Toybox 0.8.1</a>
2389 …ybox as part of a <a href=http://lists.landley.net/pipermail/toybox-landley.net/2018-November/0098…
2391-tools/+log>build-tools</a> and <a href=https://android.googlesource.com/platform/build/soong/+log…
2398 Tar is a near-rewrite with support for --owner --group and --sparse,
2399 capable of autodetecting "wget blah.tar.bz2 -O - | tar xv", a --restrict option
2406 <p><u>Updates</u>: Elliott added <b>find</b> -wholename/-iwholename, -printf,
2407 and -context, <b>grep</b> --exclude-dir, and <b>echo</b> -E.
2408 Rob added <b>blkid</b> -U and -L, <b>mount</b> now has UUID= support via blkid -U,
2409 you can now specify TZ="blah" in the <b>date</b> -d input string (although
2411 understands ,+N relative ranges. Makepost added <b>rm</b> -v.
2415 <b>touch</b> -t and -d autodetect the time format.</p>
2424 terminal types, made more better about directories and non-tty output,
2426 to recognize a c-sky ELF machine, and fixed timezone and daylight
2427 savings time issues in date and its tests.
2429 When run as non-PID 1 (for a chroot) oneit's exit code now indicates
2434 Sort's -k2.3,4.5 syntax is now documented and behaves more closely to
2450 and an endless loop with -EPIPE, fixed find -path/-ipath, made loggit()
2452 of --longname synonyms for short options, added getfattr --only-values,
2453 and timeout --foreground --preserve-status and --signal.</p>
2456 parent thread (in -H mode), hides the cursor in interactive mode, updates the
2463 Top now treats -o "" as an error (previously it displayed an empty screen).</p>
2466 clear the environment when -p is absent.
2467 Vidar Holen fixed inverted find -exec exit status.
2469 because a <a href=https://github.com/varnishcache/varnish-cache/issues/2879>newly added gcc bug</a>…
2472 A missing else in grep meant -x was sometimes ignored.</p>
2480 fails (because AOSP build scripts cared), so timeout --unknown returns 125
2486 (meaning -x was or wasn't encountered on the command line this time by
2491 lets long-running loops reset environment variables without memory leaks.</p>
2496 <p>New xparsedate() and xvali_date() functions allow date, tar --mtime, and
2523 so <a href=https://github.com/github/choosealicense.com/pull/643#issuecomment-463746027>github coul…
2524 "<a href=https://github.com/github/choosealicense.com/pull/643#issuecomment-464380789>a while</a>" …
2544 The test suite now does an rm -rf on testdir between each command so
2550 The find -newer test calls "sleep .1" to avoid intermittently failing with an
2556 <a name="08-02-2019" /><a href="#08-02-2019"><hr><h2><b>February 8, 2019</b></h2></a>
2562 <p>- The Hitchhiker's Guide to the Galaxy</p>
2565 <p><a href=downloads/toybox-0.8.0.tar.gz>Toybox 0.8.0</a>
2578 <p><u>New options</u>: <b>grep</b> now has --color, supports embedded NUL bytes in its input,
2580 needed the middle numerical field of -bB, etc).
2582 Volodymyr Medvid reported that install -d doesn't honor -o or -g.
2584 <b>mkdir</b> accepts both --parent and --parents as synonyms for -p, <b>touch</b> ignores -f,
2585 <b>basename</b> added -s to remove a trailing suffix, <b>dirname</b> now supports multiple
2586 arguments, <b>cmp</b> accepts --quiet and --silent as synonyms for -s, <b>hostname</b>
2587 added -sfd, <b>head</b> added --bytes as a synonym for -c and --lines as a synonym
2588 for -n, <b>mktemp</b> added -t and fixed -u, <b>sed</b> added -z and -iEXT to keep backup files,
2589 <b>md5sum</b> and sha1sum added --status and --check as synonyms -s and -c,
2590 <b>readlink</b> added --canonicalize as a synonym for -f, <b>sort</b> grew -V,
2591 <b>patch</b> added -s its synonym --quiet, <b>stat</b> added --format as
2592 a synonym for -c, <b>xargs</b> added -p -t -r,
2594 that <b>umount</b> ignore -c. Reverend Homer added a small optimization to file.c,
2596 taught <b>ls</b> -t to use the nanoseconds field.
2600 <b>cp</b> --preserve was segfaulting when you didn't specify _what_ to
2603 <b>sort</b> -x didn't work when
2612 Marius Adaskevicius pointed out <b>mdev</b> -s should follow symlinks,
2638 names via an escape syntax (because mkfs.vfat specifies an offset with -@),
2640 didn't have a dash (allowing "ps ax" and "ps -ax" to behave differently).</p>
2647 yocto 2.6 buils with -Werror=format-security by default).</p>
2658 reformatted a lot of --help text for consistency (removing trailing
2669 root-only tests when run as a normal user. The testcmd function prints the
2679 <a name="31-10-2018" /><a href="#31-10-2018"><hr><h2><b>October 31, 2018</b></h2></a>
2682 This has made a lot of people very angry and been widely regarded as a bad move."</p><p>- The Hitch…
2686 <p><a href=downloads/toybox-0.7.8.tar.gz>Toybox 0.7.8</a>
2690 <p>Toybox <a href=http://lists.landley.net/pipermail/toybox-landley.net/2018-October/009769.html>no…
2691 You have to add an "llvm-cc" symlink to "clang", then use CROSS_COMPILE=llvm-
2693 target you want to build for. (To run it on a non-android host, you probably
2694 want "LDFLAGS=--static" too.)</p>
2697 courtesy of Elliott/Android. The <b>watch</b> command got a complete (tty-aware)
2703 The <b>ifconfig</b> command added -S (short view) giving one line of
2705 format. <b>grep</b> grew binary file detection, with -I and -a options to
2707 Zach Van Rijn asked for <b>find -empty</b>.
2710 Elliott also added "getconf -a" and a lot of missing getconf symbols the
2714 processing each like last release), and -l grew section identifiers (so
2715 the "getconf -l" output is no longer a directly consumable list of symbols
2717 Command line options specifying durations (like top -d or ping -i) can
2718 now use fractions and units, like "1.5" and ".1m". See "toybox --help" for
2721 name it's called under (so if you "ln -s $(which sleep) blah" and then
2728 In <b>diff</b> the android guys added --color and timestamps on the
2729 +++/--- lines. In <b>mdev</b> Faustas Azuolas Bagdonas added support
2735 Elliott responded to a bug in <b>getconf</b>'s sed-based header generation by
2744 Several fixes in <b>ping</b> (-w and -W didn't work, -c kept sending packets
2749 also fixed the units on blockdev --blkraget (reported by Martijn Coenen).
2751 style, leading zeroes, switch -f from %t to %T), <b>oneit</b> no longer
2755 triggered Android's strict ioctl filtering on non-filesystem fifos).
2757 CROSS_COMPILE) will now overwrite the (read-only) output file instead of
2763 into a hermetic build (hopefully with an eventual self-hosting option, work
2767 The <b>ps</b> help text changed: now "ps -o help" shows the fields and the normal
2768 --help is much more manageable. Ifconfig's --help text also got tidied up.
2770 the kconfig/ subdirectory still having (build only, non-shipping) GPL code
2807 <a name="23-06-2018" /><a href="#23-06-2018"><hr><h2><b>June 23, 2018</b></h2></a>
2813 <p> - The Hitchhiker's Guide to the Galaxy</p>
2816 <p><a href=downloads/toybox-0.7.7.tar.gz>Toybox 0.7.7</a>
2823 <p><u>New options</u>: The <b>cp</b> command added the --parents option,
2824 <b>readlink</b> now has -m to show where a missing path would be,
2827 Ng Zhi An added --getra and --setra (get/set readahead) to <b>blockdev</b>,
2828 Elliott Hughes added <b>xxd</b> -o and made <b>top</b> -d understand fractional
2830 Minghui Liu added <b>watch</b> -b.</p>
2833 48-core machine
2834 and fixed a glitch with -n, Haroon Maqsood pointed out "vmstat 1 1" didn't
2835 stop and "vmstat -n" didn't print the first theader line.
2836 Minghui Liu fixed a bug where <b>cp</b> -p didn't preserve
2838 working. Ryan Pritchard pointed out that <b>du</b> -d0 should act like du -s.
2842 Elliott fixed several things in <b>top</b> (removed spurious '\r' characters from -b
2845 ("cat /bin/ls | file -" still won't work but "file - &lt; /bin/ls" should).
2847 and fixed <b>cut</b> -DF
2849 because outputting all delimiterless lines isn't what you want there, -D
2854 prequisites that needs to run, and reformatted more of the ps --help text
2859 with &amp; has no dash in its first argument. (This lets "ps -ax" and "ps ax"
2861 The comma-separated-list parsing infrastructure moved to lib/commas.c.
2877 behavior difference between toybox and ubuntu (Ubuntu's ln -sf wouldn't
2882 run a test on a command name beginning with "-" (none yet but it
2891 dynamic libraries without corresponding --static versions).
2895 <a name="24-02-2018" /><a href="#24-02-2018"><hr><h2><b>February 24, 2018</b></h2></a>
2902 <p> - The Hitchhiker's Guide to the Galaxy</p>
2905 <p><a href=downloads/toybox-0.7.6.tar.gz>Toybox 0.7.6</a>
2915 ranges, utf8/unicode characters, and new -CDFO options. Use -C to measure
2916 columns rather than characters (for double width chars), and "cut -DF 3-5"
2919 <p>This release adds <b>top -m</b> and <b>iotop -H</b> (and fixed top width truncating for narrow t…
2920 added <b>iconv -c</b>, fixed <b>ps -T 1234</b> to show threads belonging to
2926 "See %s --help" message on the same line, and several web pages
2929 <p>Elliott and the Android devs added <b>df -i</b>, <b>uptime -p</b>,
2930 <b>time -v</b>, and <b>xxd -i -ri</b>,
2931 fixed <b>id -G</b> to only output the group IDs, fixed the <b>xargs -0 -n</b>
2932 combination, made <b>find -exec +</b> obey ARG_MAX (just like xargs), made
2948 <p>Commands with locale support now setlocale(LC_TYPE, "C.UTF-8") for more
2954 (which as a 64 bit number is good for + or - 292 million years from
2956 -1 instead of erroring out.</p>
2963 <a name="12-10-2017" /><a href="#12-10-2017"><hr><h2><b>October 12, 2017</b></h2></a>
2966 <p> - The Hitchhiker's Guide to the Galaxy</p>
2969 <p><a href=downloads/toybox-0.7.5.tar.gz>Toybox 0.7.5</a>
2974 of the many half-finished projects (dd, ping, lsof, iconv, cut, sysconf,
2975 the cp --parents option...) finished/promoted/tested, but decided adding big
2978 <p>A couple <b>new features</b> slipped in anyway. Ilya Kuzmich added head -c
2979 and strings -t (and corrected strings' output in a couple places). Elliott
2980 Hughes taught file to recognize Macintosh (Mach-O) binaries.</p>
2982 <p><b>NOTE</b>: the chrt command is broken when built against musl-libc
2985 <a href=https://git.musl-libc.org/cgit/musl/commit/?id=1e21e78bf7a5>removed
2987 so the chrt command there will always say -ENOSYS. (It works fine built against
2990 <p><b>Bugfixes</b>: Remounting (mount -o remount,rw) should work properly now,
2993 mostly noticeable in long-running "top" exiting; error value was treated
2994 as a pointer). Elliott Hughes fixed a -Wformat warning in expr.c,
2998 Josh Gao made netcat -l exit after handling a request, and reported a
3000 broken URL in the README. Rob fixed env -0 checking the flag wrong so
3020 stub function so compile-time probes for its existence think it's there, and
3023 <a name="19-06-2017" /><a href="#19-06-2017"><hr><h2><b>June 19, 2017</b></h2></a>
3024 <blockquote><p>It is a well-known fact that those people who most want to rule people are, ipso fac…
3026 <p>- The Hitchhiker's Guide to the Galaxy</p>
3029 <p><a href=downloads/toybox-0.7.4.tar.gz>Toybox 0.7.4</a>
3036 -M and -S to match and skip wildcards respectively (useful with -r).
3037 Elliott's updated dmesg has -T and --color. The file
3038 command can recognize gzip now, uptime grew -s, date grew %N, env knows - as a first argument
3039 means -i (posix!) and grew -0, ls defaults to -b
3040 instead of -q now when there's a tty, and ls has a new -ll option (with
3041 --full-time as a compatibility synonym) showing nanoseconds and (for some
3043 "uudecode -o -" support. Illya Kuzmich taught head -v and -q. The cpio
3046 (Use the new --trailer option if you want the legacy behavior.)
3051 the kernel <a href=https://landley.net/notes-2013.html#28-03-2013>inexplicably</a>
3058 pass, made more tests run on a toybox-only system, and so on. The test suite
3069 <a href=http://lists.busybox.net/pipermail/buildroot/2016-December/180102.html>last release</a>.</p>
3077 help text for argument errors but instead just say "See %s --help" with the
3079 Elliott did a big period-ectomy on all the --help text, and
3081 non-html help -a output now has separators with the command name.
3089 was causing long-running top instances to occasionally exit),
3092 (so "ps -A | cat" doesn't vary), date's chkmktime() was replaced with
3099 Elliott fixed touch -a/-m (they were backwards), and allowed ':' in
3100 setprop's property names. Grep now exits with 2 for errors (so -q can
3110 <a name="21-02-2017" /><a href="#21-02-2017"><hr><h2><b>February 21, 2017</b></h2></a>
3114 <p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3116 <p>Despite everything, <a href=downloads/toybox-0.7.3.tar.gz>Toybox 0.7.3</a>
3129 <p><u>New features</u>: Rob added units to <b>find</b> -atime and friends
3130 (with the legacy -amin alias). Elliott added color and -w to dmesg, fallocate
3131 -o, and improved file's ELF parsing. Steve Muckle added -d and finit_module
3135 df -a isn't entirely new, but wasn't documented and needed a bugfix.</p>
3138 Last release broke oneit because -c didn't get moved to xopen_stdio() (oops).
3141 that case but also switches on -w to avoid field truncation. The "tty"
3145 And while we're there, replace "ADDR" with "BIT" in ps -l so there are
3148 <p>Izabera pointed out that split -b and -l can't mix, and suggested seq should
3150 increments. Wang Xiao Jian fixed a bug in sort -k.
3153 Elliott also improved some error reporting and improved top -H's display
3157 in chmod -R (and the resulting generic fix to dirtree_notdotdot() fixed
3162 Rob fixed an option parsing bug (where switching off a --longopt in menuconfig
3164 (ala "abc[-ab][!abc]" with "command -a -b") would segfault.</p>
3166 <p>There's some sort of gcc stack over-optimization bug where musl-libc's
3168 stack varabiles in the same function after that get semi-randomly overwritten
3186 when you "ps -A | head" about EPIPE on output. (Older versions of bionic
3207 but it's a work in progress (<a href=http://lists.landley.net/pipermail/toybox-landley.net/2016-Dec…
3211 <p>Cross-compiling from Macs needs to use "gsed" instead of apple's
3218 The new dirtree flag DIRTREE_PROC skips non-numeric entries so things
3221 <a name="21-10-2016" /><a href="#21-10-2016"><hr><h2><b>October 21, 2016</b></h2></a>
3224 own problem.</p><p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
3226 <p><a href=downloads/toybox-0.7.2.tar.gz>Toybox 0.7.2</a>
3230 …ott Hughes <a href=http://androidbackstage.blogspot.com/2016/07/episode-53-adb-on-adb.html>got int…
3232 …linuxluddites.com/shows/episode-88/>got interviewed on Linux Luddites</a> (<a href=http://linuxlud…
3245 <p><b>Upgrades</b>: All commands now parse --version when they understand
3246 --help, but "true" and "false" should now ignore their arguments entirely.
3247 We taught stat to handle "%12x" and "%.12x" printf-style escapes, which
3249 device driver. Added patch -d and --dry-run, wc can now do -cm together,
3250 find has a NOP -noleaf so scripts that use that don't break, add -c to md5sum
3251 and sha1sum. Elliott taught ps to treat extra aguments as additional -p
3252 pids, implemented xxd -s, did a number of upgrades to file (added -HL,
3255 Elliott also added optional build-time support for using openssl's
3256 assembly-optimized md5sum/sha1sum implementations (leading to a new
3262 …sourceware.org/bugzilla/show_bug.cgi?id=17829>glibc bug 17829</a>, made sed -i preserve ownership …
3263 made du max out at 2 terabytes instead of 2 gigabytes on 32-bit systems
3267 octal digits and handling the (posix-mandated) difference between %b and
3268 non-%b octal output, reading from "-" no longer closes stdin when done,
3269 netcat -L works with nommu (although it may need more portability work),
3272 (stat was segfaulting if you interrogated a file belonging to a nonexistent
3275 appropriate). "LC_ALL=C ls -Cs --color" produces the same output
3276 as other versions (two spaces padding, -k hardwired on).<p>
3282 changing, fixed ls -sh, and added a lot of
3284 Izabera pointed out cmp -l and -s can't be selected at the same time,
3285 that timeout was never actually checking -v, that ls should default to -q
3286 when output is to a tty, and that "file -" would sometimes try to open "-"
3290 hardwired 512-byte units, so stat.c was wrong. David Hedges pointed out
3304 (although <a href=http://lists.landley.net/pipermail/toybox-landley.net/2016-September/008664.html>…
3306 <p>Several commands were over-using xprintf(), which flushes its output
3333 understands that "-" means stdin. New flag WARN_ONLY tells these functions
3334 to just print a warning on failure, and return -1 instead of exiting.
3340 <p>New TOYFLAG_NOHELP disables --help processing (which "true" and "false"
3343 <p>The test suite now has NOSPACE=1 to ignore whitespace (using diff -b to
3351 <a name="02-06-2016" /><a href="#02-06-2016"><hr><h2><b>June 2, 2016</b></h2></a>
3356 brain to see what is likely to be well received. However, no-one knows
3359 <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
3361 <p><a href=downloads/toybox-0.7.1.tar.gz>Toybox 0.7.1</a>
3363 is out. (Yes, I forgot to update the --version string, but I already
3377 <p>Izabera implemented env -u, suggested adding seq -w, made factor
3379 -w0 should disable wrapping, and sped up wc -c.
3380 Elliott Hughes added mount -o relatime, xxd -p -r, and od -w.
3381 Sameer Pradhan (or possibly Bilal Qureshi) suggested adding stat -tL -c %m%t%T.
3382 Tom Cherry added getprop -Z. Paul Barker added hostname -b and -F.
3383 Rob added ls -b, made ls -q work with utf8,
3384 made sed -f - read from stdin, and added top -O (like ps -O).</p>
3387 with -o TID, TNAME. We also added -o PCY (android scheduling policy),
3388 -o BIT (process is 32 or 64 bit), and -o TNAME now shows the parent
3403 <p>Grep -H and -n should now work properly with -ABC. Andy Chu pointed out an
3405 in diff -r, and fixed operator precedence in expr (although Rob is rewriting
3407 Patrick Ohly fixed the too-aggressive suid permission dropping logic.
3408 Josh Gao fixed a segfault when find -iname got no argument, and
3409 made tail -f work right with just one file argument.
3411 the tar tests, and reported another find bug (with -iname -o -iname not
3414 <p>Elliott Hughes fixed wc -c to not trust zero length files to actually be
3415 zero length (/proc does that), fixed "mount -o rw,remount /system" on
3416 Android, removed trailing spaces on ps -o cmdline, fixed pkill -9 and
3417 the corresponding tests, made "insmod -" work, fixed top -b and tail -NUM,
3422 Fixed mount -o to properly pass in leftover string data, and
3423 <a href=http://lists.landley.net/pipermail/toybox-landley.net/2016-March/004790.html>documented how…
3429 John Regehr. Andy Chu found a segfault in "sed -e 'c\'" with no trailing
3430 line, and implemented mv -n and cp -n. The cyanogenmod guys pointed out that
3431 cp -a shouldn't complain if a non-root user can't chown, and we added
3432 the output path to cp -r error messages while we were there (before was just
3437 suffix. Davis Mosenkovs fixed touch -t seconds parsing.
3444 produces a broken ps that ignores -A (because ps.o wasn't getting rebuilt
3445 even though top had the FLAG macros for -A zeroed).</p>
3492 infinite recursion depth support (needed by rm -r), updated the
3502 <a href=https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html>has vowed
3521 toys.h (to make cross-compiling from systems we don't run on easier).</p>
3524 "sed -e 'a\'" (with no next line of the pattern, so an unterminated
3529 is undocumented, non-obvious, and doesn't really make logical sense.)</p>
3536 <a name="02-02-2016" /><a href="#02-02-2016"><hr><h2><b>February 2, 2016</b></h2></a>
3540 </p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3542 <p><a href=downloads/toybox-0.7.0.tar.gz>Toybox 0.7.0</a>
3548 (most replacing corresponding versions from pending). Added grep -ABC,
3549 swapon -d (discard), mkswap -L (label) and UUID support, and find -delete.
3550 Izabera added free -h and unshare -f. Josh Gao implemented tail -f.
3551 Jose Bollo submitted cp --preserve=context,attr. Kylie McClain added
3552 mktemp -u.</p>
3559 <p>Lots of updates to ps: several new -o options, -k (--sort) -O and -M,
3566 <p>Dreamhost restored the <a href="#12-21-2015">missing 11 months</a>
3573 <a href=http://landley.net/notes-2012.html#15-10-2012>never
3574 been able to disable</a>, my copy of those files is spread among 3 different
3578 <a href=https://engineering.twitter.com/opensource/code-of-conduct>borrowing twitter's</a>) because…
3583 first one in the range, so [[] didn't terminate). Fixed sort -f and added test cases.
3584 Assume 80 columns in "ls -m | cat", ls -L is no longer backwards,
3587 to find (Gilad Arnold fixed -perm, Daniel K. Levy fixed "find . -exec echo {}",
3588 and while we're there I fixed find --prune, made "find . -execdir
3589 echo {} + -execdir ls {} +" work, and ripped out the environment size
3592 years and documented the %s escape, fixed hwclock -u, and pointed out
3596 values, and added a --no-preserve-owner option. Fixed the SUID permission
3597 dropping logic (which was a bit over-zealous, preventing some commands from
3600 <p>I'm told that debian-testing broke its libc so the nsenter build breaks,
3601 but my attempts to install the debian-testing network cd image under
3603 reproduce the problem. (Debootstrap under unbuntu builds an ubuntu-flavored
3607 <p>Rewrite of the about.html page, tweaks to design.html, and a re-triage of
3620 <li><p>Renamed dirtree-&gt;data to dirfd and stopped storing symlink length
3622 didn't give a valid directory filehandle, noticeable with ls -Z).</p></li>
3642 <p>We're getting close to having a self-hosting development environment
3651 <p>And the remaining non-busybox commands in Aboriginal Linux's build/host
3669 <a name="12-21-2015" /><a href="#12-21-2015"><hr><h2><b>December 21, 2015</b></h2></a>
3696 <a name="03-11-2015" /><a href="#03-11-2015"><hr><h2><b>November 3, 2015</b></h2></a>
3699 of Betelgeuse?" Arthur shrugged in a so-so sort of way. "I don't know," he
3700 said, taking a pull of beer. "Why - do you think it's the sort of thing you're
3701 likely to say?"</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3703 <p><a href=downloads/toybox-0.6.1.tar.gz>Toybox 0.6.1</a>
3707 <p>We have a new <b>ps</b> command with all the -o fields posix wants (although
3708 it doesn't accept BSD non-dash option syntax yet), and <b>bunzip2</b> (not just
3709 bzcat but the proper extract-in-place command).
3713 <p>The people waiting for <b>human readable number support</b> (du -hH, ls -h,
3725 all knowledge and wisdom about nommu. The old site <a href=#12-02-2012>contains
3741 reboot, init, login, and modprobe, and fixed a distro-specific build break in
3742 scripts/mkflags.h. Elliott Hughes and Lipi Lee made netstat -p handle
3743 command lines longer than 21 characters, and Elliott fixed netstat -e and
3757 either), fixed several ls -l display issues (user/group field ordering,
3760 class, fixed a mv overwrite bug, made df's columns auto-size, added
3761 --ppid and -Z to ps, and teamed up with Daniel K. Levy to fix
3762 a segfault in find's handling of -newer -group or -user.</p>
3764 <p>Hyejin Kim added stat -c %T support. Colin Cross worked
3767 units. Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra
3768 newline and that grep -w '\(x\)\1' didn't work, both now fixed.
3774 <p>Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra
3775 newline and that grep -w '\(x\)\1' didn't work, both now fixed.
3781 <p>Two large thinko fixes in oneit: -3 was always enabled (which would
3784 set up right (for requesting semi-graceful halt/poweroff/reboot).
3785 Calling install without a mode is now 0755, and install -g 0 no longer clashes
3786 with cp --preserve. Better error message for ls -r on unreadable
3787 directories, and ls -Z now uses O_PATH (with the /proc/self/fd/%d
3790 <p>Date now understands @unixtime[.fraction] and uses -D for
3791 the set-side format (matching busybox's extension for this). The seq -f
3802 a NULL argv (see cpio -p for example usage). Replaced toys.recurse
3803 with toys.stacktop so the recurse or re-exec decision is now based
3804 on bytes of stack space used. Marked a bunch of command-local functions
3811 The login command finally got a long-overdue cleanup (it's one of the
3818 "make CROSS_COMPILE=prefix-" (as well as "CROSS_COMPILE=prefix- make",
3819 which still works). Toybox is now installed chmod -w so broken installers
3828 …a href=http://landley.net/aboriginal/downloads/binaries/old/1.4.3/cross-compiler-sh2eb.tar.gz>the …
3829 but <a href=http://github.com/richfelker/musl-cross-make>with musl-libc</a>
3831 fact they provide a non-functional fork() implementation that always returns
3832 -ENOSYS, to prevent you from compile-time probing for nommu support when
3833 cross-compiling. Unfortunately "preventing you from probing" seems to be
3837 enable musl-specific bug workarounds.</p>
3839 <a name="23-07-2015" /><a href="#23-07-2015"><hr><h2><b>July 23, 2015</b></h2></a>
3840 <p>I recreated the <a href=downloads/toybox-0.6.0.tar.gz>0.6.0 source tarball</a>
3842 because I forgot to add --prefix to the git archive command when I updated
3846 <a name="19-07-2015" /><a href="#19-07-2015"><hr><h2><b>July 19, 2015</b></h2></a>
3851 around in.</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
3853 <p><a href=downloads/toybox-0.6.0.tar.gz>Toybox 0.6.0</a>
3855 is out. (Yes, git. See the <a href=#05-04-2015>previous news entry</a>.)</p>
3865 <a href=http://landley.net/talks/celf-2015.txt>outline</a>), in which I
3866 repeat my <a href=http://landley.net/notes-2013.html#07-11-2013>perennial</a>
3875 <a href=#15-11-2011>most</a>
3877 <a href=http://landley.net/notes-2011.html#13-11-2011>research</a> on
3885 <p>The article has plenty of smaller issues<a href=#asterisk>*</a>, but
3887 (<a href=http://landley.net/talks/ohio-2013.txt>outline</a>,
3888 <a href=https://archive.org/download/OhioLinuxfest2013/24-Rob_Landley-The_Rise_and_Fall_of_Copyleft…
3905 let it coexist with cat -v.
3911 <p><b>New options:</b> Added sed -E as a BSD-compatible synonym for -r.
3912 Upgraded oneit with -r (restart), -3 (send exiting PID values to child),
3913 and signal handling. Added -v option to timeout, -m to mknod, -u to shred,
3914 -t to dmesg, and -123 to head and tail. Added implicit "." to grep -r without
3915 any files to work on. Hyejin Kim requested prefix support for truncate -s.
3916 Greg Hackman added -inum to find.
3917 Jan Cybulski added the smack side of ls -Z support. Various patches also
3918 added -Z to mkdir, mknod, and mkfifo.
3919 Basic cp --preserve support went in, but not yet the xattr/LSM parts.</p>
3921 <p>The toybox command now has a --version option,
3930 update-alternatives". (There's some argument over
3934 <a href=http://landley.net/writing/hackermonthly-issue022-pg33.pdf>for
3948 to make --longopts take an optional =value part, and more about TOYBOX_DEBUG
3957 removed from toys/pending/README and instead the issues were added
3961 Fixed mount -a segfaulting without -O (reported by Janus Troelsen),
3964 Fixed printf -- and printf ---. Lots of tweaks to ls -l spacing with
3965 different options. Make touch -d and -t actually set time when you don't
3976 numeric uid/gids, and that sort -z affects both input and output.
3978 David Halls fixed bugs in install -D and find -exec. Samuel Holland
3979 fixed unshare -r. Hyejin Kim fixed makedevs with a count of 1, fold -w
3980 range checking, an error path in scripts/mkflags.c, added -i to dhcpd,
3982 Jan Cybulski spotted wrong indentation when combining ls -s and -i with -C and
3983 -x. José Bollo fixed stat %G. Sameer Pradhan fixed a bug in mkfifo -Z.</p>
3985 <p>Elliott Hughes asked for a default SIGPIPE handler to disable
3993 fix dmesg -c error reporting, fix a segfault in comma_scan where the option
3994 was the last item in optlist (triggered by mount -o ro,remount), fix
3995 hwclock -w, made ifconfig print lowercase MAC addresses (it was bothering
4004 support to mdev. Yeongdeok Suh added RFC-3315 ipv6 support to dhcpd.</p>
4016 a standard syntax). Don't depend on malloc(0) to return non-null in ls.
4017 David Halls fixed some mac/ios portability issues,
4028 The build now checks $LDFLAGS for linker-only flags, and allows the strip
4033 security modules stuff, if (lsm_enabled()) should turn into a compile-time
4049 <p>The not-curses infrastructure introduced by hexedit mostly moved to
4060 with its GNU counterparts" means when CP_MORE adds 7 non-posix options
4064 GNU is special is there are a half-dozen other independent
4070 …f=http://archive.linuxfromscratch.org/lfs-museum/7.6/LFS-BOOK-7.6-NOCHUNKS.html#ch-tools-gcc-pass1…
4071 then I impelement mv -v
4074 util-linux isn't a gnu package, nor are info-zip, e2fsprogs, kmod, less,
4077 <a name="05-04-2015" /><a href="#05-04-2015"><hr><h2><b>April 5, 2015</b></h2></a>
4080 and <a href=https://github.com/kraj/meta-musl/tree/master/recipes-core/toybox>openembedded</a>
4081 and <a href=https://packages.gentoo.org/package/sys-apps/toybox>gentoo</a>
4087 <a name="25-02-2015" /><a href="#25-02-2015"><hr><h2><b>February 25, 2015</b></h2></a>
4090 complete fools."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
4092 <p><a href=downloads/toybox-0.5.2.tar.gz>Toybox 0.5.2</a>
4120 <a href=http://www.mail-archive.com/toybox@lists.landley.net/>two</a>
4138 <p>Some commands grew new option flags, such as cp --remove-destination
4139 and touch -h.</p>
4142 re-exec itself to regain suid root permissions and hasn't got the suid bit,
4152 no longer defined -d but still had it in option groups at the end).
4153 Workaround for glibc redefining dirname() and basename() to random non-posix
4162 did rm -r on it without -f, after the prompt it would complain it was a
4207 <a name="18-02-2015" /><a href="#18-02-2015"><hr><h2><b>February 18, 2015</b></h2></a>
4209 here's <a href=http://www.mail-archive.com/toybox@lists.landley.net/>another
4215 <a href=http://www.dreamhoststatus.com/2015/01/14/discussion-list-hardware-maintenance/>hardware up…
4220 web archive, from Dec 15-Jan 3, and then another hole from Jan 16-Feb 18.
4224 <a name="30-12-2014" /><a href="#30-12-2014"><hr><h2><b>December 30, 2014</b></h2></a>
4232 <a href=http://lists.landley.net/listinfo.cgi/toybox-landley.net>the first link</a>.</p>
4236 <a name="19-11-2014" /><a href="#19-11-2014"><hr><h2><b>November 19, 2014</b></h2></a>
4238 …ght, it would work, and no one would have to get nailed to anything."</p><p>- The Hitchhiker's Gui…
4240 <p><a href=downloads/toybox-0.5.1.tar.bz2>Toybox 0.5.1</a>
4255 Did you know "echo hello | sed p - -" segfaults gnu sed in Ubuntu 12.04?
4274 Isaac Dunham implemented acpi -ctV options, and spotted the bug that ls -d
4275 was inappropraitely following command line symlinks without -H or -L (it
4276 should act like ls -l does), and ls -F handles symlinks wrong too.
4284 static analysis. (These fixes are mostly to seldom-used codepaths like the
4286 also suggested upgrading ln -f to leave the original target alone if link
4287 creation fails, and reported that mv -f and -i weren't implemented (now fixed).</p>
4300 probes for functions missing from bionic-libc, and annotated the commands that
4309 function close filehandles for us. (Otherwise the callback function must
4310 close each supplied filehandle itself.)</p>
4312 <p>The printf-style escape parsing ("\n" and friends) got factored out into
4315 <a name="02-10-2014" /><a href="#02-10-2014"><hr><h2><b>October 2, 2014</b></h2></a>
4319 difficulties."</p><p>- The Hitchhiker's Guide to the Galaxy<p></blockquote>
4321 <p><a href=downloads/toybox-0.5.0.tar.bz2>Toybox 0.5.0</a>
4329 <p>cp now implements -HL and -F to force delete of pending files, cpio now
4330 ignores -m and implements -p, ls -C now has utf8 support (using wcwidth
4347 about linker options passed with -c, and the entire "generated" directory now
4356 sub-options (so CP has CP_MORE), enables I18N and FLOAT support to build
4357 full-featured commands, and includes --help text (at least when
4392 done with the directory filehandle still open (new dir-&gt;again variable added
4395 Use daemon() out of libc instead of hand-rolled daemonize() in various
4405 toy_exec() sometimes needs to re-exec from $PATH rather than recurse
4411 option parsing bug where [-abc] would forget _all_ command line arguments
4414 Lukasz Szpakowski fixed rm -f on a broken symlink (failed), and killall
4419 <p>A somewhat fiddly fix to rm -rf (which needs to chmod directories to u+rwx
4423 to portability.h with a workaround, you may need CFLAGS=-D__MUSL__ in your
4432 another release, so locally patching around posix-2008 violations is silly).</p>
4438 "$" at the end), but this prevents UTF-8 usernames. Posix' stated logic
4461 sort on the host broke in non-C locales.</p>
4466 <a name="07-07-2014" /><a href="#07-07-2014"><hr><h2><b>July 7, 2014</b></h2></a>
4467 <blockquote><p>"This planet has - or rather had - a problem, which was this:
4472 unhappy."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
4474 <p><a href=downloads/toybox-0.4.9.tar.bz2>Toybox 0.4.9</a> (<a href=/hg/toybox/shortlog/1385>commit…
4480 host from Rich felker, and I did nbd-client and the first 2/3 of mount.</p>
4484 fallocate, and nbd-client.</p>
4515 <p>Fix od bug reported by Samuel Holland ("od -v -b" was appending the default
4529 a pipe). Bugfix so "help -a" works again. Option parsing on nohup now stops
4531 which was actually a bug in lib function find_in_path(). Made rm -rf of
4547 added tests for cpio, link, and du, added lspci -i, made the pci database
4551 it actually smaller in the process. I added -b flags to md5sum and sha1sum
4556 the build now switches on all the sub-options of the command so we get
4559 <p>Add -ds flags to date and document +FORMAT escapes. Add the shell NOP
4565 <p>The umount command now does an losetup -d on the device by default, so
4577 to toys.signalfd with the signal number if signalfd isn't -1 (which it's
4583 decimal kilo/mega/gigabytes (so when du -u says 5.0G it means 5.0 billion
4588 <a name="20-04-2014" /><a href="#20-04-2014"><hr><h2><b>April 20, 2014</b></h2></a>
4593 turn it off.</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
4595 <p><a href=downloads/toybox-0.4.8.tar.bz2>Toybox 0.4.8</a> is based on
4615 compress.c, and still need to do a corresponding deflate (compression-side)
4624 <p><b>Upgrades:</b> Ifconfig grew /prefix netmask support (ala 1.2.3.4/24). Grep now has -zZ to
4625 handle null terminated data, cksum grew -H for hex output. Upgraded od so the
4626 fields align better when producing multiple output types. Help has -a and -h
4632 Ashwini Sharma spotted a bug in pidof -o, and added verbose (-v) options
4633 to mkdir and ln, and suggested killall should have an -s option and
4634 allow -l to take zero arguments. Ashwini Sharma and Felix Janda upgraded
4654 <p>Regression tested against Ubuntu 8.04 to fix up bit-rot in defconfig
4655 build on older systems. (We depend on Posix-2008, but not necessarily
4666 help text for all the defconfig commands, using the new help -ah output.
4674 <a name="18-11-2013" /><a href="#18-11-2013"><hr><h2><b>November 18, 2013</b></h2></a>
4675 … think it's a long way down the street to the chemist's, but that's just peanuts to space."</p><p>-
4678 <p><a href=downloads/toybox-0.4.7.tar.bz2>Toybox 0.4.7</a> is based on
4692 added -e to watch, removed a memory leak, and fixed a terminal size problem.
4695 where grep didn't malloc enough space with -E (leading to a segfault).
4697 the code I wrote), in od to fix -t co, -J, and -c options. Add uname -o as a
4698 synonym for -s. Build fix to never use $CC without prefixing it with
4702 <p>The compile-time command line option parsing got rewritten (ported from
4704 --longopts to drop out properly when disabled in the configuration. Terminal
4705 querying got refactored. Patch's -x option is now more informative (a
4711 <a name="17-09-2013" /><a href="#17-09-2013"><hr><h2><b>September 17, 2013</b></h2></a>
4715 and this might turn out to be it.</p><p>- The Hitchhiker's Guide to the Galaxy</p>
4718 <p><a href=downloads/toybox-0.4.6.tar.bz2>Toybox 0.4.6</a> is based on
4727 <p>The ls command now has a --color=auto option (suggested by Rich Felker).
4728 The multiplexer now has a --help option so you can say "./toybox --help blah"
4729 instead of using the built-in "help" command. (Which is a shell built-in.
4731 other project has conditioned people to expect --help, so...) I forget who
4743 M. Farkas-Dyck), and sysvinit by Kyungwan Han.</p>
4783 <p>General improvements and bug fixes to argument parsing. The [-abc] exclude
4784 logic should now clear arguments slots when disabling options. Bare --longopts
4787 --color and --color=auto but not --color auto).</p>
4802 (-fno-asynchronous-unwind-tables)
4805 "-fstop-being-stupid" is a thing you have to hit gcc with from time to time.</p>
4810 finally make it work right (we think). Still need to implement tail -f
4811 someday (the tricky bit is making -f follow multiple files at once).
4835 <p>Last release, "mkdir sub/sub &amp;&amp; chmod 007 sub/sub &amp;&amp; rm -rf sub" didn't
4840 <a name="26-07-2013" /><a href="#26-07-2013"><hr><h2><b>July 26, 2013</b></h2></a>
4846 <a name="02-07-2013" /><a href="#02-07-2013"><hr><h2><b>July 2, 2013</b></h2></a>
4849 like you."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
4851 <p><a href=downloads/toybox-0.4.5.tar.bz2>Toybox 0.4.5</a> is based on
4860 each command can now understand --help (including both "toybox --help"
4861 and "toybox --help command" in the multiplexer).</p>
4863 <p>The "pending" directory has several commands (find, xzcat, nbd-client,
4873 <p>Fixed _another_ "ls -C" segfault when terminal size can't be detected,
4874 condensed the ls help text to fit on one page, implented --color, and taught
4875 -l to print the major, minor numbers when showing block/char devices.
4876 Argument parsing now handles "--" properly (to end option checking),
4877 and the infrastructure can now handle bare --longopts that have no
4879 Fixed an old bug in "patch", chmod grew -f, who grew -a. Isaac Dunham
4880 fixed "-" vs "_" handling in modinfo, added a "firmware" output
4881 field, added -b and -k support, and taught it that the ".ko" extension means
4886 (ala readlink -f /dev/sda as a normal user).
4900 system that hasn't got python: if you disable CONFIG_TOYBOX_HELP. (The
4905 <p><b>LICENSE TWEAK</b>: After <a href=http://lists.landley.net/pipermail/toybox-landley.net/2013-M…
4924 <a name="21-03-2013" /><a href="#21-03-2013"><hr><h2><b>March 21, 2013</b></h2></a>
4928 <a href=http://landley.net/talks/celf-2013.txt>talk outline</a> and an
4929 <a href=/aboriginal/about.html#selfhost>android self-hosting writeup</a>.</p>
4937 …=http://www.youtube.com/watch?v=SGmtP5Lg_t0#t=4m22s>Software needed to become self-hosting</a></li>
4945 <li>18m23s <a href=http://www.youtube.com/watch?v=SGmtP5Lg_t0#t=18m23s>Security issues</a></li>
4959 <a name="14-03-2013" /><a href="#14-03-2013"><hr><h2><b>March 14, 2013</b></h2></a>
4960 <blockquote><p>"Ford, you're turning into a penguin. Stop it." -
4963 <p><a href=downloads/toybox-0.4.4.tar.bz2>Toybox 0.4.4</a> is based on
4967 <p>The "cp" command now implements the -s symlink option, plus bugfixes
4969 "id -Gn root" should now print root's groups
4972 can expect to find posix-2008 features in).</p>
4982 <a name="18-01-2013" /><a href="#18-01-2013"><hr><h2><b>January 18, 2013</b></h2></a>
4983 <blockquote><p>This must be Thursday. I never could get the hang of Thursdays.</p><p>- The Hitchhik…
4985 <p><a href=downloads/toybox-0.4.3.tar.bz2>Toybox 0.4.3</a> is based on
4990 <p>Elie De Brauwer added the rev command, cleaned up tac, implemented the -s
4991 and -f flags for seq, added -v and -i to killall (and fixed killall not to
4993 Felix Janda added -m to mkdir, pwd -L and -P, and more test suite entries.</p>
4998 default to -C and a screen size of 0 made column view unhappy), and cp got an
5004 <p>Infrastructure-wise the code is better about automatically setting the
5021 to -Os by default now.</p>
5023 <a name="15-12-2012" /><a href="#15-12-2012"><hr><h2><b>December 15, 2012</b></h2></a>
5027 </p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
5029 <p><a href=downloads/toybox-0.4.2.tar.bz2>Toybox 0.4.2</a> is based on
5037 bug in login), and rm (from Rob Landley). Felix Janda added UTF-8
5038 support infrastructure (for non-ascii character sets) with a config option.
5039 Elie De Brauwer added tests for cat and sha1sum, and -so options to pidof.
5040 The "ls" command defaults to -C (column view) now, and "readlink" now supports
5041 -fenq.</p>
5071 but am waiting for somebody to complain first. The default "ulimit -n" is 1024
5074 <a name="13-11-2012" /><a href="#13-11-2012"><hr><h2><b>November 13, 2012</b></h2></a>
5076 </p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
5078 <p><a href=downloads/toybox-0.4.1.tar.bz2>Toybox 0.4.1</a> is based on
5086 <p>The patch command now supports -l, and gethostname is now enabled by
5088 Felix Janda added -m support to wc (for utf8).</p>
5091 "posix", "lsb", and "other" subdirectories (for things required by Posix-2008,
5102 <p>An upgrade to the build infrastructure now allows commands with _ and -
5115 fixes (thinko in xpidfile). Fixed uname -m when running a 32 bit x86 binary
5116 on an x86-64 host (it lies and says the system is i686, i586, or i486 depending
5138 <a name="23-07-2012" /><a href="#23-07-2012"><hr><h2><b>July 23, 2012</b></h2></a>
5141 out."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
5143 <p><a href=downloads/toybox-0.4.0.tar.bz2>Toybox 0.4.0</a> is based on
5156 <a href=code.html#lib_dirtree>dirtree</a> infrastructure, added an -r option
5157 to date (and fixed a bug where -u wouldn't override /etc/localtime),
5163 <a name="25-06-2012" /><a href="#25-06-2012"><hr><h2><b>June 25, 2012</b></h2></a>
5164 …g happened. Then, after a second or so, nothing continued to happen."</p><p>- The Hitchhiker's Gui…
5166 <p><a href=downloads/toybox-0.3.1.tar.bz2>Toybox 0.3.1</a> is based on commit
5168 mostly a bugfix release for ls -l (which was unhappy on targets other than
5169 x86-64), plus a new "date" from Andre Renaud and rewritten chgrp/chown which
5179 <a name="12-06-2012" /><a href="#12-06-2012"><hr><h2><b>June 12, 2012</b></h2></a>
5181 he was more intelligent than dolphins because he had achieved so much - the
5182 wheel, New York, wars and so on - whilst all the dolphins had ever done was
5184 always believed that they were far more intelligent than man - for precisely
5185 the same reasons."</p><p>- The Hitchhiker's Guide to the Galaxy</p></blockquote>
5187 <p>It's well past time for <a href=downloads/toybox-0.3.0.tar.bz2>toybox 0.3.0</a>,
5206 you need a quarter-second sleep, it can do that now), and fixed a build bug
5210 mkdir -m). Ilya Kuzmich contributed comm. Elie De Brauwer added mountpoint,
5225 yes 'n' | cp -i should no longer bypass stdin and prompt via the tty, the
5227 multiplexer command, and a bugfix to xargs -0 means it should no longer
5229 posix whitespace handling that -0 obsoleted, but I'll deal with that next
5244 <a name="03-03-2012" /><a href="#03-03-2012"><hr><h2><b>March 3, 2012</b></h2></a>
5249 for all these years."</p><p>- The Hitchhiker's Guide to the Galaxy</p>
5252 <p>Here's <a href=downloads/toybox-0.2.1.tar.bz2>toybox 0.2.1</a> based
5264 for cmp. Frank Bergmann sent a warning fix. Bryce Fricke added -i to cp.
5271 bloat-o-meter.)</p>
5284 <a name="12-02-2012" /><a href="#12-02-2012"><hr><h2><b>February 12, 2012</b></h2></a>
5289 <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
5292 <a href=downloads/toybox-0.2.0.tar.bz2>toybox-0.2.0</a>, more a synchronization
5294 ready-to-use state (what "make defconfig" builds), another ten or so partially
5301 <a name="15-11-2011" /><a href="#15-11-2011"><hr><h2><b>November 15, 2011</b></h2></a>
5302 - Back from the dead, Toybox is now under a 2
5312 <!--#include file="footer.html" -->