suckless linux base utils
Go to file
sin 154381a0c7 Sync up util/*.c from sbase 2014-11-17 16:04:35 +00:00
util Sync up util/*.c from sbase 2014-11-17 16:04:35 +00:00
LICENSE Add lastlog(8) 2014-08-18 18:29:38 +01:00
Makefile Properly signal failure if command fails in ubase-box 2014-11-10 23:40:00 +00:00
README Update list of tools in README 2014-10-16 12:36:03 +01:00
TODO Update TODO style 2014-11-07 20:40:09 +00: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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
clear.1 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
clear.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
config.def.h Add last and lastb 2014-10-16 11:28:01 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 df -hk should disable -h and df -kh should disable -k 2014-10-18 18:22:55 +01:00
dmesg.1 Fix manpage style 2014-04-13 16:40:56 +01:00
dmesg.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
eject.1 Fix manpage style 2014-04-13 16:40:56 +01:00
eject.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
fallocate.1 Fix typo 2014-04-13 16:50:20 +01:00
fallocate.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
free.1 Fix manpage style 2014-04-13 16:40:56 +01:00
free.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
freeramdisk.8 Add freeramdisk(8) 2014-06-26 16:26:14 +01:00
freeramdisk.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
fsfreeze.8 Add fsfreeze.8 2014-06-26 16:07:11 +01:00
fsfreeze.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
getty.8 Add getty manpage 2014-04-12 14:23:28 +01:00
getty.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
halt.8 Fix manpage style 2014-04-13 16:40:56 +01:00
halt.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
id.1 Implement -g and -u for id(1) 2014-06-11 15:47:23 +01:00
id.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
insmod.8 Style fix for insmod.8 2014-06-26 16:09:01 +01:00
insmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
killall5.8 Fix manpage style 2014-04-13 16:40:56 +01:00
killall5.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
last.c Remember to include libgen.h for basename(3) 2014-10-17 16:08:31 +01:00
lastlog.8 Add lastlog(8) 2014-08-18 18:29:38 +01:00
lastlog.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
login.1 Fix login(1) -p semantincs once and for all 2014-06-03 18:57:37 +01:00
login.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
lsmod.8 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
lsmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
lsusb.8 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
lsusb.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
mesg.1 Add mesg.1 2014-08-04 21:01:00 +01:00
mesg.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
mknod.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mknod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
mkswap.8 Add mkswap manpage 2014-04-12 15:03:31 +01:00
mkswap.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
mount.8 Add mount manpage 2014-04-13 17:45:35 +01:00
mount.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
mountpoint.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mountpoint.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
pagesize.1 Add pagesize manpage 2014-04-12 14:57:50 +01:00
pagesize.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
passwd.1 passwd: improvements 2014-07-10 22:04:06 +01:00
passwd.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
pivot_root.8 add pivot_root.8 2014-04-12 19:36:59 +01:00
pivot_root.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Remember to include libgen.h for basename(3) 2014-10-17 16:08:31 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
rmmod.8 Add rmmod manpage 2014-04-12 15:21:21 +01:00
rmmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
su.1 Add passwd manpage 2014-06-09 16:44:47 +01:00
su.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
switch_root.8 Add switch_root manpage 2014-04-14 14:36:40 +01:00
switch_root.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
sysctl.8 sysctl: Add support for loading key:value pairs from file 2014-06-13 15:25:33 +01:00
sysctl.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
umount.8 Add a SEE ALSO section for the umount manpage 2014-04-14 09:46:15 +01:00
umount.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
unshare.1 Be consistent with the escape sequences in the manpages 2014-04-14 09:28:07 +01:00
unshare.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
uptime.1 Fix uptime manpage 2014-04-13 16:28:58 +01:00
uptime.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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 Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
who.1 update who.1 to list the -l option 2014-04-14 09:28:01 +01:00
who.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +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
last
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/