sbase/README
FRIGN bab75bfe58 Amend list of tools with asterisks
to mark tools considered finished.

Finished doesn't mean work has stopped on these, but that these
programs are in a satisfying state according to the current suckless
coding practices, this includes having a

 1) mandoc manpage
 2) clean code

In most cases, 1) was the failing criterion. So in the interest of
finishing more tools and if you want to, well-written mandoc man-
pages are very much appreciated.
2015-01-15 22:22:17 +00:00

120 lines
5.6 KiB
Plaintext

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 (* == finished):
UTILITY POSIX 2008 COMPLIANT MISSING OPTIONS
------- -------------------- ---------------
* basename yes none
cal pending pending
cat yes none
chgrp no -h, -H, -L, -P
chmod yes none
chown no -h, -H, -L, -P
chroot non-posix none
cksum yes none
* cmp yes none
* cols non-posix none
comm yes none
cp no -H, -i, -L
* cron non-posix none
cut yes none
date yes none
dirname yes none
du no -H, -L, -x
echo yes none
env yes none
expand yes none
expr yes none
false yes none
fold yes none
* grep yes none
head yes none
hostname non-posix none
* kill yes none
link yes none
ln yes none
* logger yes none
logname yes none
ls no -C, -H, -L, -R, -c, -q, -u
md5sum non-posix none
mkdir yes none
mkfifo yes none
mktemp non-posix none
mv no -i
nice yes none
nl no -d, -f, -h, -l, -n, -p, -v, -w
nohup yes none
paste yes none
printenv non-posix none
printf stolen stolen
* pwd yes none
readlink non-posix none
renice yes none
rm no -i
rmdir no -p
sleep yes none
setsid non-posix none
sort no -m, -o, -d, -f, -i
split yes none
sponge non-posix none
strings no -a, -n, -t
sync non-posix none
tail no -c, -f
tar non-posix none
tee no -i
test yes none
touch no -a, -m, -r
tr yes none
true yes none
tty yes none
uudecode no -o
uuencode no -m
uname yes none
unexpand yes none
uniq no -f, -s
unlink yes none
seq non-posix none
sha1sum non-posix none
sha256sum non-posix none
sha512sum non-posix none
wc yes none
xargs no -I, -L, -p, -s, -t, -x
yes yes none
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
--------
You need GNU make to build sbase on OpenBSD.
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.
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/