~nabijaczleweli/voreutils

d489ee5a0c22ec6dee53861c2080efefbcf2b384 — наб 25 days ago ca75c05
Manually checkbox README list
1 files changed, 105 insertions(+), 105 deletions(-)

M README.md
M README.md => README.md +105 -105
@@ 4,111 4,111 @@ Drop-in Policy-compatible coreutils replacement, at the very least.
This probably wants a better blurb.

GNU coreutils provide the following 105 binaries, according to `dpkg -L coreutils | grep bin/`:
  [ ] /bin/cat
  [ ] /bin/chgrp
  [ ] /bin/chmod
  [ ] /bin/chown
  [ ] /bin/cp
  [ ] /bin/date
  [ ] /bin/dd
  [ ] /bin/df
  [ ] /bin/dir
  [x] /bin/echo – `-n` only
  [x] /bin/false
  [ ] /bin/ln
  [ ] /bin/ls
  [ ] /bin/mkdir
  [ ] /bin/mknod
  [ ] /bin/mktemp
  [ ] /bin/mv
  [ ] /bin/pwd
  [ ] /bin/readlink
  [ ] /bin/rm
  [ ] /bin/rmdir
  [x] /bin/sleep
  [ ] /bin/stty
  [x] /bin/sync
  [ ] /bin/touch
  [x] /bin/true
  [x] /bin/uname
  [ ] /bin/vdir
  [ ] /usr/bin/[
  [x] /usr/bin/arch
  [x] /usr/bin/b2sum
  [x] /usr/bin/base32
  [x] /usr/bin/base64
  [ ] /usr/bin/basename
  [ ] /usr/bin/chcon
  [x] /usr/bin/cksum
  [ ] /usr/bin/comm
  [ ] /usr/bin/csplit
  [ ] /usr/bin/cut
  [ ] /usr/bin/dircolors
  [ ] /usr/bin/dirname
  [ ] /usr/bin/du
  [x] /usr/bin/env – some parsing restrixions might be too strict (-0 in particular), but they match GNU env
  [x] /usr/bin/expand
  [ ] /usr/bin/expr
  [x] /usr/bin/factor – only u64 (for now?); could also use -hx from NetBSD?  also should maybe include primes(6)
  [ ] /usr/bin/fmt
  [ ] /usr/bin/fold
  [x] /usr/bin/groups
  [ ] /usr/bin/head
  [x] /usr/bin/hostid
  [x] /usr/bin/id
  [ ] /usr/bin/install
  [ ] /usr/bin/join
  [x] /usr/bin/link
  [x] /usr/bin/logname
  [x] /usr/bin/md5sum
  [ ] /usr/bin/mkfifo
  [ ] /usr/bin/nice
  [ ] /usr/bin/nl
  [x] /usr/bin/nohup – GNU nohup resets umask (for no discernible reason?), returns 125 instead of 127 for processing/no-nohup.out (which is wrong!)
  [x] /usr/bin/nproc
  [ ] /usr/bin/numfmt
  [ ] /usr/bin/od
  [x] /usr/bin/paste
  [ ] /usr/bin/pathchk
  [ ] /usr/bin/pinky
  [ ] /usr/bin/pr
  [x] /usr/bin/printenv
  [ ] /usr/bin/printf
  [ ] /usr/bin/ptx
  [ ] /usr/bin/realpath
  [ ] /usr/bin/runcon
  [ ] /usr/bin/seq
  [x] /usr/bin/sha1sum
  [x] /usr/bin/sha224sum
  [x] /usr/bin/sha256sum
  [x] /usr/bin/sha384sum
  [x] /usr/bin/sha512sum
  [x] /usr/bin/shred – a perfunctory novote
  [ ] /usr/bin/shuf
  [ ] /usr/bin/sort
  [ ] /usr/bin/split
  [ ] /usr/bin/stat
  [x] /usr/bin/stdbuf
  [x] /usr/bin/sum
  [x] /usr/bin/tac
  [ ] /usr/bin/tail
  [ ] /usr/bin/tee
  [ ] /usr/bin/test
  [x] /usr/bin/timeout
  [x] /usr/bin/tr – implements -C as -c and `[=e=]` as `e`: this matches 4.4BSD and GNU tr, but is nevertheless a missing POSIX feature; could also stand to do buffering lower than fgetc/fputc, as I imagine the overhead of calling those for each byte is noninsignificant
  [x] /usr/bin/truncate
  [x] /usr/bin/tsort – GNU tsort is [turbofucked](https://bugs.debian.org/990854), and returns 1 for loops
  [x] /usr/bin/tty
  [x] /usr/bin/unexpand – flag handling is mildly (very?) different, and matches NetBSD; the tests are (should be) representative and all pass, but i've had [the worst time of my life](https://twitter.com/nabijaczleweli/status/1403145708543295493) writing it, so it's entirely possible (if unlikely) it's not 100% bug-compatible
  [ ] /usr/bin/uniq
  [x] /usr/bin/unlink
  [ ] /usr/bin/users
  [ ] /usr/bin/wc
  [ ] /usr/bin/who
  [x] /usr/bin/whoami
  [x] /usr/bin/yes
  [ ] /usr/sbin/chroot
  [x] /usr/bin/md5sum.textutils
  * ☐ /bin/cat
  * ☐ /bin/chgrp
  * ☐ /bin/chmod
  * ☐ /bin/chown
  * ☐ /bin/cp
  * ☐ /bin/date
  * ☐ /bin/dd
  * ☐ /bin/df
  * ☐ /bin/dir
  * ☑ /bin/echo – `-n` only
  * ☑ /bin/false
  * ☐ /bin/ln
  * ☐ /bin/ls
  * ☐ /bin/mkdir
  * ☐ /bin/mknod
  * ☐ /bin/mktemp
  * ☐ /bin/mv
  * ☐ /bin/pwd
  * ☐ /bin/readlink
  * ☐ /bin/rm
  * ☐ /bin/rmdir
  * ☑ /bin/sleep
  * ☐ /bin/stty
  * ☑ /bin/sync
  * ☐ /bin/touch
  * ☑ /bin/true
  * ☑ /bin/uname
  * ☐ /bin/vdir
  * ☐ /usr/bin/[
  * ☑ /usr/bin/arch
  * ☑ /usr/bin/b2sum
  * ☑ /usr/bin/base32
  * ☑ /usr/bin/base64
  * ☐ /usr/bin/basename
  * ☐ /usr/bin/chcon
  * ☑ /usr/bin/cksum
  * ☐ /usr/bin/comm
  * ☐ /usr/bin/csplit
  * ☐ /usr/bin/cut
  * ☐ /usr/bin/dircolors
  * ☐ /usr/bin/dirname
  * ☐ /usr/bin/du
  * ☑ /usr/bin/env – some parsing restrixions might be too strict (-0 in particular), but they match GNU env
  * ☑ /usr/bin/expand
  * ☐ /usr/bin/expr
  * ☑ /usr/bin/factor – only u64 (for now?); could also use -hx from NetBSD?  also should maybe include primes(6)
  * ☐ /usr/bin/fmt
  * ☐ /usr/bin/fold
  * ☑ /usr/bin/groups
  * ☐ /usr/bin/head
  * ☑ /usr/bin/hostid
  * ☑ /usr/bin/id
  * ☐ /usr/bin/install
  * ☐ /usr/bin/join
  * ☑ /usr/bin/link
  * ☑ /usr/bin/logname
  * ☑ /usr/bin/md5sum
  * ☐ /usr/bin/mkfifo
  * ☐ /usr/bin/nice
  * ☐ /usr/bin/nl
  * ☑ /usr/bin/nohup – GNU nohup resets umask (for no discernible reason?), returns 125 instead of 127 for processing/no-nohup.out (which is wrong!)
  * ☑ /usr/bin/nproc
  * ☐ /usr/bin/numfmt
  * ☐ /usr/bin/od
  * ☑ /usr/bin/paste
  * ☐ /usr/bin/pathchk
  * ☐ /usr/bin/pinky
  * ☐ /usr/bin/pr
  * ☑ /usr/bin/printenv
  * ☐ /usr/bin/printf
  * ☐ /usr/bin/ptx
  * ☐ /usr/bin/realpath
  * ☐ /usr/bin/runcon
  * ☐ /usr/bin/seq
  * ☑ /usr/bin/sha1sum
  * ☑ /usr/bin/sha224sum
  * ☑ /usr/bin/sha256sum
  * ☑ /usr/bin/sha384sum
  * ☑ /usr/bin/sha512sum
  * ☑ /usr/bin/shred – a perfunctory novote
  * ☐ /usr/bin/shuf
  * ☐ /usr/bin/sort
  * ☐ /usr/bin/split
  * ☐ /usr/bin/stat
  * ☑ /usr/bin/stdbuf
  * ☑ /usr/bin/sum
  * ☑ /usr/bin/tac
  * ☐ /usr/bin/tail
  * ☐ /usr/bin/tee
  * ☐ /usr/bin/test
  * ☑ /usr/bin/timeout
  * ☑ /usr/bin/tr – implements -C as -c and `[=e=]` as `e`: this matches 4.4BSD and GNU tr, but is nevertheless a missing POSIX feature; could also stand to do buffering lower than fgetc/fputc, as I imagine the overhead of calling those for each byte is noninsignificant
  * ☑ /usr/bin/truncate
  * ☑ /usr/bin/tsort – GNU tsort is [turbofucked](https://bugs.debian.org/990854), and returns 1 for loops
  * ☑ /usr/bin/tty
  * ☑ /usr/bin/unexpand – flag handling is mildly (very?) different, and matches NetBSD; the tests are (should be) representative and all pass, but i've had [the worst time of my life](https://twitter.com/nabijaczleweli/status/1403145708543295493) writing it, so it's entirely possible (if unlikely) it's not 100% bug-compatible
  * ☐ /usr/bin/uniq
  * ☑ /usr/bin/unlink
  * ☐ /usr/bin/users
  * ☐ /usr/bin/wc
  * ☐ /usr/bin/who
  * ☑ /usr/bin/whoami
  * ☑ /usr/bin/yes
  * ☐ /usr/sbin/chroot
  * ☑ /usr/bin/md5sum.textutils

TODO: multicalls should default to something rather than abort when appropriate like netbsd id(1) maybe?