suckless linux base utils
Go to file
Roberto E. Vargas Caballero e4677f290b Add lastlog(8)
At the moment this does not work with ubase login(1).  We should
add support to login(1) to write the lastlog entries.

Minor modifications by sin.
2014-08-18 18:29:38 +01:00
util passwd: fix /etc/passwd support, ... 2014-07-14 11:14:36 +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 mesg to README 2014-07-26 15:37:16 +01:00
TODO Update TODO 2014-07-27 00:12:05 +01:00
arg.h
chvt.1
chvt.c No need to skip stdin in chvt(1) 2014-06-30 19:18:49 +01:00
clear.1
clear.c
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 Add lastlog(8) 2014-08-18 18:29:38 +01:00
login.1 Fix login(1) -p semantincs once and for all 2014-06-03 18:57:37 +01:00
login.c code consistency fixes 2014-07-09 15:08:01 +01:00
lsmod.8
lsmod.c Print header after trying to open /proc/modules 2014-07-04 11:52:09 +01:00
lsusb.8
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
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
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 code consistency fixes 2014-07-09 15:08:01 +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 Fix includes across all tools 2014-06-30 19:04:47 +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
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/