119 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| sbase - suckless unix tools
 | |
| ===========================
 | |
| 
 | |
| sbase  is a  collection of  unix  tools that  are inherently  portable
 | |
| across UNIX and UNIX-like systems.
 | |
| 
 | |
| The following tools are implemented ('*' == finished, '#' == UTF-8 support,
 | |
| '=' == implicit UTF-8 support):
 | |
| 
 | |
|    UTILITY         POSIX 2008 COMPLIANT            MISSING OPTIONS
 | |
|    -------         --------------------            ---------------
 | |
| =* basename        yes                             none
 | |
| =* cal             yes                             none
 | |
| =* cat             yes                             none
 | |
| =  chgrp           no                              -h, -H, -L, -P
 | |
| =* chmod           yes                             none
 | |
| =  chown           no                              -h, -H, -L, -P
 | |
| =  chroot          non-posix                       none
 | |
| =* cksum           yes                             none
 | |
|    cmp             yes                             none
 | |
|    cols            non-posix                       none
 | |
| =* comm            yes                             none
 | |
| =  cp              no                              -H, (-i), -L
 | |
| =* cron            non-posix                       none
 | |
| #* cut             yes                             none
 | |
| =* date            yes                             none
 | |
| =* dirname         yes                             none
 | |
| =  du              no                              -H, -L, (-x)
 | |
| =* echo            yes                             none
 | |
| =* env             yes                             none
 | |
| #* expand          yes                             none
 | |
| =* expr            yes                             none
 | |
| =* false           yes                             none
 | |
| #* fold            yes                             none
 | |
| =* grep            yes                             none
 | |
| =* head            yes                             none
 | |
| =  hostname        non-posix                       none
 | |
| =* kill            yes                             none
 | |
| =* link            yes                             none
 | |
| =* ln              yes                             none
 | |
| =* logger          yes                             none
 | |
| =* logname         yes                             none
 | |
| =  ls              no                              -C, -R, -q, -u
 | |
|    md5sum          non-posix                       none
 | |
| =* mkdir           yes                             none
 | |
| =* mkfifo          yes                             none
 | |
| =  mktemp          non-posix                       none
 | |
| =* mv              yes                             (-i)
 | |
| =* nice            yes                             none
 | |
| =  nl              no                              -d, -f, -h, -l, -n, -p, -v, -w
 | |
| =* nohup           yes                             none
 | |
| #* paste           yes                             none
 | |
| =  printenv        non-posix                       none
 | |
|    printf          stolen                          stolen
 | |
| =* pwd             yes                             none
 | |
| =  readlink        non-posix                       none
 | |
| =* renice          yes                             none
 | |
| =* rm              yes                             (-i)
 | |
| =  rmdir           no                              -p
 | |
| =  setsid          non-posix                       none
 | |
| =  sleep           yes                             none
 | |
|    sort            no                              -m, -o, -d, -f, -i
 | |
|    split           yes                             none
 | |
| =  sponge          non-posix                       none
 | |
|    strings         no                              -a, -n, -t
 | |
| =  sync            non-posix                       none
 | |
| =  tail            no                              -c, -f
 | |
| =  tar             non-posix                       none
 | |
| =* tee             yes                             none
 | |
|    test            yes                             none
 | |
| =  touch           no                              -r
 | |
| #* tr              yes                             none
 | |
| =* true            yes                             none
 | |
| =  tty             yes                             none
 | |
| =  uname           yes                             none
 | |
| #  unexpand        yes                             none
 | |
| =  uniq            no                              -f, -s
 | |
| =  unlink          yes                             none
 | |
| =  uudecode        no                              -o
 | |
| =  uuencode        no                              -m
 | |
|    seq             non-posix                       none
 | |
| =  sha1sum         non-posix                       none
 | |
| =  sha256sum       non-posix                       none
 | |
| =  sha512sum       non-posix                       none
 | |
|    wc              yes                             none
 | |
| =  xargs           no                              -I, -L, -p, -s, -t, -x
 | |
| =  yes             yes                             none
 | |
| 
 | |
| 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.
 | |
| 
 | |
| Building
 | |
| --------
 | |
| 
 | |
| To  build sbase,  simply  type  make.  You  may  have  to fiddle  with
 | |
| config.mk depending on your system.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| Ideally you will  want to statically link sbase.  If  you are on Linux
 | |
| we recommend using musl-libc[2].
 | |
| 
 | |
| Portability
 | |
| -----------
 | |
| 
 | |
| sbase has been  compiled on a variety of  different operating systems,
 | |
| including Linux, *BSD, OSX, Haiku, Solaris, SCO OpenServer and others.
 | |
| 
 | |
| Various combinations of operating  systems and architectures have also
 | |
| been built.
 | |
| 
 | |
| You can build sbase with gcc, clang, tcc, nwcc and pcc.
 | |
| 
 | |
| [1] http://git.suckless.org/ubase/
 | |
| [2] http://www.musl-libc.org/
 |