55 lines
843 B
Text
Executable file
55 lines
843 B
Text
Executable file
tmp=()
|
|
|
|
fn fatal {
|
|
if(! ~ $#tmp 0)
|
|
rm -f $tmp
|
|
echo $* >[1=2]
|
|
exit $"*
|
|
}
|
|
|
|
fn must {
|
|
$* || fatal $"*^': '^$status
|
|
}
|
|
|
|
fn need {
|
|
for(i)
|
|
if(~ $$i UNCONFIGURED)
|
|
fatal $name^' does not set $'^$i
|
|
}
|
|
|
|
opt=()
|
|
while(! ~ $#* 0 && ~ $1 -*){
|
|
if(~ $1 -s -c){ # take one argument
|
|
opt=($opt $1)
|
|
shift
|
|
}
|
|
opt=($opt $1)
|
|
shift
|
|
}
|
|
if(~ $1 --)
|
|
shift
|
|
if(~ $#* 0)
|
|
usage
|
|
name=$1
|
|
shift
|
|
paths=($*)
|
|
|
|
if(! ~ $name /* ./* ../*)
|
|
name=$home/lib/replica/$name
|
|
|
|
if(! test -x $name)
|
|
fatal no such replica $name
|
|
|
|
cfgopt=()
|
|
applyopt=()
|
|
fn servermount { status='' }
|
|
fn clientmount { status='' }
|
|
fn serverupdate { status='' }
|
|
for (i in clientroot clientproto clientdb clientexclude serverroot serverlog serverproto)
|
|
$i=UNCONFIGURED
|
|
. $name
|
|
|
|
if(! ~ $#serverexclude 0)
|
|
serverexclude=-x^$serverexclude
|
|
if(! ~ $#clientexclude 0)
|
|
clientexclude=-x^$clientexclude
|