1
0
mirror of git://git.suckless.org/sbase synced 2024-12-09 16:58:45 +00:00
suckless unix tools
Go to file
Brandon Pribula cf1e064339 README: Add usage instruction for sbase-box
It would be a good idea to add a usage instruction for sbase-box
in sbase's README similar to the one in ubase's README.

Also, There's no command named 'sha238sum' but there is one named
'sha384sum' and in the alphabetized list of commands 'paste' should
come before 'pathchk'.
2024-10-07 11:14:36 +02:00
libutf libutf: add some const's 2023-04-12 21:22:28 -07:00
libutil libutil: Remove free() from strnsub() 2023-09-22 11:44:58 +02:00
scripts build: Fix sbase-box-install target 2024-03-12 17:11:35 +01:00
.gitignore sbase-box: Simplify Makefile rule 2023-09-27 07:10:05 +02:00
arg.h
basename.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
basename.c
cal.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cal.c
cat.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cat.c
chgrp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chgrp.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
chmod.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chmod.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
chown.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chown.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
chroot.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chroot.c
cksum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cksum.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
cmp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cmp.c cmp: Make output of error message POSIX compliant 2023-04-12 21:37:04 -07:00
cols.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cols.c
comm.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
comm.c
compat.h
config.mk build: Posixfy the Makefile 2023-09-27 09:46:39 +02:00
cp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cp.c cp: Default to -P when -R is specified 2019-12-21 21:26:19 -08:00
cron.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cron.c
crypt.h
cut.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cut.c
date.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
date.c
dd.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
dd.c dd: Consider block count in inner read loop 2023-04-12 20:47:34 -07:00
dirname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
dirname.c
du.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
du.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
echo.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
echo.c
ed.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
ed.c ed: Handle correctly lines in substitutions 2023-12-29 20:27:23 +01:00
env.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
env.c
expand.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
expand.c
expr.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
expr.c expr: tonum: handle case where result was previously calculated 2024-01-31 05:00:51 +01:00
false.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
false.c
find.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
find.c find: Make parameter error messages more specific 2023-11-14 19:36:18 +01:00
flock.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
flock.c
fold.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
fold.c fold: fix handling of -s 2020-10-14 15:03:20 -07:00
fs.h libutil/recurse: Use a single path buffer, and directory fd 2020-03-05 00:45:53 -08:00
getconf.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
getconf.c getconf: Add an explicit return at the end of main 2020-03-01 16:40:01 -08:00
grep.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
grep.c
head.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
head.c
hostname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
hostname.c
join.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
join.c
kill.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
kill.c
LICENSE Fix LICENSE name 2022-03-22 17:20:51 -07:00
link.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
link.c
ln.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
ln.c
logger.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
logger.c
logname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
logname.c
ls.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
ls.c ls, tar: Guard inclusion of sys/sysmacros.h by absence of major definition 2019-08-05 14:38:32 -07:00
Makefile build: Fix sbase-box-install target 2024-03-12 17:11:35 +01:00
md5.h
md5sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
md5sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
mkdir.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mkdir.c
mkfifo.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mkfifo.c
mknod.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mknod.c mknod: Add support for making FIFOs 2020-03-01 16:33:18 -08:00
mktemp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mktemp.c No need for semicolon after ARGEND 2015-11-01 10:18:55 +00:00
mv.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mv.c mv: Move on to other files if rename fails with something other than EXDEV 2021-07-30 12:24:32 -07:00
nice.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
nice.c
nl.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
nl.c
nohup.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
nohup.c nohup: Open nohup.out WRONLY 2021-10-23 16:17:20 -07:00
od.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
od.c
paste.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
paste.c paste: Minor style tweaks 2020-04-15 16:13:22 -07:00
pathchk.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
pathchk.c
printenv.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
printenv.c
printf.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
printf.c printf: allow flags for the %s format string aswell 2021-07-26 20:10:09 +02:00
pwd.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
pwd.c
queue.h
readlink.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
readlink.c
README README: Add usage instruction for sbase-box 2024-10-07 11:14:36 +02:00
renice.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
renice.c
rev.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
rev.c
rm.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
rm.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
rmdir.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
rmdir.c
sed.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sed.c sed: Include filename in error message 2020-02-20 21:49:11 -08:00
seq.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
seq.c
setsid.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
setsid.c setsid: fix usage information for -f flag 2022-06-20 12:39:59 +02:00
sha1.h
sha1sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha1sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha224.h add sha224sum and sha384sum 2016-02-24 10:15:16 +00:00
sha224sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha224sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha256.h
sha256sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha256sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha384.h
sha384sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha384sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha512-224.h
sha512-224sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha512-224sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha512-256.h
sha512-256sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha512-256sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha512.h
sha512sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha512sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sleep.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sleep.c
sort.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sort.c sort: Don't do fallback top-level sort in check mode 2020-01-03 15:42:33 -08:00
split.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
split.c
sponge.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sponge.c
strings.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
strings.c strings: Rename len to min 2021-01-14 21:46:30 -08:00
sync.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sync.c
tail.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tail.c
tar.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tar.c tar: chktar: fix conditional typo 2024-03-06 16:00:10 +01:00
tee.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tee.c
test.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
test.c
text.h
tftp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tftp.c
time.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
time.c
TODO ed: Add other pending bug 2024-03-22 04:39:25 +01:00
touch.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
touch.c
tr.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tr.c tr: fix behavior of cflag when using character classes 2023-09-21 15:27:01 +02:00
true.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
true.c
tsort.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tsort.c
tty.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tty.c
uname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uname.c
unexpand.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
unexpand.c
uniq.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uniq.c
unlink.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
unlink.c
utf.h paste: Support -d '\0' 2020-04-15 16:11:12 -07:00
util.h xargs: add replace string flag (-I) 2023-09-22 10:34:36 +02:00
uudecode.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uudecode.c
uuencode.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uuencode.c
wc.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
wc.c wc: Removing output padding 2019-12-21 20:19:08 -08:00
which.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
which.c
whoami.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
whoami.c
xargs.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
xargs.c xargs: Read full lines is -I 2023-09-22 14:19:36 +02:00
xinstall.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
xinstall.c install: Unlink destination file on failure 2020-05-24 20:58:36 -07:00
yes.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
yes.c yes: Simplify, only support one argument 2019-10-31 18:14:18 -07:00

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

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

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

To run the tools for sbase-box directly use: sbase-box cmd [args]

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.

Status
------

The following tools are implemented:

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

      UTILITY         MISSING
      -------         -------
0=*|o basename        .
0=*|o cal             .
0=*|o cat             .
0=*|o chgrp           .
0=*|o chmod           .
0=*|o chown           .
0=*|x chroot          .
0=*|o cksum           .
0=*|o cmp             .
0#*|x cols            .
0=*|o comm            .
0=*|o cp              (-i)
0=*|x cron            .
0#*|o cut             .
0=*|o date            .
0=*|o dd              .
0=*|o dirname         .
0=*|o du              .
0=*|o echo            .
    o ed              .
0=*|o env             .
0#*|o expand          .
0#*|o expr            .
0=*|o false           .
0=    find            .
0=* x flock           .
0#*|o fold            .
0=*|o getconf         (-v)
 =*|o grep            .
0=*|o head            .
0=*|x hostname        .
0=*|x install         .
0=* o join            .
0=*|o kill            .
0=*|o link            .
0=*|o ln              .
0=*|o logger          .
0=*|o logname         .
0#* o ls              (-C, -k, -m, -p, -s, -x)
0=*|x md5sum          .
0=*|o mkdir           .
0=*|o mkfifo          .
0=*|x mknod           .
0=*|x mktemp          .
0=*|o mv              (-i)
0=*|o nice            .
0#*|o nl              .
0=*|o nohup           .
0=*|o od              .
 #*|o paste           .
0#* o pathchk         .
0=*|x printenv        .
0#*|o printf          .
0=*|o pwd             .
0=*|x readlink        .
0=*|o renice          .
0#* x rev             .
0=*|o rm              (-i)
0=*|o rmdir           .
 #    sed             .
0=*|x seq             .
0=*|x setsid          .
0=*|x sha1sum         .
0=* x sha224sum       .
0=*|x sha256sum       .
0=* x sha384sum       .
0=*|x sha512sum       .
0=* x sha512-224sum   .
0=* x sha512-256sum   .
0=*|o sleep           .
0#*|o sort            .
0=*|o split           .
0=*|x sponge          .
0#*|o strings         .
0=*|x sync            .
0=*|o tail            .
0=*|x tar             .
0=*|o tee             .
0=*|o test            .
0=*|x tftp            .
0=*|o time            .
0=*|o touch           .
0#*|o tr              .
0=*|o true            .
0=* o tsort           .
0=*|o tty             .
0=*|o uname           .
0#*|o unexpand        .
0=*|o uniq            .
0=*|o unlink          .
0=*|o uudecode        .
0=*|o uuencode        .
0#*|o wc              .
0=*|x which           .
0=*|x whoami          .
0=*|o xargs           (-p)
0=*|x yes             .

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