master 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 =~=