suckless linux base utils
Go to file
Roberto E. Vargas Caballero a570a80ed1 su: Fix running it without arguments
The commit 8f5a0c3 introduced a regression and the logic
to control the number of arguments was broken after it,
giving an error when su was executed without parameters.
2024-03-07 22:35:31 +01:00
libutil Explicitly include sys/sysmacros.h for makedev etc 2023-09-26 09:22:32 +02:00
LICENSE LICENSE: update year and bump to top 2016-02-11 10:16:41 +00:00
Makefile Add blkdiscard(8) 2018-07-02 14:03:57 +01:00
README README: explain make ubase-box-install 2015-03-03 13:32:43 +00:00
TODO Add pwdx(1) 2016-04-20 23:08:51 +01:00
arg.h arg.h: fixed argv checks order 2016-02-22 14:36:21 +00:00
blkdiscard.8 Add blkdiscard(8) 2018-07-02 14:03:57 +01:00
blkdiscard.c Add blkdiscard(8) 2018-07-02 14:03:57 +01:00
chvt.1 Refactor chvt(1) 2015-09-07 11:47:10 +01:00
chvt.c Refactor chvt(1) 2015-09-07 11:47:10 +01:00
clear.1 Refactor clear(1) 2015-09-07 11:47:10 +01:00
clear.c Remove stdlib.h from clear(1) 2015-09-07 11:47:10 +01:00
config.def.h su: don't set $PATH 2024-03-06 10:12:49 +01:00
config.mk Use CC for ubase-box, remove LD 2015-09-03 19:57:21 +01:00
ctrlaltdel.8 Minor newline fix in ctrlaltdel.8 2015-09-07 12:09:59 +01:00
ctrlaltdel.c Refactor ctrlaltdel(8) 2015-09-07 12:09:59 +01:00
dd.1 dd: implement conv=notrunc support 2016-03-16 10:17:51 +00:00
dd.c dd: Use sigaction(2) to obviate select(2) 2017-10-10 16:28:15 +01:00
df.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
df.c df: Don't scream if statvfs() fails 2016-02-16 15:20:10 +00:00
dmesg.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
dmesg.c dmesg: fix usage and code-style 2015-02-06 15:16:24 +00:00
eject.1 Refactor eject(1) 2015-09-09 23:33:17 +01:00
eject.c Refactor eject(1) 2015-09-09 23:33:17 +01:00
fallocate.1 Fix fallocate(1) manpage 2015-09-14 10:15:55 +01:00
fallocate.c Refactor fallocate(1) 2015-09-14 10:15:55 +01:00
free.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
free.c code-style: cleanup 2015-02-06 15:16:24 +00:00
freeramdisk.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
freeramdisk.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
fsfreeze.8 fsfreeze: make it clear the either -f or -u must be specified, not optional 2016-03-26 19:08:10 +00:00
fsfreeze.c fsfreeze: make it clear the either -f or -u must be specified, not optional 2016-03-26 19:08:10 +00:00
getty.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
getty.c code-style: cleanup 2015-02-06 15:16:24 +00:00
halt.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
halt.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
hwclock.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
hwclock.c code-style: cleanup 2015-02-06 15:16:24 +00:00
id.1 id: Implement -n 2015-04-26 10:40:09 +01:00
id.c id: Implement -n 2015-04-26 10:40:09 +01:00
insmod.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
insmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
killall5.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
killall5.c Fix segfault in killall5 without -o 2018-06-30 17:31:53 +01:00
last.c last: spaces to tabs 2015-02-20 15:36:33 +00:00
lastlog.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
lastlog.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
login.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
login.c code-style: cleanup 2015-02-06 15:16:24 +00:00
lsmod.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
lsmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
lsusb.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
lsusb.c lsusb, ps: style: put main at bottom 2015-03-11 15:18:10 +00:00
mesg.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mesg.c Stop using *_FILENO 2014-11-30 13:12:33 +00:00
mknod.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mknod.c Explicitly include sys/sysmacros.h for makedev etc 2023-09-26 09:22:32 +02:00
mkswap.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mkswap.c Turn enumeration into #defines 2014-11-30 12:34:26 +00:00
mount.8 mount: helper support + improvements 2015-05-11 23:35:54 +01:00
mount.c mount: don't call realpath on root target 2018-06-30 17:38:07 +01:00
mountpoint.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mountpoint.c Explicitly include sys/sysmacros.h for makedev etc 2023-09-26 09:22:32 +02:00
nologin.8 Add nologin(8) 2016-03-26 19:08:10 +00:00
nologin.c nologin: Sort includes 2016-03-26 19:08:10 +00:00
pagesize.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
pagesize.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
passwd.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
passwd.c passwd: fix crashes for unencrypted passwords starting with 'x'. 2019-01-30 11:58:55 +00:00
passwd.h passwd: fix /etc/passwd support, ... 2014-07-14 11:14:36 +01:00
pidof.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
pidof.c Use SLIST instead of TAILQ for pidof(8) 2015-10-07 13:57:24 +01:00
pivot_root.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00: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 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
ps.c ps: fix argv0 position in usage line 2018-06-30 17:27:45 +01:00
pwdx.1 Add pwdx(1) 2016-04-20 23:08:51 +01:00
pwdx.c pwdx: fix off-by-one bug 2016-04-20 23:08:51 +01:00
queue.h Import sys/queue.h and move over existing tools 2014-06-30 13:06:07 +01:00
readahead.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00: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 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
respawn.c respawn: reopen the fifo at end of line, and use read-only 2016-09-26 09:57:54 +01:00
rmmod.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00: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 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
stat.c Explicitly include sys/sysmacros.h for makedev etc 2023-09-26 09:22:32 +02:00
su.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
su.c su: Fix running it without arguments 2024-03-07 22:35:31 +01:00
swaplabel.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
swaplabel.c Don't initialize unneeded variables in swaplabel(8) 2014-11-29 21:32:53 +00:00
swapoff.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
swapoff.c swapon, swapoff: show usage with -a device 2015-02-06 15:16:24 +00:00
swapon.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
swapon.c swapon, swapoff: show usage with -a device 2015-02-06 15:16:24 +00:00
switch_root.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
switch_root.c switch_root: execv: show error string 2015-05-10 13:41:23 +01:00
sysctl.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00: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 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
truncate.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
umount.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
umount.c umount: Fix use of uninitialized variable 2019-03-14 11:42:59 +00:00
unshare.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
unshare.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
uptime.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
uptime.c uptime: Fix user/s printing (grammar error) when users == 0. 2019-01-30 11:25:33 +00:00
util.h Refactor fallocate(1) 2015-09-14 10:15:55 +01:00
vtallow.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
vtallow.c vtallow, who: usage using argv0 2015-02-06 15:16:23 +00:00
watch.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
watch.c watch: If period is negative default to 0.1s 2014-11-30 14:08:42 +00:00
who.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
who.c vtallow, who: usage using argv0 2015-02-06 15:16:23 +00:00

README

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

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

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: make ubase-box-install.

To run the tools for ubase-box directly use: 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/