suckless linux base utils
Go to file
sin 4a324f6359 Check for cmd truncation in watch(1) 2014-08-25 19:14:57 +01:00
util Rework parsecmdline() 2014-08-20 20:38:35 +01:00
LICENSE Add lastlog(8) 2014-08-18 18:29:38 +01:00
Makefile Add lastlog(8) 2014-08-18 18:29:38 +01:00
README Add lastlog to README 2014-08-18 22:35:13 +01:00
TODO Update TODO 2014-07-27 00:12:05 +01:00
arg.h Rename __ARG_H__ to ARG_H__ 2013-11-25 21:33:58 +00:00
chvt.1 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
chvt.c No need to skip stdin in chvt(1) 2014-06-30 19:18:49 +01:00
clear.1 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
clear.c clear, watch: use 0x1b instead of non-standard \e 2014-02-14 14:10:53 +00:00
config.def.h Set UTMP_PATH in config.def.h 2014-07-02 12:06:07 +01:00
config.mk define -D_XOPEN_SOURCE in config.mk 2014-06-04 15:16:24 +01:00
ctrlaltdel.8 Fix manpage style 2014-04-13 16:40:56 +01:00
ctrlaltdel.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
dd.1 Add dd(1) manpage 2014-06-11 11:54:38 +01:00
dd.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
df.1 Fix manpage style 2014-04-13 16:40:56 +01:00
df.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
dmesg.1 Fix manpage style 2014-04-13 16:40:56 +01:00
dmesg.c Incomplete output is not an error 2014-06-30 22:44:26 +01:00
eject.1 Fix manpage style 2014-04-13 16:40:56 +01:00
eject.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
fallocate.1 Fix typo 2014-04-13 16:50:20 +01:00
fallocate.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
free.1 Fix manpage style 2014-04-13 16:40:56 +01:00
free.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
freeramdisk.8 Add freeramdisk(8) 2014-06-26 16:26:14 +01:00
freeramdisk.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
fsfreeze.8 Add fsfreeze.8 2014-06-26 16:07:11 +01:00
fsfreeze.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
getty.8 Add getty manpage 2014-04-12 14:23:28 +01:00
getty.c Set UTMP_PATH in config.def.h 2014-07-02 12:06:07 +01:00
halt.8 Fix manpage style 2014-04-13 16:40:56 +01:00
halt.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
hwclock.8 Clarify that hwclock(8) uses /dev/rtc as the default devnode 2014-06-04 11:01:00 +01:00
hwclock.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
id.1 Implement -g and -u for id(1) 2014-06-11 15:47:23 +01:00
id.c code consistency fixes 2014-07-09 15:08:01 +01:00
insmod.8 Style fix for insmod.8 2014-06-26 16:09:01 +01:00
insmod.c code consistency fixes 2014-07-09 15:08:01 +01:00
killall5.8 Fix manpage style 2014-04-13 16:40:56 +01:00
killall5.c code consistency fixes 2014-07-09 15:08:01 +01:00
lastlog.8 Add lastlog(8) 2014-08-18 18:29:38 +01:00
lastlog.c Use agetline() in lastlog(8) 2014-08-18 22:03:50 +01:00
login.1 Fix login(1) -p semantincs once and for all 2014-06-03 18:57:37 +01:00
login.c Convert lastlog(8) to {w,}eprintf() 2014-08-18 21:55:38 +01:00
lsmod.8 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
lsmod.c Print header after trying to open /proc/modules 2014-07-04 11:52:09 +01:00
lsusb.8 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
lsusb.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
mesg.1 Add mesg.1 2014-08-04 21:01:00 +01:00
mesg.c Only work with stderr in mesg 2014-08-04 21:04:07 +01:00
mknod.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mknod.c code consistency fixes 2014-07-09 15:08:01 +01:00
mkswap.8 Add mkswap manpage 2014-04-12 15:03:31 +01:00
mkswap.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
mount.8 Add mount manpage 2014-04-13 17:45:35 +01:00
mount.c code consistency fixes 2014-07-09 15:08:01 +01:00
mountpoint.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mountpoint.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
pagesize.1 Add pagesize manpage 2014-04-12 14:57:50 +01:00
pagesize.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
passwd.1 passwd: improvements 2014-07-10 22:04:06 +01:00
passwd.c Fix include order 2014-07-14 13:30:09 +01:00
passwd.h passwd: fix /etc/passwd support, ... 2014-07-14 11:14:36 +01:00
pidof.1 Add pidof manpage 2014-04-13 16:36:34 +01:00
pidof.c pidof: fix typo, argv[0] -> argv[i] 2014-07-05 16:26:55 +01:00
pivot_root.8 add pivot_root.8 2014-04-12 19:36:59 +01:00
pivot_root.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
proc.h Rename validps() to pidfile() 2013-08-16 16:42:59 +01:00
ps.1 Add ps manpage 2014-04-13 17:30:40 +01:00
ps.c ps: one case for error handling 2014-07-12 20:04:20 +01:00
queue.h Import sys/queue.h and move over existing tools 2014-06-30 13:06:07 +01:00
readahead.8 Add readahead.8 2014-06-30 14:19:57 +01:00
readahead.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
reboot.h Make ubase compile with musl-gcc 2013-08-19 16:34:18 +01:00
respawn.1 Implement fifo listener mode for respawn 2014-04-22 16:40:11 +01:00
respawn.c code consistency fixes 2014-07-09 15:08:01 +01:00
rmmod.8 Add rmmod manpage 2014-04-12 15:21:21 +01:00
rmmod.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
rtc.h Use rtc_time 2014-06-03 15:15:21 +01:00
stat.1 Fix manpage style 2014-04-13 16:40:56 +01:00
stat.c Replace fprintf(stderr, ...) calls with weprintf() 2014-06-30 22:44:48 +01:00
su.1 Add passwd manpage 2014-06-09 16:44:47 +01:00
su.c Remove unnecessary newline output from su 2014-08-25 15:37:13 +01:00
swapoff.8 add unshare.1, swapon.8, swapoff.8 and update df.1 2014-04-12 19:37:06 +01:00
swapoff.c Replace fprintf(stderr, ...) calls with weprintf() 2014-06-30 22:44:48 +01:00
swapon.8 add unshare.1, swapon.8, swapoff.8 and update df.1 2014-04-12 19:37:06 +01:00
swapon.c Replace fprintf(stderr, ...) calls with weprintf() 2014-06-30 22:44:48 +01:00
switch_root.8 Add switch_root manpage 2014-04-14 14:36:40 +01:00
switch_root.c code consistency fixes 2014-07-09 15:08:01 +01:00
sysctl.8 sysctl: Add support for loading key:value pairs from file 2014-06-13 15:25:33 +01:00
sysctl.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
text.h passwd: improvements 2014-07-10 22:04:06 +01:00
truncate.1 Fix manpage style 2014-04-13 16:40:56 +01:00
truncate.c Replace fprintf(stderr, ...) calls with weprintf() 2014-06-30 22:44:48 +01:00
umount.8 Add a SEE ALSO section for the umount manpage 2014-04-14 09:46:15 +01:00
umount.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
unshare.1 Be consistent with the escape sequences in the manpages 2014-04-14 09:28:07 +01:00
unshare.c errno: check only errno if return value was NULL 2014-07-09 15:07:34 +01:00
uptime.1 Fix uptime manpage 2014-04-13 16:28:58 +01:00
uptime.c Set UTMP_PATH in config.def.h 2014-07-02 12:06:07 +01:00
util.h List function decls in alphabetical order 2014-06-30 18:42:49 +01:00
watch.1 Add watch manpage 2014-04-13 14:53:59 +01:00
watch.c Check for cmd truncation in watch(1) 2014-08-25 19:14:57 +01:00
who.1 update who.1 to list the -l option 2014-04-14 09:28:01 +01:00
who.c code consistency fixes 2014-07-09 15:08:01 +01:00

README

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

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

The following programs are currently implemented:

chvt
clear
ctrlaltdel
dd
df
dmesg
eject
fallocate
free
freeramdisk
fsfreeze
getty
halt
hwclock
id
insmod
killall5
lastlog
login
lsmod
lsusb
mesg
mknod
mkswap
mount
mountpoint
pagesize
passwd
pidof
pivot_root
ps
readahead
respawn
rmmod
stat
su
swapoff
swapon
switch_root
sysctl
truncate
umount
unshare
uptime
watch
who

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 them directly as follows:

  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/