| 
									
										
										
										
											2014-02-12 14:34:09 +00:00
										 |  |  | sbase - suckless unix tools | 
					
						
							|  |  |  | =========================== | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-30 13:17:17 -07:00
										 |  |  | sbase is a collection of unix tools that are inherently portable across | 
					
						
							|  |  |  | UNIX and UNIX-like systems. | 
					
						
							| 
									
										
										
										
											2014-02-12 14:34:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-30 13:17:17 -07:00
										 |  |  | The complement of sbase is ubase[1] which is Linux-specific and provides | 
					
						
							|  |  |  | all the non-portable tools. Together they are intended to form a base | 
					
						
							|  |  |  | system similar to busybox but much smaller and suckless. | 
					
						
							| 
									
										
										
										
											2019-06-30 13:13:07 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | Building | 
					
						
							|  |  |  | -------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-30 13:17:17 -07:00
										 |  |  | To build sbase, simply type make. You may have to fiddle with config.mk | 
					
						
							|  |  |  | depending on your system. | 
					
						
							| 
									
										
										
										
											2019-06-30 13:13:07 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-30 13:17:17 -07:00
										 |  |  | You can also build sbase-box, which generates a single binary containing | 
					
						
							|  |  |  | all the required tools. You can then symlink the individual tools to | 
					
						
							|  |  |  | sbase-box or run: make sbase-box-install | 
					
						
							| 
									
										
										
										
											2019-06-30 13:13:07 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-30 13:17:17 -07:00
										 |  |  | Ideally you will want to statically link sbase. If you are on Linux we | 
					
						
							|  |  |  | recommend using musl-libc[2]. | 
					
						
							| 
									
										
										
										
											2019-06-30 13:13:07 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | Portability | 
					
						
							|  |  |  | ----------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-30 13:17:17 -07:00
										 |  |  | sbase has been compiled on a variety of different operating systems, | 
					
						
							| 
									
										
										
										
											2019-06-30 13:13:07 -07:00
										 |  |  | including Linux, *BSD, OSX, Haiku, Solaris, SCO OpenServer and others. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-30 13:17:17 -07:00
										 |  |  | Various combinations of operating systems and architectures have also | 
					
						
							| 
									
										
										
										
											2019-06-30 13:13:07 -07:00
										 |  |  | been built. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You can build sbase with gcc, clang, tcc, nwcc and pcc. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Status | 
					
						
							|  |  |  | ------ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-23 16:22:00 +01:00
										 |  |  | The following tools are implemented: | 
					
						
							| 
									
										
										
										
											2014-11-20 23:01:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-23 16:22:00 +01:00
										 |  |  | '#'  -> UTF-8 support, '=' -> Implicit UTF-8 support, '*' -> Finished, | 
					
						
							|  |  |  | '|'  -> Audited,       'o' -> POSIX 2013 compliant,   'x' -> Non-POSIX, | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | '0'  -> NUL handling,  '()' -> Petty flag | 
					
						
							| 
									
										
										
										
											2015-03-23 16:22:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-07 10:50:29 +01:00
										 |  |  |       UTILITY         MISSING | 
					
						
							|  |  |  |       -------         ------- | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o basename        . | 
					
						
							|  |  |  | 0=*|o cal             . | 
					
						
							|  |  |  | 0=*|o cat             . | 
					
						
							|  |  |  | 0=*|o chgrp           . | 
					
						
							|  |  |  | 0=*|o chmod           . | 
					
						
							|  |  |  | 0=*|o chown           . | 
					
						
							|  |  |  | 0=*|x chroot          . | 
					
						
							|  |  |  | 0=*|o cksum           . | 
					
						
							|  |  |  | 0=*|o cmp             . | 
					
						
							| 
									
										
										
										
											2016-03-07 20:56:15 +01:00
										 |  |  | 0#*|x cols            . | 
					
						
							| 
									
										
										
										
											2016-03-07 01:42:01 +01:00
										 |  |  | 0=*|o comm            . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o cp              (-i) | 
					
						
							|  |  |  | 0=*|x cron            . | 
					
						
							| 
									
										
										
										
											2016-03-07 12:34:41 +01:00
										 |  |  | 0#*|o cut             . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o date            . | 
					
						
							|  |  |  | 0=*|o dirname         . | 
					
						
							|  |  |  | 0=*|o du              . | 
					
						
							|  |  |  | 0=*|o echo            . | 
					
						
							|  |  |  |     o ed              . | 
					
						
							|  |  |  | 0=*|o env             . | 
					
						
							|  |  |  | 0#*|o expand          . | 
					
						
							|  |  |  | 0#*|o expr            . | 
					
						
							|  |  |  | 0=*|o false           . | 
					
						
							|  |  |  | 0=    find            . | 
					
						
							|  |  |  | 0=* x flock           . | 
					
						
							| 
									
										
										
										
											2016-03-09 12:38:44 +01:00
										 |  |  | 0#*|o fold            . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o getconf         (-v) | 
					
						
							|  |  |  |  =*|o grep            . | 
					
						
							| 
									
										
										
										
											2016-03-07 10:48:17 +01:00
										 |  |  | 0=*|o head            . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|x hostname        . | 
					
						
							|  |  |  | 0=*|x install         . | 
					
						
							| 
									
										
										
										
											2016-03-09 15:56:59 +01:00
										 |  |  | 0=* o join            . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o kill            . | 
					
						
							|  |  |  | 0=*|o link            . | 
					
						
							|  |  |  | 0=*|o ln              . | 
					
						
							| 
									
										
										
										
											2016-03-07 22:00:27 +01:00
										 |  |  | 0=*|o logger          . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o logname         . | 
					
						
							|  |  |  | 0#* o ls              (-C, -k, -m, -p, -s, -x) | 
					
						
							|  |  |  | 0=*|x md5sum          . | 
					
						
							|  |  |  | 0=*|o mkdir           . | 
					
						
							|  |  |  | 0=*|o mkfifo          . | 
					
						
							| 
									
										
										
										
											2020-03-01 15:58:37 -08:00
										 |  |  | 0=*|x mknod           . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|x mktemp          . | 
					
						
							|  |  |  | 0=*|o mv              (-i) | 
					
						
							|  |  |  | 0=*|o nice            . | 
					
						
							| 
									
										
										
										
											2016-03-10 05:40:34 +01:00
										 |  |  | 0#*|o nl              . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o nohup           . | 
					
						
							|  |  |  | 0=*|o od              . | 
					
						
							|  |  |  | 0#* o pathchk         . | 
					
						
							|  |  |  |  #*|o paste           . | 
					
						
							|  |  |  | 0=*|x printenv        . | 
					
						
							|  |  |  | 0#*|o printf          . | 
					
						
							|  |  |  | 0=*|o pwd             . | 
					
						
							|  |  |  | 0=*|x readlink        . | 
					
						
							|  |  |  | 0=*|o renice          . | 
					
						
							| 
									
										
										
										
											2016-03-26 17:23:03 +01:00
										 |  |  | 0#* x rev             . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o rm              (-i) | 
					
						
							|  |  |  | 0=*|o rmdir           . | 
					
						
							|  |  |  |  #    sed             . | 
					
						
							|  |  |  | 0=*|x seq             . | 
					
						
							|  |  |  | 0=*|x setsid          . | 
					
						
							|  |  |  | 0=*|x sha1sum         . | 
					
						
							|  |  |  | 0=* x sha224sum       . | 
					
						
							|  |  |  | 0=*|x sha256sum       . | 
					
						
							|  |  |  | 0=* x sha238sum       . | 
					
						
							|  |  |  | 0=*|x sha512sum       . | 
					
						
							|  |  |  | 0=* x sha512-224sum   . | 
					
						
							|  |  |  | 0=* x sha512-256sum   . | 
					
						
							|  |  |  | 0=*|o sleep           . | 
					
						
							| 
									
										
										
										
											2016-02-29 00:47:10 +01:00
										 |  |  | 0#*|o sort            . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o split           . | 
					
						
							|  |  |  | 0=*|x sponge          . | 
					
						
							|  |  |  | 0#*|o strings         . | 
					
						
							|  |  |  | 0=*|x sync            . | 
					
						
							| 
									
										
										
										
											2016-03-07 10:20:40 +01:00
										 |  |  | 0=*|o tail            . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|x tar             . | 
					
						
							|  |  |  | 0=*|o tee             . | 
					
						
							|  |  |  | 0=*|o test            . | 
					
						
							|  |  |  | 0=*|x tftp            . | 
					
						
							|  |  |  | 0=*|o time            . | 
					
						
							|  |  |  | 0=*|o touch           . | 
					
						
							|  |  |  | 0#*|o tr              . | 
					
						
							|  |  |  | 0=*|o true            . | 
					
						
							|  |  |  | 0=* o tsort           . | 
					
						
							|  |  |  | 0=*|o tty             . | 
					
						
							|  |  |  | 0=*|o uname           . | 
					
						
							|  |  |  | 0#*|o unexpand        . | 
					
						
							| 
									
										
										
										
											2016-03-10 07:02:04 +01:00
										 |  |  | 0=*|o uniq            . | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|o unlink          . | 
					
						
							|  |  |  | 0=*|o uudecode        . | 
					
						
							|  |  |  | 0=*|o uuencode        . | 
					
						
							|  |  |  | 0#*|o wc              . | 
					
						
							|  |  |  | 0=*|x which           . | 
					
						
							|  |  |  | 0=*|x whoami          . | 
					
						
							| 
									
										
										
										
											2016-03-10 07:05:36 +01:00
										 |  |  | 0=*|o xargs           (-p) | 
					
						
							| 
									
										
										
										
											2016-02-26 00:36:53 +01:00
										 |  |  | 0=*|x yes             . | 
					
						
							| 
									
										
										
										
											2014-11-20 23:01:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-12 14:34:09 +00:00
										 |  |  | [1] http://git.suckless.org/ubase/ | 
					
						
							|  |  |  | [2] http://www.musl-libc.org/ |