1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/bin/rc
- # THIS FILE IS AUTOMATICALLY GENERATED
- # FROM /sys/src/cmd/fossil/conf.rc. DO NOT EDIT.
- # the fossil configuration is stored at the 127kB offset in the disk
- # and extends for at most 1 kB.
- rfork e
- fn usage {
- echo 'usage: fossil/conf [-w] /dev/sdC0/fossil [config]' >[1=2]
- exit usage
- }
- wflag=no
- while(! ~ $#* 0 && ~ $1 -* && ! ~ $1 --){
- switch($1){
- case -w
- wflag=yes
- case *
- usage
- }
- shift
- }
- if(~ $1 --)
- shift
- if(~ $wflag no && ! ~ $#* 1)
- usage
- if(~ $wflag yes && ! ~ $#* 1 2)
- usage
- disk=$1
- if(! test -f $disk){
- echo 'unknown disk' $1 >[1=2]
- exit nodisk
- }
- fn sigexit {
- rm -f /tmp/fossilconf.$pid
- }
- if(~ $wflag yes){
- {echo fossil config; cat $2} >/tmp/fossilconf.$pid || exit oops
- if(! test -s /tmp/fossilconf.$pid){
- echo 'config is empty; will not install' >[1=2]
- exit emptyconfig
- }
- if(test `{ls -l /tmp/fossilconf.$pid | awk '{print $6}'} -gt 1024){
- echo 'config is too long; max is a little less than a kilobyte' >[1=2]
- exit toolong
- }
- dd -quiet 1 -bs 1024 -count 1 -if $disk -iseek 127 \
- >/tmp/_fossilconf.old || exit backup
- dd -quiet 1 -count 2 </dev/zero >>/tmp/fossilconf.$pid || exit dd
- dd -quiet 1 -bs 1024 -count 1 -if /tmp/fossilconf.$pid \
- -trunc 0 -of $disk -oseek 127 || exit dd2
- exit 0
- }
- dd -quiet 1 -bs 1024 -count 1 -if $disk -iseek 127 |
- aux/zerotrunc >/tmp/fossilconf.$pid
- if(! cmp -s <{sed 1q /tmp/fossilconf.$pid} <{echo fossil config}){
- echo 'config has bad header' >[1=2]
- exit badconfig
- }
- sed 1d /tmp/fossilconf.$pid
- exit 0
|