19a747e4fSDavid du Colombiertmp=() 29a747e4fSDavid du Colombier 39a747e4fSDavid du Colombierfn fatal { 49a747e4fSDavid du Colombier if(! ~ $#tmp 0) 59a747e4fSDavid du Colombier rm -f $tmp 69a747e4fSDavid du Colombier echo $* >[1=2] 79a747e4fSDavid du Colombier exit $"* 89a747e4fSDavid du Colombier} 99a747e4fSDavid du Colombier 109a747e4fSDavid du Colombierfn must { 119a747e4fSDavid du Colombier $* || fatal $"*^': '^$status 129a747e4fSDavid du Colombier} 139a747e4fSDavid du Colombier 149a747e4fSDavid du Colombierfn need { 159a747e4fSDavid du Colombier for(i) 169a747e4fSDavid du Colombier if(~ $$i UNCONFIGURED) 179a747e4fSDavid du Colombier fatal $name^' does not set $'^$i 189a747e4fSDavid du Colombier} 199a747e4fSDavid du Colombier 209a747e4fSDavid du Colombieropt=() 219a747e4fSDavid du Colombierwhile(! ~ $#* 0 && ~ $1 -*){ 22*2cca75a1SDavid du Colombier if(~ $1 -s -c){ # take one argument 23*2cca75a1SDavid du Colombier opt=($opt $1) 24*2cca75a1SDavid du Colombier shift 25*2cca75a1SDavid du Colombier } 269a747e4fSDavid du Colombier opt=($opt $1) 279a747e4fSDavid du Colombier shift 289a747e4fSDavid du Colombier} 299a747e4fSDavid du Colombierif(~ $1 --) 309a747e4fSDavid du Colombier shift 319a747e4fSDavid du Colombierif(~ $#* 0) 329a747e4fSDavid du Colombier usage 339a747e4fSDavid du Colombiername=$1 349a747e4fSDavid du Colombiershift 359a747e4fSDavid du Colombierpaths=($*) 369a747e4fSDavid du Colombier 379a747e4fSDavid du Colombierif(! ~ $name /* ./* ../*) 389a747e4fSDavid du Colombier name=$home/lib/replica/$name 399a747e4fSDavid du Colombier 409a747e4fSDavid du Colombierif(! test -x $name) 419a747e4fSDavid du Colombier fatal no such replica $name 429a747e4fSDavid du Colombier 439a747e4fSDavid du Colombiercfgopt=() 449a747e4fSDavid du Colombierapplyopt=() 459a747e4fSDavid du Colombierfn servermount { status='' } 469a747e4fSDavid du Colombierfn clientmount { status='' } 479a747e4fSDavid du Colombierfn serverupdate { status='' } 489a747e4fSDavid du Colombierfor (i in clientroot clientproto clientdb clientexclude serverroot serverlog serverproto) 499a747e4fSDavid du Colombier $i=UNCONFIGURED 509a747e4fSDavid du Colombier. $name 519a747e4fSDavid du Colombier 529a747e4fSDavid du Colombierif(! ~ $#serverexclude 0) 539a747e4fSDavid du Colombier serverexclude=-x^$serverexclude 549a747e4fSDavid du Colombierif(! ~ $#clientexclude 0) 559a747e4fSDavid du Colombier clientexclude=-x^$clientexclude 56