I've finally gotten 'cpio' into a shape where it could be useable.
This version can archive and extract directories, sockets, FIFOs, devices,
symlinks, and regular files.
Supported options are -iot, -H FMT (which is a dummy right now).
It only writes newc, and could read newc or newcrc.

This does NOT implement -d, which essentially is equivalent to
mkdir -p $(dirname $FILE)
for every file that needs it.
Hard links are not supported, though it would be easy to add them given
a hash table or something like that.
I also have not implemented the "<n> blocks" output on stderr.
If desired, I can add it pretty simply.

There is one assumption this makes: that the mode of a file, as mode_t,
is bitwise equivalent to the mode as defined for the cpio format.
This is true of Linux, but is not mandated by POSIX.
If it is compiled for a system where that is false, the archives will
not be portable.
Teach scripts/test.sh to call scripts/single.sh.
Prep work for useradd by Ashwini Sharma.
Minor lib/password.c cleanup, described on the list. (Inline two functions.)
useradd, groupadd, and mkpasswd submitted by Ashwini Sharma.
New toy: reboot/halt/poweroff
Minor cleanup of reboot
Don't use $CC without $CROSS_COMPILE because $HOSTCC could be something else entirely.
I noticed the user count was missing and added this, borrowing a bit of code from toys/posix/who.c.
watch: Add support for -e option, remove memory leak and deal with not-wide terminals
Refactor terminal querying.
Here's a revised cpio.
I've reduced the use of malloc(), dropped an extra function call, and
-at least in theory- allowed proper handling of non-regular files.
(If we have a file we can't read, we still should record it when it's
of a type where file content is ignored).
Cleanup nl, add support for more bits of posix.
Promote nl from pending to posix, and add tests.
Make the patch -x option (only enabled with CONFIG_DEBUG) provide more information about why a patch didn't apply. (Offset of first nonmatching character at each line during seek phase.)
Patch from William Haddon to make xargs with blank input call its command line once. (Tweaked slightly for whitespace and to collate variable declarations.)
Cleanup vconfig.
Merge toynet.h into toys.h: musl supports it and micromanaging uClibc config options isn't very interesting anymore.
Give xstrncpy() a more informative error message.
Sceond cleanup pass on vconfig