suckless linux base utils
Go to file
Hiltjo Posthuma ef1ab48699 mount: loop until no opt options
values can be specified as 0 to ignore them

Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
2014-04-05 18:55:56 +01:00
util Be consistent and use #ifdef instead of #if 2014-03-28 16:00:43 +00:00
LICENSE Add Hiltjo Posthuma to LICENSE 2014-02-14 14:11:44 +00:00
Makefile Add initial version of killall5(8) 2014-03-06 12:13:49 +00:00
README Update README 2014-03-31 12:22:15 +01:00
TODO Remove implemented items from TODO 2014-03-17 12:55:41 +00:00
arg.h Rename __ARG_H__ to ARG_H__ 2013-11-25 21:33:58 +00:00
chvt.1
chvt.c remove some signed / unsigned type warnings 2014-02-14 14:11:37 +00:00
clear.1 Rename manpages to match the proper section 2013-10-17 14:00:21 +03:00
clear.c clear, watch: use 0x1b instead of non-standard \e 2014-02-14 14:10:53 +00:00
config.def.h Use config.def.h 2014-02-09 12:30:22 +00:00
config.mk Add -Wextra in config.mk 2014-02-24 13:00:54 +00:00
ctrlaltdel.c Add ctrlaltdel tool 2014-02-07 16:38:53 +00:00
df.1 Rename manpages to match the proper section 2013-10-17 14:00:21 +03:00
df.c Don't list dummy rootfs by default 2014-03-18 14:20:58 +00:00
dmesg.c remove some signed / unsigned type warnings 2014-02-14 14:11:37 +00:00
eject.1 Rename manpages to match the proper section 2013-10-17 14:00:21 +03:00
eject.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
fallocate.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
free.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
getty.c Use setenv() instead of putenv() in getty 2014-02-24 13:00:36 +00:00
halt.8 Rename manpages to match the proper section 2013-10-17 14:00:21 +03:00
halt.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
id.1 Update manpages - these tools are in ubase now 2014-02-27 14:32:22 +00:00
id.c Import id(1) from sbase 2014-02-27 14:30:30 +00:00
insmod.c remove some signed / unsigned type warnings 2014-02-14 14:11:37 +00:00
killall5.c Implement -o for killall5 2014-03-17 12:29:34 +00:00
lsmod.8 Update manpages - these tools are in ubase now 2014-02-27 14:32:22 +00:00
lsmod.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:10:39 +00:00
lsusb.8 Rename manpages to match the proper section 2013-10-17 14:00:21 +03:00
lsusb.c lsusb: initialize variables to 0, fix type warning 2014-02-14 14:11:00 +00:00
mknod.1 mknod(1) is now in ubase not sbase so update manpage 2014-01-30 16:24:10 +00:00
mknod.c Import mknod(1) from sbase 2014-01-28 16:52:37 +00:00
mkswap.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:10:39 +00:00
mount.c mount: loop until no opt options 2014-04-05 18:55:56 +01:00
mountpoint.c Convert mountpoint(1) to use mntent 2014-02-15 18:34:59 +00:00
pagesize.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:10:39 +00:00
pidof.c Return an error if we can't open the files in /proc 2014-02-13 12:28:46 +00:00
pivot_root.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
proc.h Rename validps() to pidfile() 2013-08-16 16:42:59 +01:00
ps.c Return an error if we can't open the files in /proc 2014-02-13 12:28:46 +00:00
reboot.h Make ubase compile with musl-gcc 2013-08-19 16:34:18 +01:00
rmmod.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
stat.1 Import stat(1) from sbase 2014-01-30 16:24:03 +00:00
stat.c stat: implement -t (terse mode) 2014-04-04 20:09:17 +01:00
su.c Simply use eprintf() instead of enprintf() 2014-02-27 14:59:34 +00:00
swapoff.c Check setmntent() for failures 2014-02-15 18:27:46 +00:00
swapon.c Check setmntent() for failures 2014-02-15 18:27:46 +00:00
truncate.c truncate: match coreutils truncate behaviour 2014-02-14 14:11:09 +00:00
umount.c Use /proc/mounts instead of /etc/mtab 2014-03-18 14:29:14 +00:00
unshare.c The flag for unshare(1) is 'U' not 'u' 2014-02-24 13:53:34 +00:00
uptime.c Use utmpx instead of utmp 2013-10-08 16:49:40 +01:00
util.h Add weprintf() 2014-03-12 14:23:19 +00:00
watch.c clear, watch: use 0x1b instead of non-standard \e 2014-02-14 14:10:53 +00:00
who.1 Update manpages - these tools are in ubase now 2014-02-27 14:32:22 +00:00
who.c Print system login processes correctly when doing who -l 2014-03-25 12:44:07 +00: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 df dmesg  eject fallocate free getty halt id
    insmod killall5 lsmod lsusb mknod mkswap mount mountpoint pagesize
    pidof pivot_root ps  rmmod stat su swapoff  swapon 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 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.

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

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