1c8e6e445SDavid du Colombier#!/bin/rc 2c8e6e445SDavid du Colombier# THIS FILE IS AUTOMATICALLY GENERATED 3c8e6e445SDavid du Colombier# FROM /sys/src/cmd/fossil/conf.rc. DO NOT EDIT. 4c8e6e445SDavid du Colombier 5c8e6e445SDavid du Colombier 6c8e6e445SDavid du Colombier# the fossil configuration is stored at the 127kB offset in the disk 7c8e6e445SDavid du Colombier# and extends for at most 1 kB. 8c8e6e445SDavid du Colombier 9c8e6e445SDavid du Colombierrfork e 10c8e6e445SDavid du Colombierfn usage { 11*7512b2c7SDavid du Colombier echo 'usage: fossil/conf [-w] /dev/sdC0/fossil [config]' >[1=2] 12c8e6e445SDavid du Colombier exit usage 13c8e6e445SDavid du Colombier} 14c8e6e445SDavid du Colombier 15c8e6e445SDavid du Colombierwflag=no 16c8e6e445SDavid du Colombierwhile(! ~ $#* 0 && ~ $1 -* && ! ~ $1 --){ 17c8e6e445SDavid du Colombier switch($1){ 18c8e6e445SDavid du Colombier case -w 19c8e6e445SDavid du Colombier wflag=yes 20c8e6e445SDavid du Colombier case * 21c8e6e445SDavid du Colombier usage 22c8e6e445SDavid du Colombier } 23c8e6e445SDavid du Colombier shift 24c8e6e445SDavid du Colombier} 25c8e6e445SDavid du Colombierif(~ $1 --) 26c8e6e445SDavid du Colombier shift 27c8e6e445SDavid du Colombier 28c8e6e445SDavid du Colombierif(~ $wflag no && ! ~ $#* 1) 29c8e6e445SDavid du Colombier usage 30c8e6e445SDavid du Colombierif(~ $wflag yes && ! ~ $#* 1 2) 31c8e6e445SDavid du Colombier usage 32c8e6e445SDavid du Colombier 33c8e6e445SDavid du Colombierdisk=$1 34c8e6e445SDavid du Colombierif(! test -f $disk){ 35c8e6e445SDavid du Colombier echo 'unknown disk' $1 >[1=2] 36c8e6e445SDavid du Colombier exit nodisk 37c8e6e445SDavid du Colombier} 38c8e6e445SDavid du Colombier 39c8e6e445SDavid du Colombierfn sigexit { 40c8e6e445SDavid du Colombier rm -f /tmp/fossilconf.$pid 41c8e6e445SDavid du Colombier} 42c8e6e445SDavid du Colombier 43c8e6e445SDavid du Colombierif(~ $wflag yes){ 44c8e6e445SDavid du Colombier {echo fossil config; cat $2} >/tmp/fossilconf.$pid || exit oops 45c8e6e445SDavid du Colombier if(! test -s /tmp/fossilconf.$pid){ 46c8e6e445SDavid du Colombier echo 'config is empty; will not install' >[1=2] 47c8e6e445SDavid du Colombier exit emptyconfig 48c8e6e445SDavid du Colombier } 49c8e6e445SDavid du Colombier if(test `{ls -l /tmp/fossilconf.$pid | awk '{print $6}'} -gt 1024){ 50c8e6e445SDavid du Colombier echo 'config is too long; max is a little less than a kilobyte' >[1=2] 51c8e6e445SDavid du Colombier exit toolong 52c8e6e445SDavid du Colombier } 53c8e6e445SDavid du Colombier dd -quiet 1 -bs 1024 -count 1 -if $disk -iseek 127 \ 54c8e6e445SDavid du Colombier >/tmp/_fossilconf.old || exit backup 55c8e6e445SDavid du Colombier dd -quiet 1 -count 2 </dev/zero >>/tmp/fossilconf.$pid || exit dd 56c8e6e445SDavid du Colombier dd -quiet 1 -bs 1024 -count 1 -if /tmp/fossilconf.$pid \ 57c8e6e445SDavid du Colombier -trunc 0 -of $disk -oseek 127 || exit dd2 58c8e6e445SDavid du Colombier exit 0 59c8e6e445SDavid du Colombier} 60c8e6e445SDavid du Colombier 61c8e6e445SDavid du Colombierdd -quiet 1 -bs 1024 -count 1 -if $disk -iseek 127 | 62c8e6e445SDavid du Colombier aux/zerotrunc >/tmp/fossilconf.$pid 63c8e6e445SDavid du Colombier 64c8e6e445SDavid du Colombierif(! cmp -s <{sed 1q /tmp/fossilconf.$pid} <{echo fossil config}){ 65c8e6e445SDavid du Colombier echo 'config has bad header' >[1=2] 66c8e6e445SDavid du Colombier exit badconfig 67c8e6e445SDavid du Colombier} 68c8e6e445SDavid du Colombier 69c8e6e445SDavid du Colombiersed 1d /tmp/fossilconf.$pid 70c8e6e445SDavid du Colombierexit 0 71c8e6e445SDavid du Colombier 72