Mirror of Suckless' ubase (git://git.suckless.org/ubase)
Go to file
Hiltjo Posthuma c50f7a3a27 login: separate write utmp in a separate function
write utmp entry (as root) before setuid.
2014-07-09 15:07:53 +01:00
util util/passwd.c: check errno only if spw is NULL 2014-07-09 15:07:19 +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 errno: check only errno if return value was NULL 2014-07-09 15:07:34 +01:00
insmod.8 Style fix for insmod.8 2014-06-26 16:09:01 +01:00
insmod.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
killall5.8 Fix manpage style 2014-04-13 16:40:56 +01:00
killall5.c Remove entries from TAILQ when free-ing 2014-07-03 14:29:45 +01:00
LICENSE Add David to LICENSE 2014-06-30 14:13:00 +01:00
login.1 Fix login(1) -p semantincs once and for all 2014-06-03 18:57:37 +01:00
login.c login: separate write utmp in a separate function 2014-07-09 15:07:53 +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
Makefile Add readahead.8 2014-06-30 14:19:57 +01:00
mknod.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mknod.c Fix includes across all tools 2014-06-30 19:04:47 +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 Fix includes across all tools 2014-06-30 19:04:47 +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 Add passwd manpage 2014-06-09 16:44:47 +01:00
passwd.c Fix includes across all tools 2014-06-30 19:04:47 +01:00
passwd.h Disable core dumps in case passwd(1) crashes 2014-06-10 11:44:33 +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 Fix includes across all tools 2014-06-30 19:04:47 +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
README Mention config.h in README 2014-06-30 14:23:08 +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 Kick off respawn in its own session 2014-07-06 21:36:28 +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 errno: check only errno if return value was NULL 2014-07-09 15:07:34 +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 Fix includes across all tools 2014-06-30 19:04:47 +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 Add initial implementation of passwd(1) 2014-06-05 16:57:27 +01:00
TODO Update TODO 2014-06-28 23:43:29 +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 Set UTMP_PATH in config.def.h 2014-07-02 12:06:07 +01:00

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
    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/