sbase/README

120 lines
5.6 KiB
Plaintext
Raw Normal View History

2014-02-12 09:34:09 -05:00
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
2014-02-12 13:39:13 -05:00
The complement of sbase is ubase[1] which is Linux-specific and
2014-02-12 09:34:09 -05:00
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.
2014-02-12 09:34:09 -05:00
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/