9scripts/grid/gridstart

102 lines
2.5 KiB
Bash
Executable File

#!/bin/rc
# connects to 9gridchan grid services and starts a new subrio
# options -t tls -m mountonly -s scriptonly
# awk '/exportfs/{print "srv -c", $1, $3, $5}' /mnt/registry/index
fn cpl{
cp $1 /n/griddisk/cpl
ptarg=`{basename $1}
plumb http://wiki.9gridchan.org/incoming/cpl/$ptarg
}
fn error{
echo An error ocurred.
exit
}
while (~ $1 -*){
switch($1){
case -t
tls = yes
shift
case -m
mountonly = yes
shift
case -s
scriptonly = yes
shift
case *
echo bad flag $1 >>[1=2]
shift
}
}
if(test -e /srv/gridregistry){
echo 'old grid connections found in /srv, remove? (y/n)'
ans=`{read}
if(~ $ans y){
rm /srv/gridchat
rm /srv/gridplumber
rm /srv/gridram
rm /srv/gridregistry
rm /srv/gridroot
rm /srv/gridwiki
rm /srv/griddisk
rm /srv/pubregistry
}
}
if(~ $tls yes){
auth/factotum
echo 'key proto=dp9ik user=glenda dom=grid !password=9gridchan' >/mnt/factotum/ctl
srvtls tcp!registry.9gridchan.org!16675 gridregistry /mnt/registry || error
awk '/tlssrv/{print "srvtls -c", $1, $3, $5}' /mnt/registry/index >/tmp/gridscript
# cat /mnt/registry/index |grep tlssrv |sed 's/^/srvtls -c /g' |sed 's/is //g' |sed 's/mountpoint //g' |sed 's/service.*$//g' >/tmp/gridscript
}
if(! ~ $tls yes){
srv tcp!registry.9gridchan.org!6675 gridregistry /mnt/registry || error
awk '/exportfs/{print "srv -c", $1, $3, $5}' /mnt/registry/index >/tmp/gridscript
# cat /mnt/registry/index |grep exportfs |sed 's/^/srv -c /g' |sed 's/is //g' |sed 's/mountpoint //g' |sed 's/service.*$//g' >/tmp/gridscript
}
if(~ $scriptonly yes){
echo 'script saved in /tmp/gridscript'
cat /tmp/gridscript
exit
}
. /tmp/gridscript
if(~ $mountonly yes){
echo 'grid services mounted'
exit
}
if(test -e /bin/grio)
srio=(grio -s -c 0x99009900)
if not
srio=(rio -s)
echo '#!/bin/rc
window -r 0 0 700 400 chat
window -r 700 0 1300 400 acme -l/tmp/gridacme
window -r 0 400 700 750 mothra -a http://wiki.9gridchan.org/message_board
window -r 700 400 1300 750 page /n/gridroot/lib/musicant.png
' >/tmp/gridrio
chmod +x /tmp/gridrio
if(! test -e /mnt/web/ctl)
webfs
echo '/usr/glenda
/lib/font/bit/vga/unicode.font
/lib/font/bit/vga/unicode.font
0 66
f 1 1 36 36 3
1 33 36 1 0 /n/griddisk/ Del Snarf Get | Look
F 1 1 15 15 28 15
2 23 15 0 1 Del Snarf Undo | Look
Wiki /mnt/wiki' >/tmp/gridacme
window -m -r 0 0 1350 750 $srio -i /tmp/gridrio