From a558435edcec48a532e5230c7d645cd58c9517be Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Tue, 30 Nov 2021 06:13:23 -0600 Subject: [PATCH] Update version to 0.8.6 and add release notes. --- toys.h | 2 +- www/news.html | 194 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 192 insertions(+), 4 deletions(-) diff --git a/toys.h b/toys.h index 6e4ac184..40d8993d 100644 --- a/toys.h +++ b/toys.h @@ -134,5 +134,5 @@ extern char **environ; #ifndef TOYBOX_VENDOR #define TOYBOX_VENDOR "" #endif -#define TOYBOX_VERSION "0.8.5"TOYBOX_VENDOR +#define TOYBOX_VERSION "0.8.6"TOYBOX_VENDOR #endif diff --git a/www/news.html b/www/news.html index f7399659..dfe71caf 100644 --- a/www/news.html +++ b/www/news.html @@ -1,14 +1,201 @@ toybox news -

Toybox combines common Linux command line utilities together +

Toybox combines the most common Linux command line utilities together into a single BSD-licensed executable that's simple, small, fast, reasonably standards-compliant, and powerful enough to turn Android into a development environment. See the links on the left for details.

News

-

May 19, 2021

+

November 30, 2021

+

+Busy? We'll I've just got this bulldozer to lie in front of or otherwise it'll +knock my house down but otherwise no, not especially, why?

+

- The Hitchhiker's Guide to the Galaxy

+ +

Toybox 0.8.6 +(git commit) +is out, with prebuilt static binaries and +mkroot images +bootable under QEMU (using vanilla linux-5.15).

+ +

Make root: The system builder got upgraded, with better +logging and layout of the output directory, plus scripts/mkroot.sh +should be easier to read and understand now. +(Also added basic support for the qualcomm hexagon, +although it just builds a chroot filesystem, you can't boot a hexagon kernel under qemu +quite yet.)

+

+ +

New commands: Rob added linux32. +Dan Brown added sha256sum (and the related 224/384/512 variants). +In pending, Elliott contributed strace and +Moritz Röhrich contributed hexdump.

+ +

Features: +Elliott added date -s, pmap -p, tail -F -s, kill -0, +reboot/halt/poweroff -d, taught file to +recognize Mach-o universal binaries, made Android's log +take input from stdin when it has no arguments, added tail --bytes --lines +(the --long synonyms for -c and -n), +added i2cdetect -q, taught i2cdump to write XX for +read failures, made timeout use the monotonic clock, +and modernized the output of uptime.

+ +

Rob added find -quit -lname -ilname and -d as a synonym for -depth, +taught cut -d $'\n' +to cut by line and added posix cut -nb (which wraps to the start of -c +utf8 characters), added cpio --ignore-devno --renumber-inodes, +taught cal to use 3 arguments (day month year), added tar --selinux +support and a "had errors" message at the end, made uname -o +say "Toybox", and fixed the grep -Fw combination (used by the 64 bit +powerpc kernel build).

+ +

Ella-0 added split -n. Peter Collingbourne added grep -L.

+ +

Outside world: The 0BSD license is now part of the +ISO-5962 +standard. Of the currently 38k 0BSD licensed projects on github toybox +isn't even the most popular, it's fourth.

+ +

Elliott asked that toybox's cut -DF feature (a cheaper +alternative to awk '{print $3}' be supported by other packages so +it might someday make it into posix, so Rob +submitted it to busybox +where it was eventually merged.

+ +

Added a local git mirror for +those reluctant to trust Microsoft Github.

+ +

In the web nav bar, our freenode +channel moved to libera.chat +(like everyone else's; +there +was +a +certain +amount +of +drama +involved).

+ +

Pending: lots more work on toysh: it has basic $((math)) support +now, += assignment, the "declare" command and corresponding variable +types (declare -i, declare -u, etc), several bugfixes, greatly +improved support for background processes on NOMMU systems, and a bunch +more sh.test entries.

+ +

Elliott fixed modprobe's parsing of short lines. Rob fixed a +division by zero error when vi tries to edit a zero length file. +Anqi Dong made sure that syslogd messages sent to sockets end with a +newline. Eric Molitor significantly upgrade wget with http 1.1, +chunked encoding, and (external library) https (TLS 1.2) support, +plus several bugfixes. Michael Hope fixed tftpd's option parsing.

+ +

Documentation: The roadmap.html and status.html pages +got noticeable updates. (status.html is now directly generated by +scripts/mkstatus.py, the old status.html wrapper that server-side-included +status.gen has been removed). +The design +page provides better links to the LP64 documentation, and the +code page explains a corner case where the filename +and first command name expect to match (and how to work around it if they don't). +Some website files weren't in the repository: two jpegs linked from html +files, and the www/.htaccess file that triggers the server side includes +in the navigation menu is now checked in. Johannes Schmitz fixed a +typo in about.html.

+ +

The shred usage line now includes all options. +The logwrapper command now warns when it isn't built standalone. +The help command no longer shows a header line about toybox unless +it's called with no arguments. (It still shows it for command --help.) +The --help option no longer needs to be the first option, and is +checked before the "Not root" error message for restricted commands.

+ +

Bugfixes: +Elliott made ps exit with status 1 if no processes were shown (for LTP), +fixed an off-by-one in dmesg and a bounds check in netstat, +fixed pidof -s, and taught rmmod to handle multiple arguments. +Denys Vlasenko pointed out that free -t is "total" not "terabytes". +Samanta Navarro pointed out a leftover 32 bit limitation in argument groups. +Mikhail Kashkarov fixed mkdir's error handling for existing directories +without -p. +Rob fixed the 32 bit readelf build on Android, fixed a race condition +in tar leading +to the occasional spurious archiver warning, +changed cp +to work around a posix violation in the kernel, made xparsedate() handle more +whitespace and ignore trailing + or - (a NOP timezone), made su log the +right username, switched getuid() checks to geteuid() in df and ping, +fixed a place in the test suite where do_test() +could get confused by symlinks in the $PATH (calling realpath too early +and losing the name of the command being run), +made env -i use the old $PATH to run its command, +and made grep --color highlight all matches.

+ +

Worked around a bug in glibc+gcc 9.3 where linking against librt.a +(for things like timer_create()) pulls in libgcc_eh.a which uses +threads, meaning you can't statically link against librt.a from +a non-threaded app. (I hadn't noticed because it works fine with the musl +and llvm/bionic toolchains, only fails statically linking on e.g. debian.) +The kernel fix for the cpio encrypted filesystem issue worked around in 0.8.5 made +it in. Similarly, the +FS_IOC_{GET,SET}{VERSION,FLAGS} ioctl family are historically broken +(taking an unsigned int argument while advertising signed long), +which we fixed and reported upstream to a long +round of bikeshedding (sadly +the result seems to have been the man page maintainer +giving up +on documenting ioctls at all.

+ +

Cleanups: +cut switched to FLAG() macros and no longer allows -f with -F, +eject uses FLAG() macros and the linux/eject.h header, +prettycool@protonmail added tabs to time's output, and Rob removed +the floating point dependency from time. Minor cleanups +to lsattr, lspci, nsenter, xxd, file, insmod, modprobe, arp, bootchartd, pmap, +comm, lsof, blkid, crond, init, userdel, makedevs, and scripts/make.sh. +The "int fd = fd;" +initialization hack to shut up gcc's "may be used uninitalized, but isn't" false +positive warning has been replaced by a QUIET macro that resolves +to nothing on llvm (which doesn't have the gcc bug). +Ryan Pritchard reported a bug where alias ls="ls --color" would prevent +--help or --version from being the first argument to the command, which was +a pain to fix without breaking things like echo -- --version and +basename -s --help file--help. +(Both toy_singleinit() in main.c _and_ get_optflags() in lib/args.c now +check for those.)

+ +

Infrastructure: +xabspath() now has a more granular (flag based) control interface.

+ +

scripts/make.sh now uses wait -n (available since bash 4.3 in February 2014) +to keep the processors busier during a parallel build. +Tests are now running in a subshell, which means functions and local +variables defined in one don't pollute others during "make tests". + +

Guo Chuang reported that lsattr won't build on an 8 year old version of +centos, +which is still supported for 2 more years because Red Hat can +be paid to have a 10 year support horizon, longer than toybox's 7. Rob +fixed it (and merged a similarly ancient compilation failure fix when +building pending/ip.c against a 3.10 kernel), +but the philosophal argument +remains unresolved.

+ +

Standalone builds can now override the .config file location with +KCONFIG_CONFIG same as the multiplexer build. scripts/single.sh can +now cope with a missing .config file (it uses the defconfig values +for the CONFIG_TOYBOX_* global symbols). +"make install_airlock" no longer needs host versions of sha256sum and sha512sum.

+ +

In the test suite, VERBOSE=spam now shows expands successful tests +like it would for errors.

+ +

scripts/record-commands got updated and logwrapper got renamed logpath.

+ +

May 19, 2021

It was of course a descendant of these eccentric poets who invented the spurious tales of impending doom which enabled the people of Golgafrincham to rid themselves of the useless third of their population. @@ -39,7 +226,8 @@ Elliott Hughes added unicode. The

Michael Christensen added chsh to pending, which hasn't been promoted yet because it's part of a group of commands (useradd, userdel, groupadd, -groupdel) that should all be promoted together at some point.

+groupdel) that should all be promoted together at some point +(and depend on lib/passwd.c, which could use some more work).

Upgrades: cpio now supports extracting multiple concatenated archives. -- 2.39.2