xref: /plan9-contrib/dist/replica/binary (revision ca7c775877ff6ae315cba3108cad66fc0172d277)
1*ca7c7758SDavid du Colombier#!/bin/rc
2*ca7c7758SDavid du Colombier
3*ca7c7758SDavid du Colombierif(~ $fscons '')
4*ca7c7758SDavid du Colombier	fscons=fscons
5*ca7c7758SDavid du Colombierif(~ $replica '')
6*ca7c7758SDavid du Colombier	replica=replica
7*ca7c7758SDavid du Colombier
8*ca7c7758SDavid du Colombiers=/n/dist/dist/replica
9*ca7c7758SDavid du Colombierserverroot=/n/dist
10*ca7c7758SDavid du Colombierserverlog=$s/plan9binary.log
11*ca7c7758SDavid du Colombierserverproto=$s/plan9binary.proto
12*ca7c7758SDavid du Colombierfn servermount {
13*ca7c7758SDavid du Colombier	9fs sources
14*ca7c7758SDavid du Colombier	bind /n/sources/plan9 /n/dist
15*ca7c7758SDavid du Colombier}
16*ca7c7758SDavid du Colombierfn serverupdate { status='' }
17*ca7c7758SDavid du Colombier
18*ca7c7758SDavid du Colombierif ( ! test -e /srv/boot && ! test -e /srv/kfs ) {
19*ca7c7758SDavid du Colombier	echo 'error: neither /srv/boot nor /srv/kfs present; make sure you are running on the file server'
20*ca7c7758SDavid du Colombier	exit '/srv/boot or /srv/kfs not present'
21*ca7c7758SDavid du Colombier}
22*ca7c7758SDavid du Colombier
23*ca7c7758SDavid du Colombierif (test -e /srv/$fscons) {
24*ca7c7758SDavid du Colombier	if ( ! test -w /srv/$fscons ) {
25*ca7c7758SDavid du Colombier		echo 'error: no write access to /srv/'^$fscons^', make sure you are the host owner'
26*ca7c7758SDavid du Colombier		exit 'no write access to /srv/fscons'
27*ca7c7758SDavid du Colombier	}
28*ca7c7758SDavid du Colombier
29*ca7c7758SDavid du Colombier	fn clientmount {
30*ca7c7758SDavid du Colombier		if(! test -e /srv/$replica){
31*ca7c7758SDavid du Colombier			echo 'srv -AWP '^$replica >>/srv/$fscons
32*ca7c7758SDavid du Colombier			sleep 5
33*ca7c7758SDavid du Colombier		}
34*ca7c7758SDavid du Colombier		mount -c /srv/$replica /n/boot
35*ca7c7758SDavid du Colombier	}
36*ca7c7758SDavid du Colombier	c=/n/boot/dist/replica
37*ca7c7758SDavid du Colombier	clientroot=/n/boot
38*ca7c7758SDavid du Colombier}
39*ca7c7758SDavid du Colombierif not {
40*ca7c7758SDavid du Colombier	fn clientmount { 9fs kfs }
41*ca7c7758SDavid du Colombier	c=/n/kfs/dist/replica
42*ca7c7758SDavid du Colombier	clientroot=/n/kfs
43*ca7c7758SDavid du Colombier}
44*ca7c7758SDavid du Colombier
45*ca7c7758SDavid du Colombierclientdb=$c/client/plan9binary.db
46*ca7c7758SDavid du Colombierclientexclude=(dist/replica/client)
47*ca7c7758SDavid du Colombierclientlog=$c/client/plan9binary.log
48*ca7c7758SDavid du Colombierclientproto=$c/plan9binary.proto
49*ca7c7758SDavid du Colombier
50*ca7c7758SDavid du Colombierapplyopt=(-u -T$c/client/plan9binary.time)
51