Mirror of Suckless' sbase (git://git.suckless.org/sbase)
libutf | ||
libutil | ||
arg.h | ||
basename.1 | ||
basename.c | ||
cal.1 | ||
cal.c | ||
cat.1 | ||
cat.c | ||
chgrp.1 | ||
chgrp.c | ||
chmod.1 | ||
chmod.c | ||
chown.1 | ||
chown.c | ||
chroot.1 | ||
chroot.c | ||
cksum.1 | ||
cksum.c | ||
cmp.1 | ||
cmp.c | ||
col.1 | ||
col.c | ||
cols.1 | ||
cols.c | ||
comm.1 | ||
comm.c | ||
compat.h | ||
config.mk | ||
cp.1 | ||
cp.c | ||
cron.1 | ||
cron.c | ||
crypt.h | ||
cut.1 | ||
cut.c | ||
date.1 | ||
date.c | ||
dirname.1 | ||
dirname.c | ||
du.1 | ||
du.c | ||
echo.1 | ||
echo.c | ||
env.1 | ||
env.c | ||
expand.1 | ||
expand.c | ||
expr.1 | ||
expr.c | ||
false.1 | ||
false.c | ||
find.1 | ||
find.c | ||
fold.1 | ||
fold.c | ||
fs.h | ||
grep.1 | ||
grep.c | ||
head.1 | ||
head.c | ||
hostname.1 | ||
hostname.c | ||
kill.1 | ||
kill.c | ||
LICENSE | ||
link.1 | ||
link.c | ||
ln.1 | ||
ln.c | ||
logger.1 | ||
logger.c | ||
logname.1 | ||
logname.c | ||
ls.1 | ||
ls.c | ||
Makefile | ||
md5.h | ||
md5sum.1 | ||
md5sum.c | ||
mkdir.1 | ||
mkdir.c | ||
mkfifo.1 | ||
mkfifo.c | ||
mktemp.1 | ||
mktemp.c | ||
mv.1 | ||
mv.c | ||
nice.1 | ||
nice.c | ||
nl.1 | ||
nl.c | ||
nohup.1 | ||
nohup.c | ||
paste.1 | ||
paste.c | ||
printenv.1 | ||
printenv.c | ||
printf.1 | ||
printf.c | ||
pwd.1 | ||
pwd.c | ||
queue.h | ||
readlink.1 | ||
readlink.c | ||
README | ||
renice.1 | ||
renice.c | ||
rm.1 | ||
rm.c | ||
rmdir.1 | ||
rmdir.c | ||
sed.1 | ||
sed.c | ||
seq.1 | ||
seq.c | ||
setsid.1 | ||
setsid.c | ||
sha1.h | ||
sha1sum.1 | ||
sha1sum.c | ||
sha256.h | ||
sha256sum.1 | ||
sha256sum.c | ||
sha512.h | ||
sha512sum.1 | ||
sha512sum.c | ||
sleep.1 | ||
sleep.c | ||
sort.1 | ||
sort.c | ||
split.1 | ||
split.c | ||
sponge.1 | ||
sponge.c | ||
strings.1 | ||
strings.c | ||
sync.1 | ||
sync.c | ||
tail.1 | ||
tail.c | ||
tar.1 | ||
tar.c | ||
tee.1 | ||
tee.c | ||
test.1 | ||
test.c | ||
text.h | ||
time.1 | ||
time.c | ||
TODO | ||
touch.1 | ||
touch.c | ||
tr.1 | ||
tr.c | ||
true.1 | ||
true.c | ||
tty.1 | ||
tty.c | ||
uname.1 | ||
uname.c | ||
unexpand.1 | ||
unexpand.c | ||
uniq.1 | ||
uniq.c | ||
unlink.1 | ||
unlink.c | ||
utf.h | ||
util.h | ||
uudecode.1 | ||
uudecode.c | ||
uuencode.1 | ||
uuencode.c | ||
wc.1 | ||
wc.c | ||
xargs.1 | ||
xargs.c | ||
yes.1 | ||
yes.c |
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 ------- ------------- =*|o basename . =*|o cal . =*|o cat . =*|o chgrp . =*|o chmod . =*|o chown . =*|x chroot . =*|o cksum . =*|o cmp . #*|x cols . #*|x col . =*|o comm . =*|o cp (-i) =*|x cron . #*|o cut . =*|o date . =*|o dirname . =*|o du . =*|o echo . =*|o env . #*|o expand . #*|o expr . =*|o false . = find . #*|o fold . =* o grep . =*|o head . =*|x hostname . =*|o kill . =*|o link . =*|o ln . =*|o logger . =*|o logname . #* o ls (-C, -k, -m, -p, -s, -x) =*|x md5sum . =*|o mkdir . =*|o mkfifo . =*|x mktemp . =*|o mv (-i) =*|o nice . #*|o nl . =*|o nohup . #*|o paste . =*|x printenv . #*|o printf . =*|o pwd . =*|x readlink . =*|o renice . =*|o rm (-i) =*|o rmdir . # sed . =*|x seq . =*|x setsid . =*|x sha1sum . =*|x sha256sum . =*|x sha512sum . =*|o sleep . sort -d, -f, -i =*|o split . =*|x sponge . #*|o strings . =*|x sync . =*|o tail . =*|x tar . =*|o tee . =*|o test . =*|o time . =*|o touch . #*|o tr . =*|o true . =*|o tty . =*|o uname . #*|o unexpand . =*|o uniq . =*|o unlink . =*|o uudecode . =*|o uuencode . #*|o wc . =*|o 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/