sbase - suckless unix tools
===========================

sbase  is a  collection of  unix  tools that  are inherently  portable
across UNIX and UNIX-like systems.

The following tools are implemented:

'#'  -> UTF-8 support, '=' -> Implicit UTF-8 support, '*' -> Finished,
'|'  -> Audited,       'o' -> POSIX 2013 compliant,   'x' -> Non-POSIX,
'()' -> Petty flag

     UTILITY     MISSING FLAGS
     -------     -------------
=*|  basename    .
=*|  cal         .
=*|  cat         .
=*|  chgrp       .
=*|  chmod       .
=*|  chown       .
=*|x chroot      .
=*|  cksum       .
=*|  cmp         .
#*|x cols        .
#*|x col         .
=*|  comm        .
=*|  cp          (-i)
=*|x cron        .
#*|  cut         .
=*|  date        .
=*|  dirname     .
=*|  du          .
=*|  echo        .
=*|  env         .
#*|  expand      .
#*|  expr        .
=*|  false       .
=    find        .
#*|  fold        .
=*   grep        .
=*|  head        .
=*|x hostname    .
=*|  kill        .
=*|  link        .
=*|  ln          .
=*|  logger      .
=*|  logname     .
#*   ls          (-C, -m, -s, -x)
=*|x md5sum      .
=*|  mkdir       .
=*|  mkfifo      .
=*|x mktemp      .
=*|  mv          (-i)
=*|  nice        .
#*|  nl          .
=*|  nohup       .
#*|  paste       .
=*|x printenv    .
#*|  printf      .
=*|  pwd         .
=*|x readlink    .
=*|  renice      .
=*|  rm          (-i)
=*|  rmdir       .
#    sed         .
=*|x seq         .
=*|x setsid      .
=*|x sha1sum     .
=*|x sha256sum   .
=*|x sha512sum   .
=*|  sleep       .
     sort        -d, -f, -i
=*|  split       .
=*|x sponge      .
#*|  strings     .
=*|x sync        .
=*|  tail        .
=*|x tar         .
=*|  tee         .
=*|  test        .
=*|  time        .
=*|  touch       .
#*|  tr          .
=*|  true        .
=*|  tty         .
=*|  uname       .
#*|  unexpand    .
=*|  uniq        .
=*|  unlink      .
=*|  uudecode    .
=*|  uuencode    .
#*|  wc          .
=*|  xargs       (-p)
=*|x yes         .

The  complement of  sbase  is  ubase[1] which  is  Linux-specific  and
provides all  the non-portable tools.   Together they are  intended to
form a base system similar to busybox but much smaller and suckless.

Building
--------

To  build sbase,  simply  type  make.  You  may  have  to fiddle  with
config.mk depending on your system.

You  can  also  build  sbase-box,  which  generates  a  single  binary
containing  all  the  required  tools.    You  can  then  symlink  the
individual tools to sbase-box or run: make sbase-box-install

Ideally you will  want to statically link sbase.  If  you are on Linux
we recommend using musl-libc[2].

Portability
-----------

sbase has been  compiled on a variety of  different operating systems,
including Linux, *BSD, OSX, Haiku, Solaris, SCO OpenServer and others.

Various combinations of operating  systems and architectures have also
been built.

You can build sbase with gcc, clang, tcc, nwcc and pcc.

[1] http://git.suckless.org/ubase/
[2] http://www.musl-libc.org/