From 7b5025367abf18adad3aa2781b561df6115e2a0f Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 6 May 2022 02:15:41 -0500 Subject: [PATCH] Release 0.8.7. --- toys.h | 2 +- www/news.html | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 146 insertions(+), 1 deletion(-) diff --git a/toys.h b/toys.h index 81c49552..fe688458 100644 --- a/toys.h +++ b/toys.h @@ -134,5 +134,5 @@ extern char **environ, *toybox_version, toybuf[4096], libbuf[4096]; #ifndef TOYBOX_VENDOR #define TOYBOX_VENDOR "" #endif -#define TOYBOX_VERSION "0.8.6"TOYBOX_VENDOR +#define TOYBOX_VERSION "0.8.7"TOYBOX_VENDOR #endif diff --git a/www/news.html b/www/news.html index cc85450e..fdb1d370 100644 --- a/www/news.html +++ b/www/news.html @@ -8,6 +8,151 @@ a development environment. See the links on the left for details.

News

+

May 6, 2022

+

+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.

+

November 30, 2021

Busy? We'll I've just got this bulldozer to lie in front of or otherwise it'll -- 2.39.2