#!/bin/rc narg=$#* if ( ! ~ $#* 1 ) { echo Usage: binstall repl_letter>[1=2] exit 'not enough args' } if ( grep '^'^$1^' →' /lib/repl/Readme){ echo $1 already exists as a replica >[1=2] exit no } fn noauth { echo has no auth for $1 exit noauth } fn hasauth { dir=$1 touch $1/.$pid || noauth $1 chgrp -o sys $1/.$pid || noauth $1 rm $1/.$pid } repletter=$1 echo WARNING: this destroys the contents of /dev/sdC0 are you sure? echo Press enter to proceed, del otherwise. read; kill fossil|rc disk/mbr -m /386/mbr /dev/sdC0/data disk/fdisk -baw /dev/sdC0/data disk/prep -bw -a^(9fat fossil cache swap) /dev/sdC0/plan9 cat /dev/sdC0/ctl echo formatting fossil fossil/flfmt /dev/sdC0/fossil fossil/conf -w /dev/sdC0/fossil < /n/fossil/adm/users cp /adm/timeconst /n/fossil/adm/timeconst mkdir /n/fossil/adm/timezone cp /adm/timezone/* /n/fossil/adm/timezone/ echo users -r /active/adm/users >> /srv/fscons echo users -w >> /srv/fscons fossil/conf -w /dev/sdC0/fossil <> /srv/fscons while (! test -e /srv/fsinstall) { sleep 2 } mount -c /srv/fsinstall /n/fossil mount -c /srv/fsinstall /n/bfossil 9fs whale 9fs planb hasauth /n/fossil hasauth /n/bfossil mkdir /n/bfossil/lib mkdir /n/bfossil/lib/repl mkdir /n/bfossil/dist mkdir /n/bfossil/dist/repl . /lib/repl/lsys repl/scandb -t -n $repletter $excl $dir $db repl/sync -r1 /lib/repl/asys /lib/repl/lsys mkdir /n/bfossil/usr/^$user mkdir /n/bfossil/usr/^$user^/lib mkdir /n/bfossil/usr/^$user^/lib/repl mkdir /n/bfossil/usr/^$user^/tmp . /lib/repl/lhome repl/scandb -t -n l $excl $dir $db . /lib/repl/ahome if (! test -e $db ){ echo creating replica for $home repl/new $db a $home tmp lib/repl lib/replica } repl/scandb -t -n a $excl $dir $db repl/sync -r1 /lib/repl/ahome /lib/repl/lhome cp /lib/repl/synccmd /n/fossil/usr/^$user^/bin/rc/synccmd cp /lib/repl/synccmd $home/bin/rc/synccmd echo update /lib/vols using another laptop as an example. exit ''