URI: 
       tDistribution notes. - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit f305dffb85432d58fd3bc3ce8d78371e652dd314
   DIR parent 67f1f37bd8bf7f95ae665edcf0aeacbed53f64fd
  HTML Author: rsc <devnull@localhost>
       Date:   Mon, 13 Oct 2003 17:18:52 +0000
       
       Distribution notes.
       
       Diffstat:
         A NOTES                               |      89 +++++++++++++++++++++++++++++++
         A PORTING                             |      17 +++++++++++++++++
         M TODO                                |       4 +++-
       
       3 files changed, 109 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/NOTES b/NOTES
       t@@ -0,0 +1,89 @@
       +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 occasionally 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 install.  This will place binaries
       +in "bin".  At time of writing, the commands are sam, samterm, and mk.
       +There are a few shell scripts already included in bin -- B, Bwait,
       +and samsave.
       +
       +* Make vs. Mk
       +
       +I'm trying to use make for everything so that it's easier to get
       +off the ground, but this might not work out.  Working in the
       +intersection of BSD make and GNU make is quite restrictive.
       +If I'm going to start requiring a particular build utility,
       +it might as well be mk.
       +
       +* 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 <rsc@swtch.com>
   DIR diff --git a/PORTING b/PORTING
       t@@ -0,0 +1,17 @@
       +[Need to write better notes.]
       +
       +Look for files named *386* or *FreeBSD* and you'll see what
       +you need to implement for your architecture of choice.
       +
       +The hardest thing is probably the assembly routines: 
       +src/lib9/tas-$SYSTYPE.s and src/libthread/asm-$SYSTYPE-$OBJTYPE.s.
       +The former is a test and set used to implement shared-memory
       +spin locks.  The latter is a stripped down setjmp and longjmp
       +used to implement stack switching in the thread library.
       +Also, src/libthread/$OBJTYPE.c needs to know how to set up a stack
       +frame for the given object type.
       +
       +If you're only interested in mk and sam, you don't need to
       +write any assembly to do a port.  Samterm requires everything
       +though, since it uses libthread.
       +
   DIR diff --git a/TODO b/TODO
       t@@ -45,7 +45,9 @@
                  but need to put it together.
        
        * Dump
       -        - have a dump file system that sits on the side of ffs.
       +        - have a dump file system that sits on the side of ffs,
       +          backing up disk images to venti.  a loopback NFS server
       +          serves the backed-up images.  
                  needs cleanup and release.  should be easy to add ext2,
                  fat.  ntfs harder but possible.