Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/bin/rc

# prereq: mountfs
# desc: download or continue to download the distribution archives

switch($1) {
case checkready
        devs=(`{cat /net/ipifc/*/status >[2]/dev/null |
                grep -v '127\.0\.0\.1' |
                sed 's/ .*//'})
        if(~ $#devs 0) {
                download=notdone
                export download
        }
        if(~ $mountdist done){
                download=notdone
                export download
        }

case go
        if(! test -f /srv/cs) {
                log starting cs, dns
                logprog ndb/cs >>/srv/log >[2=1]
                logprog ndb/dns -r >>/srv/log >[2=1]
        }
        if(! test -f /net/cs) {
                logprog mount -a /srv/cs /net
                logprog mount -a /srv/dns /net
        }

        # BUG make restartable
        echo 'Downloading distribution package...'
        baropt='-w 145,129,445,168'
        if(~ $textinst 1)
                baropt=-t
        if(! hget -vo /n/newfs/dist/_plan9.iso.bz2 $installurl/plan9.iso.bz2 |[2] bargraph $baropt 'downloading '^plan9.iso.bz2)
                        exit
        mv /n/newfs/dist/_plan9.iso.bz2 /n/newfs/dist/plan9.iso.bz2
        if(~ $fstype fossil){
                echo fsys main sync >>/srv/fscons
        }

        echo 'The distribution is downloaded.'

        srvmedia=()
        mountmedia=(mount /srv/fossil /n/distmedia)
        distmediadir=/dist
        export distmediadir mountmedia distmedia
        
case checkdone
        if(! test -f /n/newfs/dist/plan9.iso.bz2) {
                download=notdone
                export download
        }
}