From 7b5025367abf18adad3aa2781b561df6115e2a0f Mon Sep 17 00:00:00 2001
From: Rob Landley
+ ++The mighty ships tore across the empty wastes of space and +finally dived screaming on to the first planet they came across - which +happened to be the Earth - where due to a terrible miscalculation of scale +the entire battle fleet was accidentally swallowed by a small dog.
+- The Hitchhiker's Guide to the Galaxy
Toybox 0.8.7 +(git commit) +is out, with prebuilt static binaries and +mkroot images +bootable under QEMU (using vanilla linux-5.17).
+ +Rob also uploaded +the prebuilt binary cross and native compilers used to build those +mkroot images (there's a README +in there), and started producing +tutorial videos explaining the +toybox commands, their implementation, toybox's infrastructure...
+ +The commands host, wget, openvt, and +deallocvt were cleaned up and promoted. +Elliott contributed the new commands uclampset, gpiodetect, +gpioinfo, gpioiget, gpiofind, and gpioset, +and Rob wrote a simple httpd (largely to give wget.test something to +talk to).
+ +One command was removed: catv didn't really serve a purpose +(everybody just uses cat -v).
+ + + + +Features: +top can now move the list with the LEFT/RIGHT cursor keys (changing the +sort field is now SHIFT LEFT/RIGHT). Added find -samefile, +cmp -n (and wired up skip1 skip2), +tar --strip components (and tar --owner and --group can now specify :UID and :GID making tar.test more portable), +lsusb and lspci now read /etc/{usb,pci}.ids[.gz] (when +available) to provide human readable device descriptions, +ifconfig can now rename interfaces. +Moritz Weber added wget post support for form data. +In toysh, cd got updated ("cd -" jumps to $OLDPWD, +and cd can now handle deleted directories).
+ +Bugfixes: +cp --preserve xattr,context work together now, and +Dario Freni fixed cp --xattr to avoid copying selinux context. +The sort -u option now implies -s, wget -O - now writes to stdout, +pwget -B removes more characters other implementations don't emit, +time's realtime output was not properly zero padding the fractional +part, and sed now works with multiple w to the same file. +Fixed nl -E, realpath -e, find -newerXY and @time.nanosecond parsing, +Various sh (it handles ${X: -1:1} properly now, +which is not the same as ${X:-1:1} because :- has special meaning). +The hello command in the examples directory now wait for a keypress before +exiting when run as PID 1 (because calling wait() returned "No child process" +immediately.) +The multiplexer's toybox command --help once again shows the command's +help (not toybox --help). +Elliott fixed a strip bug in the MacOS build, taught file not to be confused +by ELF BSS sections but to otherwise detect more invalid ELF files, +and fixed an xargs bug where stdin was inappropriately O_CLOEXEC. +Github user hg42 reported a bug where tar was looping trying to remove ".." +at the start of names.
+ +Library: +Taught flags.h to #define its own CLEANUP macros so switching FLAG() +contexts requires fewer steps. +When args.c is just enforcing max/min argument count but collecting no +options, imply "?" so "command -123" isn't an unknown option. +Moved lib/help.c into main.c (nothing else in lib/ had to rebuild +when the config changes which commands are enabled). +The remains of linestack.c were renamed utf8.c, and +toys.h now includes sys/syscall.h so commands don't have to.
+ +Yank things with only one remaining user: moved get_line() +to patch.c, struct str_len to bc.c, and struct ptr_len to ps.c +Removed tty_esc() and tty_jump() wrappers. +Various cleanups to lib/password.c and lib/tty.c. +Removed the PEDANTIC_ARGS config option which just set a macro that was never +used, xsignal_all_killers() now takes SIG_DFL as the reset value instead +of explicitly checking for NULL, +chomp() now removes any number of trailing \r\n, and it's now safe to +llist_pop(0) just like dlist_pop(0). +LongPing Wei improved support for copy_file_range().
+ +Build: +If you don't set $PREFIX, make install now defaults to $PWD/install +(which does not require root access to write to, and you can tar up your +pile of symlinks from there). +More command sub-options removed (NETCAT_LISTEN and CAT_V).
+ +Some of the uglier scripts/make.sh plumbing moved into scripts/portability.sh +(which should now be safe to source twice), +and moved almost all config varible definitions to "configure" now. The +new $GENDIR variable theoretically lets the "generated" directory live +somewhere else (not very tested yet). +Various tweaks to scripts/make.sh to try to avoid unnecessary rebuilds +and library probes when toolchain and config haven't changed. +Added -Wno-pointer-sign to $CFLAGS because passing an unsigned char * to a +function that expects char * is not a problem. + +
The airlock install in scripts/install.sh had the $PENDING items sorted +into "started" and "not started". Add git and bash to $PENDING (used +out of $PATH by --version and the powerpc64le build, respectively).
+ +Cleanup: +Removed the lib/linestack.c plumbing (which was never finished and hadn't +been touched in years). +Merged lspci.c into lsusb.c (so they can share config file reading +infrastructure), and merged chvt/deallocvt into openvt.c. +Minor cleanups to ping, fsync, ionice, pmap, truncate, timeout, tty, +factor, mount. +Went through and replaced \033 with \e in strings (since clang supports +it and \033 is just awkward). Added LL to constant 0 in the FLAG macros +to prevent gcc from warning that 0<<32 might produce 0. +Moved llvm's -Wno-string-plus-int into configure instead of probing +for it, since gcc no longer dies when asked to suppress an unknown warning.
+ +mkroot: +the ANSI escape to undo QEMU's wordwrap bug is now in both the init script +and launch wrapper script (so wordwrap isn't broken while running the +emulated system, nor if the emulated system fails to run). +If devtmpfs was already mounted on /dev, we still need to create dev/pts. +The init script now includes the linux kernel bug workaround to enable ping +support. The armv7 target enabled CONFIG_ARM_LPAE in the kernel to work around +around a QEMU bug +that's gone unfixed for 4 years. Enable network support in m68k target. +The mcm-buildall.sh script got some minor updates, and the resulting +cross and native compiler binaries are now downloadable so you don't have +to run the build if you don't want to.
+ +Docs: +"toybox --help" no longer says "see toybox --help". +There's an ANSI escape cheat sheet at the start of lib/tty.c. +Reworded some command directory READMEs, and tweaked menuconfig display. +Converted www/doc/mount.html and www/doc/ext2.html from text to html. +Freshened up design.html a little (and fixed some typos pointed out by +Peter Ennis). +Replaced the git internals video URL in roadmap.html with a different +performance of the same talk that hasn't been made private. +Added the kconfig-language.txt from Linux-2.6.12 to the kconfig/ directory.
+Busy? We'll I've just got this bulldozer to lie in front of or otherwise it'll -- 2.39.2