rsc | f305dff | 2003-10-13 17:18:52 +0000 | [diff] [blame] | 1 | This is a port of some Plan 9 libraries and programs to Unix. |
| 2 | |
| 3 | Some parts expect that the tree is installed in /usr/local/plan9. |
| 4 | Most are position independent. The few hard-coded references |
| 5 | (there's one in sam) should really be fixed. |
| 6 | |
| 7 | * Obtaining the source |
| 8 | |
rsc | 771ff2b | 2003-10-13 18:11:43 +0000 | [diff] [blame] | 9 | Tarballs will be posted nightly (but only when there are updates!) at |
rsc | f305dff | 2003-10-13 17:18:52 +0000 | [diff] [blame] | 10 | |
| 11 | http://pdos.lcs.mit.edu/~rsc/software/plan9 |
| 12 | |
| 13 | /usr/local/plan9 is the suggested location to keep the software. |
| 14 | All the paths in the tarball begin with plan9/, so it's okay to unpack it |
| 15 | directly in /usr/local. |
| 16 | |
| 17 | You can use CVS to obtain the very latest version and stay up-to-date. |
| 18 | See below. |
| 19 | |
| 20 | * Building |
| 21 | |
rsc | 21a17ff | 2003-11-25 02:54:24 +0000 | [diff] [blame] | 22 | To build, cd into src and run make; mk install. This will place binaries |
| 23 | in "bin". At time of writing, the commands are sam, samterm, rc, and mk. |
rsc | f305dff | 2003-10-13 17:18:52 +0000 | [diff] [blame] | 24 | There are a few shell scripts already included in bin -- B, Bwait, |
| 25 | and samsave. |
| 26 | |
rsc | 21a17ff | 2003-11-25 02:54:24 +0000 | [diff] [blame] | 27 | The "make" builds mk. Mk builds the rest. |
rsc | f305dff | 2003-10-13 17:18:52 +0000 | [diff] [blame] | 28 | |
| 29 | * Helping out |
| 30 | |
| 31 | If you'd like to help out, great! |
| 32 | |
| 33 | The TODO file contains our (somewhat long) to do list. |
| 34 | |
| 35 | If you port this code to other architectures, please share your changes |
| 36 | so others can benefit. See PORTING for some notes. |
| 37 | |
| 38 | Please use diff -u or CVS (see below) to prepare patches. |
| 39 | |
| 40 | * CVS |
| 41 | |
| 42 | You can use CVS to keep your local copy up-to-date as we make |
| 43 | changes and fix bugs. The idioms explained here are pretty much |
| 44 | all you need to know about CVS. |
| 45 | |
| 46 | To check out from the anonymous CVS repository, use |
| 47 | |
| 48 | cd /usr/local |
| 49 | >$HOME/.cvspass |
| 50 | cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs login |
| 51 | cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs checkout plan9 |
| 52 | |
| 53 | When prompted for a password, just hit enter. |
| 54 | |
| 55 | From then on, when you want to update, you can do |
| 56 | |
| 57 | cd /usr/local/plan9 |
| 58 | cvs update -dAP |
| 59 | |
| 60 | If there are conflicts between changes you have made locally |
| 61 | and changes on the server, cvs will warn about them and leave |
| 62 | them clearly marked in the updated files. |
| 63 | |
| 64 | If you change something and want to submit the change (please do!), |
| 65 | you can run |
| 66 | |
| 67 | cd /usr/local/plan9 |
| 68 | cvs diff -u |
| 69 | |
| 70 | to generate the diff in a format that will be easy to apply. |
| 71 | (You can also use this to see what you've changed.) |
| 72 | |
| 73 | Running the cvs commands in /usr/local/plan9 makes them |
| 74 | apply to the whole tree. Running them in a subdirectory applies |
| 75 | only to the code rooted there in the code. |
| 76 | |
| 77 | There's not much magical about /usr/local/plan9. If you |
| 78 | check out the tree in some other directory, it should work |
| 79 | just as well. |
| 80 | |
| 81 | Thanks. |
| 82 | |
| 83 | Russ Cox <rsc@swtch.com> |