This is a port of some Plan 9 libraries and programs to Unix. Some parts expect that the tree is installed in /usr/local/plan9. Most are position independent. The few hard-coded references (there's one in sam) should really be fixed. * Obtaining the source Tarballs will be posted nightly (but only when there are updates!) at http://pdos.lcs.mit.edu/~rsc/software/plan9 /usr/local/plan9 is the suggested location to keep the software. All the paths in the tarball begin with plan9/, so it's okay to unpack it directly in /usr/local. You can use CVS to obtain the very latest version and stay up-to-date. See below. * Building To build, cd into src and run make; mk install. This will place binaries in "bin". At time of writing, the commands are sam, samterm, rc, and mk. There are a few shell scripts already included in bin -- B, Bwait, and samsave. The "make" builds mk. Mk builds the rest. * Helping out If you'd like to help out, great! The TODO file contains our (somewhat long) to do list. If you port this code to other architectures, please share your changes so others can benefit. See PORTING for some notes. Please use diff -u or CVS (see below) to prepare patches. * CVS You can use CVS to keep your local copy up-to-date as we make changes and fix bugs. The idioms explained here are pretty much all you need to know about CVS. To check out from the anonymous CVS repository, use cd /usr/local >$HOME/.cvspass cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs login cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs checkout plan9 When prompted for a password, just hit enter. From then on, when you want to update, you can do cd /usr/local/plan9 cvs update -dAP If there are conflicts between changes you have made locally and changes on the server, cvs will warn about them and leave them clearly marked in the updated files. If you change something and want to submit the change (please do!), you can run cd /usr/local/plan9 cvs diff -u to generate the diff in a format that will be easy to apply. (You can also use this to see what you've changed.) Running the cvs commands in /usr/local/plan9 makes them apply to the whole tree. Running them in a subdirectory applies only to the code rooted there in the code. There's not much magical about /usr/local/plan9. If you check out the tree in some other directory, it should work just as well. Thanks. Russ Cox