From 87ede171eeaa90db3b76d2cb6230f947d2497e65 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Tue, 3 Nov 2015 05:30:08 -0600 Subject: Version 0.6.1 --- www/news.html | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) (limited to 'www/news.html') diff --git a/www/news.html b/www/news.html index 0c5da770..dd526b16 100755 --- a/www/news.html +++ b/www/news.html @@ -8,6 +8,149 @@ a development environment. See the links on the left for details.

News

+

November 3, 2015

+

"Alright," said Ford. "How would you react if I said that I'm +not from Guildford after all, but from a small planet somewhere in the vicinity +of Betelgeuse?" Arthur shrugged in a so-so sort of way. "I don't know," he +said, taking a pull of beer. "Why - do you think it's the sort of thing you're +likely to say?" - The Hitchhiker's Guide to the Galaxy.

+ +

Toybox 0.6.1 +(git commit) +is out.

+ +

We have a new ps command with all the -o fields posix wants (although +it doesn't accept BSD non-dash option syntax yet), and bunzip2 (not just +bzcat but the proper extract-in-place command). +Sameer Pradhan added hostid and fsync. +Elliott Hughes added flock. + +

The people waiting for human readable number support (du -hH, ls -h, +and so on) can thank Elliott Hughes for implementing it. (Our output doesn't +exactly match others' because we our "binary" mode will say 1.0G instead of +1024M, which is a bug in the other one we didn't emulate.)

+ +

The other big news is nommu support, tested on the new +jcore processor but presumaby working +on any nommu system. A few commands don't support nommu yet, but those +are disabled by dependencies on TOYBOX_FORK in menuconfig when building +for nommu. The roadmap now has a large section analyzing the uClinux +project (note that nommu.org is slowly replacing +uclinux.org as the standard repository of +all knowledge and wisdom about nommu. The old site contains +much that is apocryphal, or at least wildly inaccurate, and the new one +is trying to improve on that).

+ +

Both "make change" and scripts/single.sh (for building standalone commands +without the multiplexer logic) now use the top level .config +for toybox global settings such as Linux Security Blanket Module selection, +(so make defconfig before change now).

+ +

Documentation updates to the code and +roadmap pages.

+ +

pending

+ +

In the pending directory Sameer Pradhan added tftp, +and Elliott Hughes sent lsof. Isaac Dunham upgraded mdev, +reboot, init, login, and modprobe, and fixed a distro-specific build break in +scripts/mkflags.h. Elliott Hughes and Lipi Lee made netstat -p handle +command lines longer than 21 characters, and Elliott fixed netstat -e and +some build warnings. Yeongdeok Suh fixed a warning in dhcpd. +I started cleanup on pgrep/pkill.

+ +

Command updates, bugfixes, and infrastructure

+ +

The multiplexer's "command not found" error exit is now 127, so now you can't +distinguish between a command not being found in the multiplexer and +the multiplexer itself not being found by the shell, because people wanted +that for some reason.

+ +

Elliott Hughes made date reject invalid dates rather +than set the clock to something weird (setting the clock 100 years into the +future makes most Linux desktops surprisingly unhappy, and ntpdate won't fix it +either), fixed several ls -l display issues (user/group field ordering, +make user/group/lsmcontext left aligned), did the aforementioned +extensive work on human readable number output, fixed ionice's default +class, fixed a mv overwrite bug, made df's columns auto-size, added +--ppid and -Z to ps, and teamed up with Daniel K. Levy to fix +a segfault in find's handling of -newer -group or -user.

+ +

Hyejin Kim added stat -c %T support. Colin Cross worked +on vmstat fixing +a header printing bug and calculating the bi and bo columns in the right +units. Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra +newline and that grep -w '\(x\)\1' didn't work, both now fixed. +Alistair Strachan fixed several problems with switch_root. Kylie McClain +pointed out env should be able to clear variables via NAME= syntax. +Dima Krasner added support for running blkid without a partition (so it shows +all partitions). Hyejin Kim sent in a bunch of static analysis bug reports.

+ +

Isabella Parakiss reported that sed -e "/x/c\" -e "y" added an extra +newline and that grep -w '\(x\)\1' didn't work, both now fixed. +Alistair Strachan fixed several problems with switch_root. Kylie McClain +pointed out env should be able to clear variables via NAME= syntax. +Dima Krasner added support for running blkid without a partition (so it shows +all partitions). Hyejin Kim sent in a bunch of static analysis bug reports.

+ +

Two large thinko fixes in oneit: -3 was always enabled (which would +eventually block if the child never read the exiting PID numbers from its file +descriptor #3 until the pipe filled up), and the signal handlers weren't +set up right (for requesting semi-graceful halt/poweroff/reboot). +Calling install without a mode is now 0755, and install -g 0 no longer clashes +with cp --preserve. Better error message for ls -r on unreadable +directories, and ls -Z now uses O_PATH (with the /proc/self/fd/%d +workaround for kernel stupidity as necessary).

+ +

Date now understands @unixtime[.fraction] and uses -D for +the set-side format (matching busybox's extension for this). The seq -f +string now checks that it's got exactly one %f escape with the correct +attributes (and a whole bunch of test cases for it). Fixed a bug +in od that screwed up the position indicator on arm and mips. +In stat the d/h units moved from %d %D to the default string. +And patch can now correctly apply hunks with trailing context to the start of +the file.

+ +

The prompt argument moved out of yesno() (the caller can print the prompt +themselves). Replaced toys.exithelp with help_exit(). Added new +XVFORK() macro, and xpopen_both() calls /proc/self/exe when passed +a NULL argv (see cpio -p for example usage). Replaced toys.recurse +with toys.stacktop so the recurse or re-exec decision is now based +on bytes of stack space used. Marked a bunch of command-local functions +static.

+ +

New additions to lib/ include strlower(), xconnect(), and the +aforementioned help_exit(). +The testsuite now has some infrastructure tests based on "example" +commands such as toys/examples/test_human_readable.c. +The login command finally got a long-overdue cleanup (it's one of the +commands that predate the "pending" directory but were part of the reason +for it). Hexedit had an +uninitialized variable (of course gcc didn't spot it, it was too busy +warning about "may be used uninitialized but never actually is" variables).

+ +

Tweaked makefile so +"make CROSS_COMPILE=prefix-" (as well as "CROSS_COMPILE=prefix- make", +which still works). Toybox is now installed chmod -w so broken installers +(like the bunzip2 package's) that try to overwrite existing binaries won't +knock out the whole of toybox. +GCC 5.2.0 stopped being able to compile Linux 2.6.12's kconfig, but +we added a workaround. You can now build uptime without utmpx.h. +Alejandro Joya pointed out that enabling smack required smack on the host +as well as target when cross compiling, which is now fixed.

+ +

Note: toybox can autodetect nommu support when building with a uClibc +toolchain such as the one from Aboriginal Linux, +but with musl-libc +you'll have to enable CONFIG_TOYBOX_MUSL_NOMMU_IS_BROKEN to work around the +fact they provide a non-functional fork() implementation that always returns +-ENOSYS, to prevent you from compile-time probing for nommu support when +cross-compiling. Unfortunately "preventing you from probing" seems to be +an explicit policy with musl, they also don't provide an "#ifdef __MUSL__" +because their library is perfect and you're only ever allowed to work around +other people's bugs, not theirs. So we have to use menuconfig to manually +enable musl-specific bug workarounds.

+

July 23, 2015

I recreated the 0.6.0 source tarball (new sha1sum 08fb1c23f520c25a15f262a8a95ea5b676a98d54) -- cgit v1.2.3