# /sys/lib/dist/mkfile src9=/n/sources/plan9 # what to export dist=/sys/lib/dist.old # where this machinery lives scr=/n/other/dist # scratch space before copying to web.protect # import /sys/lib/dist/web.protect from the outside x=`{setup} cd:V: $scr/plan9.iso ncd:V: $scr/plan9-new.iso.bz2 ncd-dist:V: $scr/plan9-new.iso.bz2 mk $dist/web.protect/plan9-new.iso.bz2 cd-dist:V: $scr/plan9.iso.bz2 mk $dist/web.protect/plan9.iso.bz2 contrib-cd:V: $scr/contrib.iso.bz2 mk $dist/web.protect/contrib.iso.bz2 $scr/%.iso:D: $src9/dist/replica/plan9.log @ { cd pc; mk cddisk } rm -f $target bind pc/cddisk cdstub/bootdisk.img if(! test -f $src9/bootdisk.img) bind -a cdstub $src9 title=`{date | sed 's/(...) (...) (..) (..:..):.. (...) (....)/Plan 9 - \2 \3 \6 \4/'} title=$"title echo 'CD:' $title disk/mk9660 -9cj -v $title -s $src9 -b bootdisk.img $target # copy compressed file from scratch space to the distribution, carefully $dist/web.protect/%.iso.bz2: $scr/%.iso.bz2 >>$target.new chmod +t $target.new # waste write buf, not venti store cp $prereq $target.new # replace previous version with a flash cut if (test -e $target) mv $target $target.old # try to not clobber downloads in progress mv $target.new $target cd-cleanup:V: rm -f $dist/web.protect/*.iso.bz2.old # remove old versions after a delay # generate replica log & db for $src9 only scan:V: test -d $scr # make sure other was mounted above test -d $src9 test -d $dist/web.protect lock scan.lock replica/scan $dist/sources.replica chmod +t $src9/dist/replica/*.^(db log) # generate replica log & db for all of /n/sources scanall:V: @ { rfork ne d=/n/sources test -d $src9 lock scanall.lock replica/scan $dist/sourcesall.replica chmod +t $src9/dist/replica/*.^(db log) } compresslog:V: { awk -f logcompress.awk $src9/dist/replica/plan9.log | awk -f logtime.awk -v 't='^`{date -n} >/tmp/plan9.log rm -f $src9/dist/replica/plan9.new.log cp /tmp/plan9.log $src9/dist/replica/plan9.new.log && mv $src9/dist/replica/plan9.new.log $src9/dist/replica/plan9.log } $src9/dist/replica/plan9.db # chmod 664 $src9/dist/replica/plan9.log >$src9/dist/replica/plan9.log # chmod +a $src9/dist/replica/plan9.log # mk scan odump:V: disk/dump9660 -9cj -v 'Plan 9 4e Dumps' -s $src9 \ -p /sys/lib/sysconfig/proto/allproto $scr/distdump.iso cd.install:V: # if(~ $sysname achille){ # echo; echo; echo '*** run this on a real machine, like chips.' # exit bad # } bzip2 -9 <$scr/plan9.iso >web.protect/nplan9.iso.bz2 D.install:V: D=/n/roro/usr/rob/testplan9 9fs roro test -d $D cp $D$dist/pc/ndisk $dist/web.protect/ndisk cp $D$dist/pc/9loaddebug $dist/web.protect/n9loaddebug reallyinstall:V: if(! ~ $sysname achille){ echo; echo; echo '*** this needs to run on achille.' exit bad } cd web.protect for (i in plan9.iso.bz2 disk 9loaddebug vmware.zip) if(test -f n$i){ mv $i _$i && { mv n$i $i || mv _$i $i } } rm /srv/ramfs.9down4e $dist/startcache dump:V: rm -f /srv/9660.xxx 9660srv 9660.xxx mount /srv/9660.xxx /n/kremvax $scr/plan9.iso now=`{mtime $dist/web.protect/plan9.iso.bz2 | awk '{print $1}'} ls -l /rls/plan9/4e.iso disk/dump9660 -9cj -s /n/kremvax -n $now /rls/plan9/4e.iso ls -l /rls/plan9/4e.iso rm /srv/9660.xxx reencode:V: rm -f $scr/nplan9.iso rm -f /srv/9660.xxx 9660srv 9660.xxx mount /srv/9660.xxx /n/kremvax $scr/plan9.iso disk/mk9660 -9cj -v 'Plan 9 4th Edition' -s /n/kremvax \ -b bootdisk.img $scr/nplan9.iso rm /srv/9660.xxx # compress a cd image in scratch space $scr/%.iso.bz2:D: $scr/%.iso @ { cd $scr bzip2 -9 <$stem.iso >n$stem.iso.bz2 && { if (test -e $stem.iso.bz2) mv $stem.iso.bz2 _$stem.iso.bz2 mv n$stem.iso.bz2 $stem.iso.bz2 } echo `{date} md5 `{md5sum <$stem.iso.bz2} \ sha1 `{sha1sum <$stem.iso.bz2} \ $stem.iso.bz2 >>/usr/web/plan9checksums.txt } $scr/contrib.iso:DV: rm -f $target disk/mk9660 -9cj -v 'Plan 9 Extras' -s /n/sources \ -p ./contrib.proto $target rebuild:V: chmod +l build.lock >>build.lock rebuild >build.lock rebuild $target 9-export:V: 9.tar.gz 9fs sources cp 9.tar.gz /n/sources/extra/9.tgz chmod +t /n/sources/extra/9.tgz plan9.tar.bz2:V: @{ rfork n 9fs sources cd /n/sources test -e $src9 bind /n/empty $src9/lib/font bind /n/empty $src9/sys/lib/postscript/font bind /n/empty $src9/sys/lib/ghostscript bind /n/empty $src9/sys/src/cmd/gs tar c plan9/LICENSE* plan9/NOTICE plan9/*/mkfile plan9/*/include \ plan9/acme/*/src plan9/acme/bin/source \ plan9/^(adm cron lib lp mail rc sys tmp usr) } | bzip2 >$target plan9-export:V: plan9.tar.bz2 9fs sources chmod +t plan9.tar.bz2 mv plan9.tar.bz2 /n/sources/extra/plan9.tar.bz2