
this is a linux port of the CMU sup protocal, 
Everything appears to work (i have tested this fairly
well), so here is a quickie on setting it up (rtfm
if you still have trouble, i do too :) )

*) create a user "anon", i recommend just duping
   user ftp.

*) run supfilesrv (don't forget to & it)

now, on to business:

example: setting up an ftp site for mirroring (I recommend reading
the man page on sup, but, this may also help):

*) the ftp server needs to have sup installed (see above)

*) in the directory above that you wish to be mirrored (i will use ~ftp
	as an example), create the directory sup. 

*) in the dirctory, ~ftp/sup, create a directory for what you
	wish to call this distribution.

You can have many distributions, each can
in turn contain many releases of that distribution.
The name of the release doesn't have to match the subdirectories,
i personally do it for convenience.

e.g:



/-- ftp-+       sup -+- everything
	|       |    |
	|       |    +- tinyX
	|	|    |
	|	|    +- kernel
	|	|    |  
	|	|    +- networking
	|	|    |
	|	|    +- vlsi
        |       |
        + linux-+ tinyX -+- mono 
		|	 |         
		|	 +- svga
		|	 |
		|	 +- vga16
		|	 |
		|	 +- s3
		|
		+ vlsi
		|
		+ networking
	        .
                .
                
 
now you edit the file ../sup/distribution/list
and place in information about that release point. The
full syntax is available in the documentation, here are
the list files from those directories (this isn't complete):

sup/everything/list:

omitany *~
upgrade *

sup/kernel/list:

omitany *~
upgrade kernel

sup/networking/list:

omitany *~
upgrade networking

sup/vlsi/list:

list:
omitany *~
upgrade vlsi

sup/vlsi/host: (this file restricts access to the specified hosts)

slinky.cs.umass.edu
lego.cs.umass.edu

sup/tinyX/releases:

mono  list=mono.list
svga  list=svga.list
vga16 list=vga16.list
s3    list=s3.list
alpha list=alpha.list
alpha host=alpha.host

sup/tinyX/mono.list:

upgrade linux/tinyX/tinyX-mono-2.0.tar.gz

sup/tinyX/svga.list:

upgrade tinyX/tinyX-svga-2.0.tar.gz

sup/tinyX/ALPHA.list:

upgrade tinyX/ALPHA

sup/tinyX/ALPHA.host: (hosts permitted to see this release)

slinky.cs.umass.edu
lego.cs.umass.edu

sup/tinyX/logfile: (this is empty and keeps a log of sup activity
		    for this release)


----

note: if i had place the sup directory at the same level as
linux, i would just add linux to the head of the path for the
upgrade lines.

----

now to try it out:

create a supfile for your mirror site, note: on the
host, ~ftp is /rcf/dist/linux, and on the mirror it is /home/ftp (just
for demonstration)

A full mirror site would have a supfile containing:

everything host=opine.cs.umass.edu hostbase=/rcf/dist/linux base=/home/ftp

someone interested in just tinyX (mono and svga) and vlsi
tools, would have:

#
# tinyX
#
tinyX release=s3 host=opine.cs.umass.edu hostbase=/rcf/dist/linux  base=/home/ftp
tinyX release=svga host=opine.cs.umass.edu hostbase=/rcf/dist/linux base=/home/ftp
#
# vlsi stuff
#
vlsi  host=opine.cs.umass.edu hostbase=/rcf/dist/linux base=/home/ftp



actually doing it:

first, make sure it all works:

sup -f -v -d supfile

the -v means verbose, -f means dont actually do anything, -d means
	that it is ok for sup to delete files.

then actually sup:

sup -d supfile

If i had the latter release, and i only wanted the vlsi stuff,
i could say:

sup supfile vlsi



if i move supfile to: /usr/lib/supfiles/coll.list
then i can say:

sup -s

to use that supfile.



-------

i hope this is useful

-- craig

hagan@cs.umass.edu
