xref: /plan9/rc/bin/replica/defs (revision 2cca75a1b2b8c6083390679d69d5c50cf66d9a01)
1tmp=()
2
3fn fatal {
4	if(! ~ $#tmp 0)
5		rm -f $tmp
6	echo $* >[1=2]
7	exit $"*
8}
9
10fn must {
11	$* || fatal $"*^': '^$status
12}
13
14fn need {
15	for(i)
16		if(~ $$i UNCONFIGURED)
17			fatal $name^' does not set $'^$i
18}
19
20opt=()
21while(! ~ $#* 0 && ~ $1 -*){
22	if(~ $1 -s -c){	# take one argument
23		opt=($opt $1)
24		shift
25	}
26	opt=($opt $1)
27	shift
28}
29if(~ $1 --)
30	shift
31if(~ $#* 0)
32	usage
33name=$1
34shift
35paths=($*)
36
37if(! ~ $name /* ./* ../*)
38	name=$home/lib/replica/$name
39
40if(! test -x $name)
41	fatal no such replica $name
42
43cfgopt=()
44applyopt=()
45fn servermount { status='' }
46fn clientmount { status='' }
47fn serverupdate { status='' }
48for (i in clientroot clientproto clientdb clientexclude serverroot serverlog serverproto)
49	$i=UNCONFIGURED
50. $name
51
52if(! ~ $#serverexclude 0)
53	serverexclude=-x^$serverexclude
54if(! ~ $#clientexclude 0)
55	clientexclude=-x^$clientexclude
56