a collection of unportable tools, similar in spirit to util-linux but much simpler.
sin 604b66ae8b Add blkdiscard(8) 5 months ago
libutil Refactor chvt(1) 3 years ago
LICENSE LICENSE: update year and bump to top 2 years ago
Makefile Add blkdiscard(8) 5 months ago
README README: explain make ubase-box-install 3 years ago
TODO Add pwdx(1) 2 years ago
arg.h arg.h: fixed argv checks order 2 years ago
blkdiscard.8 Add blkdiscard(8) 5 months ago
blkdiscard.c Add blkdiscard(8) 5 months ago
chvt.1 Refactor chvt(1) 3 years ago
chvt.c Refactor chvt(1) 3 years ago
clear.1 Refactor clear(1) 3 years ago
clear.c Remove stdlib.h from clear(1) 3 years ago
config.def.h Add last and lastb 4 years ago
config.mk Use CC for ubase-box, remove LD 3 years ago
ctrlaltdel.8 Minor newline fix in ctrlaltdel.8 3 years ago
ctrlaltdel.c Refactor ctrlaltdel(8) 3 years ago
dd.1 dd: implement conv=notrunc support 2 years ago
dd.c dd: Use sigaction(2) to obviate select(2) 1 year ago
df.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
df.c df: Don't scream if statvfs() fails 2 years ago
dmesg.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
dmesg.c dmesg: fix usage and code-style 3 years ago
eject.1 Refactor eject(1) 3 years ago
eject.c Refactor eject(1) 3 years ago
fallocate.1 Fix fallocate(1) manpage 3 years ago
fallocate.c Refactor fallocate(1) 3 years ago
free.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
free.c code-style: cleanup 3 years ago
freeramdisk.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
freeramdisk.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
fsfreeze.8 fsfreeze: make it clear the either -f or -u must be specified, not optional 2 years ago
fsfreeze.c fsfreeze: make it clear the either -f or -u must be specified, not optional 2 years ago
getty.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
getty.c code-style: cleanup 3 years ago
halt.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
halt.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
hwclock.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
hwclock.c code-style: cleanup 3 years ago
id.1 id: Implement -n 3 years ago
id.c id: Implement -n 3 years ago
insmod.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
insmod.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
killall5.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
killall5.c Fix segfault in killall5 without -o 5 months ago
last.c last: spaces to tabs 3 years ago
lastlog.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
lastlog.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
login.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
login.c code-style: cleanup 3 years ago
lsmod.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
lsmod.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
lsusb.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
lsusb.c lsusb, ps: style: put main at bottom 3 years ago
mesg.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
mesg.c Stop using *_FILENO 4 years ago
mknod.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
mknod.c code-style: cleanup 3 years ago
mkswap.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
mkswap.c Turn enumeration into #defines 4 years ago
mount.8 mount: helper support + improvements 3 years ago
mount.c mount: don't call realpath on root target 5 months ago
mountpoint.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
mountpoint.c mountpoint: -q should not print errors 3 years ago
nologin.8 Add nologin(8) 2 years ago
nologin.c nologin: Sort includes 2 years ago
pagesize.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
pagesize.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
passwd.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
passwd.c passwd: Use a random salt when encrypting passwords 1 year ago
passwd.h passwd: fix /etc/passwd support, ... 4 years ago
pidof.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
pidof.c Use SLIST instead of TAILQ for pidof(8) 3 years ago
pivot_root.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
pivot_root.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
proc.h Rename validps() to pidfile() 5 years ago
ps.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
ps.c ps: fix argv0 position in usage line 5 months ago
pwdx.1 Add pwdx(1) 2 years ago
pwdx.c pwdx: fix off-by-one bug 2 years ago
queue.h Import sys/queue.h and move over existing tools 4 years ago
readahead.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
readahead.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
reboot.h Make ubase compile with musl-gcc 5 years ago
respawn.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
respawn.c respawn: reopen the fifo at end of line, and use read-only 2 years ago
rmmod.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
rmmod.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
rtc.h Use rtc_time 4 years ago
stat.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
stat.c code-style: cleanup 3 years ago
su.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
su.c code-style: cleanup 3 years ago
swaplabel.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
swaplabel.c Don't initialize unneeded variables in swaplabel(8) 4 years ago
swapoff.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
swapoff.c swapon, swapoff: show usage with -a device 3 years ago
swapon.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
swapon.c swapon, swapoff: show usage with -a device 3 years ago
switch_root.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
switch_root.c switch_root: execv: show error string 3 years ago
sysctl.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
sysctl.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
text.h passwd: improvements 4 years ago
truncate.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
truncate.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
umount.8 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
umount.c code-style: cleanup 3 years ago
unshare.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
unshare.c Stop using EXIT_{SUCCESS,FAILURE} 4 years ago
uptime.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
uptime.c uptime.c: Use the UTMP_PATH from config.def.h 3 years ago
util.h Refactor fallocate(1) 3 years ago
vtallow.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
vtallow.c vtallow, who: usage using argv0 3 years ago
watch.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
watch.c watch: If period is negative default to 0.1s 4 years ago
who.1 doc: convert man pages to mandoc, fix some typos in the process 3 years ago
who.c vtallow, who: usage using argv0 3 years ago

README

ubase - suckless linux base utils
=================================

ubase is a collection of tools similar in spirit to util-linux but
much simpler.

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

Building
--------

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

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

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

Ideally you will want to statically link ubase. We highly recommend
using musl-libc[2].

ubase is known to compile with gcc, clang and tcc.

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