commit briefs
e9ea73a
xplshn
·
2026-06-21
ea91416
Anto
·
2026-06-17
fb688de
shrub
·
2026-06-17
f9f1b05
xplshn
·
2026-06-17
3a56741
xplshn
·
2026-06-17
562c895
xplshn
·
2026-06-17
2c4bc42
xplshn
·
2026-06-17
5bb6c0e
xplshn
·
2026-06-16
18fa4ce
Anto
·
2026-06-13
83c20a8
cowmonk
·
2026-06-11
branches
tree
78 L
31 L
69 L
948 L
558 L
185 L
157 L
331 L
readme
1Argentino Roca Unix Utilities
2=============================
3
4ARUU is a unified fork of sbase and ubase, it is an effort trying to
5complete SBASE & UBASE., new utils partially based on toybox have
6been added, specifically, the utils under cmd/net are partially based
7on their toybox applet equivalent.
8
9OVERVIEW
10========
11
12aruu builds two things:
13
14 1. individual tool binaries (default 'make all')
15 2. aruu-box: a multi-call binary containing every tool ('make box')
16
17The multi-call binary is built by scripts/mkbox. It uses objcopy to
18rename each tool's 'main' symbol, generates a C dispatch table, then
19links everything into a single statically-dispatched binary. Invoke
20tools by symlinking aruu-box to the tool name, or by running:
21
22 aruu-box <command> [args...]
23
24To install symlinks into a directory:
25
26 aruu-box -i /usr/local/bin
27
28REQUIREMENTS
29============
30
31 cc POSIX.1-2008-compliant C compiler (pcc, etc)
32 make POSIX make (aruu make, pdpmake, gmake, bmake)
33 ar archive tool
34 ranlib archive indexer
35 objcopy for 'make box' only
36
37Optional:
38
39 yacc only needed if rebuilding bc from bc.y
40
41BUILDING
42========
43
44Build all individual tools:
45
46 make
47
48Build the multi-call binary:
49
50 make box
51
52Both targets can be combined:
53
54 make all box
55
56Configuration is in config.mk. You can override compile flags via make
57
58INSTALL
59=======
60
61 make install installs individual tools to $(PREFIX)/bin
62 aruu-box -i /usr/bin installs symlinks for the box binary
63
64SOURCE LAYOUT
65=============
66
67 config.mk build configuration
68 Makefile pdpmake-compatible build rules
69 scripts/
70 mkbox builds aruu-box from compiled tool objects
71 getconf.sh generates cmd/posix/getconf.h at build time
72 shared/
73 *.h project headers (util.h, arg.h, utf.h, ...)
74 libutil/ utility library (eprintf, ealloc, recurse, ...)
75 libutf/ UTF-8/rune library
76 cmd/
77 posix/ POSIX.1-2008 tools (sh, make, grep, sed, pax, ...)
78 linux/ Linux-specific tools (mount, dmesg, insmod, ...)
79 net/ networking tools (wget, ping, nc, ifconfig, ...)
80 pseudo/ widely-used non-POSIX tools (tar, stat, seq, ...)
81 xsi/ XSI-extension tools (mknod, su, passwd)
82
83TOOLS
84=====
85
86posix:
87 [, awk, basename, cal, cat, chgrp, chmod, chown, cksum, cmp, comm, cp,
88 cut, date, dd, df, dirname, du, echo, ed, env, expand, expr, false,
89 find, fold, getconf, grep, head, id, join, kill, link, ln, logger,
90 logname, ls, make, mesg, mkdir, mkfifo, mv, nice, nl, nohup, od,
91 paste, pathchk, pax, printf, ps, pwd, readlink, renice, rm, rmdir,
92 sed, sh, sleep, sort, split, tail, tee, test, time, touch, tr, true,
93 tsort, tty, uname, unexpand, uniq, unlink, uudecode, uuencode, wc,
94 who, xargs
95
96linux:
97 blkdiscard, chvt, ctrlaltdel, dmesg, eject, fallocate, free,
98 freeramdisk, fsfreeze, hwclock, insmod, lsmod, lsusb, mkswap, mount,
99 mountpoint, pidof, pivot_root, pwdx, readahead, rmmod, swaplabel,
100 swapoff, swapon, switch_root, sysctl, umount, unshare, uptime,
101 vtallow
102
103net:
104 host, httpd, ifconfig, netcat, ping, sdhcp, tftp, tunctl, wget
105
106pseudo:
107 base64, chroot, clear, cols, cron, flock, getty, halt, hostname,
108 install, killall5, last, lastlog, login, md5sum, mktemp, nologin,
109 pagesize, printenv, respawn, rev, seq, setsid, sha1sum, sha224sum,
110 sha256sum, sha384sum, sha512-224sum, sha512-256sum, sha512sum, sponge,
111 stat, tar, truncate, watch, which, whoami, xinstall, yes
112
113xsi:
114 mknod, passwd, su
115
116TODOs / PENDING RELEASE
117=======================
118ip - new impl partially based on toybox's applet
119init - situation/sctl rewrite
120troff - neatroff
121man - unsure
122vendor and publish my compiler toolchain (small binutils + cproc), even if incomplete - unsure
123
124LICENSE
125=======
126
127ISC, see ./LICENSE for details. Credits:
128Copyright (C) 2006, 2019 Rob Landley [rob@landley.net](mailto:rob@landley.net)
129Copyright (c) 2011 Connor Lane Smith [cls@lubutu.com](mailto:cls@lubutu.com)
130Copyright (c) 2011-2016 Dimitris Papastamos [sin@2f30.org](mailto:sin@2f30.org)
131Copyright (c) 2011 Hiltjo Posthuma [hiltjo@codemadness.org](mailto:hiltjo@codemadness.org)
132Copyright (c) 2011 Kamil Cholewiński [harry666t@gmail.com](mailto:harry666t@gmail.com)
133Copyright (c) 2011 pancake [pancake@youterm.com](mailto:pancake@youterm.com)
134Copyright (c) 2011 Random832 [random832@fastmail.us](mailto:random832@fastmail.us)
135Copyright (c) 2011 Rob Pilling [robpilling@gmail.com](mailto:robpilling@gmail.com)
136Copyright (c) 2012 Christoph Lohmann [20h@r-36.net](mailto:20h@r-36.net)
137Copyright (c) 2012 David Galos [galosd83@students.rowan.edu](mailto:galosd83@students.rowan.edu)
138Copyright (c) 2012 Kurt H. Maier [khm@sciops.net](mailto:khm@sciops.net)
139Copyright (c) 2012 Robert Ransom [rransom.8774@gmail.com](mailto:rransom.8774@gmail.com)
140Copyright (c) 2012 William Haddon [william@haddonthethird.net](mailto:william@haddonthethird.net)
141Copyright (c) 2013 Anselm R Garbe [anselm@garbe.us](mailto:anselm@garbe.us)
142Copyright (c) 2013 Christian Hesse [mail@eworm.de](mailto:mail@eworm.de)
143Copyright (c) 2013 David Galos [galosd83@students.rowan.edu](mailto:galosd83@students.rowan.edu)
144Copyright (c) 2013-2016 Dimitris Papapastamos [sin@2f30.org](mailto:sin@2f30.org)
145Copyright (c) 2013 dsp [dsp@2f30.org](mailto:dsp@2f30.org)
146Copyright (c) 2013 Federico G. Benavento [benavento@gmail.com](mailto:benavento@gmail.com)
147Copyright (c) 2013 Jakob Kramer [jakob.kramer@gmx.de](mailto:jakob.kramer@gmx.de)
148Copyright (c) 2013 Jesse Ogle [jesse.p.ogle@gmail.com](mailto:jesse.p.ogle@gmail.com)
149Copyright (c) 2013 Lorenzo Cogotti [miciamail@hotmail.it](mailto:miciamail@hotmail.it)
150Copyright (c) 2013 Markus Teich [markus.teich@stusta.mhn.de](mailto:markus.teich@stusta.mhn.de)
151Copyright (c) 2013 Markus Wichmann [nullplan@gmx.net](mailto:nullplan@gmx.net)
152Copyright (c) 2013 oblique [psyberbits@gmail.com](mailto:psyberbits@gmail.com)
153Copyright (c) 2013 Roberto E. Vargas Caballero [k0ga@shike2.com](mailto:k0ga@shike2.com)
154Copyright (c) 2013 s-p-k [mr.dwts@gmail.com](mailto:mr.dwts@gmail.com)
155Copyright (c) 2013 Truls Becken [truls.becken@gmail.com](mailto:truls.becken@gmail.com)
156Copyright (c) 2014 Adria Garriga [rhaps0dy@installgentoo.com](mailto:rhaps0dy@installgentoo.com)
157Copyright (c) 2014 Ari Malinen [ari.malinen@gmail.com](mailto:ari.malinen@gmail.com)
158Copyright (c) 2014 Brandon Mulcahy [brandon@jangler.info](mailto:brandon@jangler.info)
159Copyright (c) 2014 Carlos J. Torres [vlaadbrain@gmail.com](mailto:vlaadbrain@gmail.com)
160Copyright (c) 2014 Daniel Bainton [dpb@driftaway.org](mailto:dpb@driftaway.org)
161Copyright (c) 2014 Evan Gates [evan.gates@gmail.com](mailto:evan.gates@gmail.com)
162Copyright (c) 2014-2015 Greg Reagle [greg.reagle@umbc.edu](mailto:greg.reagle@umbc.edu)
163Copyright (c) 2014-2016 Hiltjo Posthuma [hiltjo@codemadness.org](mailto:hiltjo@codemadness.org)
164Copyright (c) 2014 Jan Tatje [jan@jnt.io](mailto:jan@jnt.io)
165Copyright (c) 2014 Jeffrey Picard [jeff@jeffreypicard.com](mailto:jeff@jeffreypicard.com)
166Copyright (c) 2014-2016 Laslo Hunhold [dev@frign.de](mailto:dev@frign.de)
167Copyright (c) 2014 Michael Forney [mforney@mforney.org](mailto:mforney@mforney.org)
168Copyright (c) 2014 Roberto E. Vargas Caballero [k0ga@shike2.com](mailto:k0ga@shike2.com)
169Copyright (c) 2014 Silvan Jegen [s.jegen@gmail.com](mailto:s.jegen@gmail.com)
170Copyright (c) 2014 Tuukka Kataja [stuge@xor.fi](mailto:stuge@xor.fi)
171Copyright (c) 2015 Dionysis Grigoropoulos [info@erethon.com](mailto:info@erethon.com)
172Copyright (c) 2015 Quentin Rameau [quinq@fifth.space](mailto:quinq@fifth.space)
173Copyright (c) 2015 Risto Salminen [ripejcp@gmail.com](mailto:ripejcp@gmail.com)
174Copyright (c) 2015 Tai Chi Minh Ralph Eastwood [tcmreastwood@gmail.com](mailto:tcmreastwood@gmail.com)
175Copyright (c) 2015 Wolfgang Corcoran-Mathe [wcm@sigwinch.xyz](mailto:wcm@sigwinch.xyz)
176Copyright (c) 2016 Eivind Uggedal [eivind@uggedal.com](mailto:eivind@uggedal.com)
177Copyright (c) 2016 Mattias Andrée [m@maandree.se](mailto:m@maandree.se)
178Copyright (c) 2026 xplshn [anto@xplshn.com.ar](mailto:anto@xplshn.com.ar) (https://github.com/xplshn)
179
180Portions of this software (specifically utils under net/) are partially based on code written by Rob Landley
181Our line editing library is partially based on work by Salvatore Sanfilippo (linenoise) and JC Wang (crossline)
182The rest are based on SBASE/UBASE source code
183
184=~= Argentino Roca Unix Utilities =~= https://github.com/xplshn/aruu =~=