download 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/rc
  2. # prereq: mountfs
  3. # desc: download or continue to download the distribution archives
  4. switch($1) {
  5. case checkready
  6. devs=(`{cat /net/ipifc/*/status >[2]/dev/null |
  7. grep -v '127\.0\.0\.1' |
  8. sed 's/ .*//'})
  9. if(~ $#devs 0) {
  10. download=notdone
  11. export download
  12. }
  13. if(~ $mountdist done){
  14. download=notdone
  15. export download
  16. }
  17. case go
  18. if(! test -f /srv/cs) {
  19. log starting cs, dns
  20. logprog ndb/cs >>/srv/log >[2=1]
  21. logprog ndb/dns -r >>/srv/log >[2=1]
  22. }
  23. if(! test -f /net/cs) {
  24. logprog mount -a /srv/cs /net
  25. logprog mount -a /srv/dns /net
  26. }
  27. # BUG make restartable
  28. echo 'Downloading distribution package...'
  29. if(! hget -vo /n/kfs/dist/_plan9.iso.bz2 $installurl/plan9.iso.bz2 |[2] bargraph -w 145,129,445,168 'downloading '^plan9.iso.bz2)
  30. exit
  31. mv /n/kfs/dist/_plan9.iso.bz2 /n/kfs/dist/plan9.iso.bz2
  32. if(~ $fstype fossil){
  33. echo fsys main sync >>/srv/fscons
  34. }
  35. kname=`{kfsname $fs}
  36. disk/kfscmd -n$kname sync
  37. echo 'The distribution is downloaded.'
  38. srvmedia=(disk/kfs -f $fs -n $kname)
  39. mountmedia=(mount /srv/kfs.$kname /n/distmedia)
  40. distmediadir=/dist
  41. export srvmedia mountmedia distmediadir
  42. case checkdone
  43. if(! test -f /n/kfs/dist/plan9.iso.bz2) {
  44. download=notdone
  45. export download
  46. }
  47. }