# /sys/lib/dist/mkfiled=/n/sources/plan9dist=/sys/lib/dist# import /sys/lib/dist/web.protect from the outsidex=`{setup} cd:V: /n/other/dist/plan9.iso ncd:V: /n/other/dist/plan9-new.iso.bz2 ncd-dist:V: /n/other/dist/plan9-new.iso.bz2 mk $dist/web.protect/plan9-new.iso.bz2 cd-dist:V: /n/other/dist/plan9.iso.bz2 mk $dist/web.protect/plan9.iso.bz2 contrib-cd:V: /n/other/dist/contrib.iso.bz2# mk $dist/web.protect/contrib.iso.bz2 /n/other/dist/%.iso:D: /n/sources/plan9/dist/replica/plan9.log @{cd pc; mk cddisk; cd ..} rm -f $target bind pc/cddisk cdstub/bootdisk.img if(! test -f $d/bootdisk.img) bind -a cdstub $d title=`{date | sed 's/(...) (...) (..) (..:..):.. (...) (....)/Plan 9 - \2 \3 \6 \4/'} title=$"title echo 'CD:' $title disk/mk9660 -9cj -v $title -s $d -b bootdisk.img $target # try not to clobber downloads in progress$dist/web.protect/%.iso.bz2: /n/other/dist/%.iso.bz2 cp $prereq $target.new chmod +t $target.new # don't waste venti on it if (test -e $target) mv $target $target.old mv $target.new $target # generate replica log & db for /n/sources/plan9 onlyscan:V: test -d /n/other/dist # make sure other was mounted above test -d $d test -d $dist/web.protect lock scan.lock replica/scan $dist/sources.replica chmod +t $d/dist/replica/*.^(db log) # generate replica log & db for all of /n/sourcesscanall:V: @ { rfork ne d=/n/sources test -d $d lock scanall.lock replica/scan $dist/sourcesall.replica chmod +t $d/dist/replica/*.^(db log) } compresslog:V: { awk -f logcompress.awk $d/dist/replica/plan9.log | awk -f logtime.awk -v 't='^`{date -n} >/tmp/plan9.log rm -f $d/dist/replica/plan9.new.log cp /tmp/plan9.log $d/dist/replica/plan9.new.log && mv $d/dist/replica/plan9.new.log $d/dist/replica/plan9.log } <scan.lock #restart:V:# rm -f $d/dist/replica/plan9.db# rm -f $d/dist/replica/plan9.log# chmod 664 $d/dist/replica/plan9.db >$d/dist/replica/plan9.db# chmod 664 $d/dist/replica/plan9.log >$d/dist/replica/plan9.log# chmod +a $d/dist/replica/plan9.log# mk scan odump:V: disk/dump9660 -9cj -v 'Plan 9 4e Dumps' -s $d \ -p /sys/lib/sysconfig/proto/allproto /n/other/dist/distdump.iso cd.install:V:# if(~ $sysname achille){# echo; echo; echo '*** run this on a real machine, like ethel.'# exit bad# } bzip2 -9 < /n/other/dist/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 /n/other/dist/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 /n/other/dist/nplan9.iso rm -f /srv/9660.xxx 9660srv 9660.xxx mount /srv/9660.xxx /n/kremvax /n/other/dist/plan9.iso disk/mk9660 -9cj -v 'Plan 9 4th Edition' -s /n/kremvax \ -b bootdisk.img /n/other/dist/nplan9.iso rm /srv/9660.xxx /n/other/dist/%.iso.bz2:D: /n/other/dist/%.iso @ { cd /n/other/dist 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 } /n/other/dist/contrib.iso:DV: rm -f $target disk/mk9660 -9cj -v 'Plan 9 Extras' -s /n/sources \ -p ./contrib.proto $target rebuild:V: rebuild rebuild-mail:V: rebuild datemail 'nightly build errors' 9trouble <buildit.out datemail 'nightly build differences' 9trouble <checkbuild.out status='' scansources-mail:V: scansources | datemail 'nightly fs vs. martha scan' 9trouble worldwritable-mail:V: test -e /n/sources/plan9 @ {cd /n/sources; /usr/rsc/bin/$cputype/lsr -t -d} | awk '$2 ~ /[2367]$/' | grep -vf ok-writable | datemail 'WRITABLE FILES ON SOURCES' 9trouble || status='' status='' @ { cd /n/sources/plan9 /usr/rsc/bin/$cputype/lsr -t -d /n/sources/plan9 } | awk '$2 ~ /[2367][^2367].$/' | datemail 'non-group-writable files on sources' 9trouble status='' # use /n/boot to avoid walking the archives mounted under # /lib/vac, or other mounts or binds. rfork n 9fs boot test -e /n/boot/sys /usr/rsc/bin/$cputype/lsr -t -d /n/boot/sys /n/boot/lib | grep -v '/lib/audio/|/sys/src/cmd/vac/test/' | # give us a break awk '$2 ~ /[2367][^2367].$/' | datemail 'non-group-writable files on fs' 9trouble status='' 9.tar.gz:V: @{ rfork n 9fs sources test -e /n/sources/plan9 bind -a /n/sources/plan9 /n/sources/plan9/sys/src cd /n/sources/plan9/sys/src tar c LICENSE NOTICE 9 } | gzip >$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 /n/sources/plan9 bind /n/empty /n/sources/plan9/lib/font bind /n/empty /n/sources/plan9/sys/lib/postscript/font bind /n/empty /n/sources/plan9/sys/lib/ghostscript bind /n/empty /n/sources/plan9/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 mv plan9.tar.bz2 /n/sources/extra/plan9.tar.bz2 chmod +t /n/sources/extra/plan9.tar.bz2
# /sys/lib/dist/mkfile
d=/n/sources/plan9
dist=/sys/lib/dist
# import /sys/lib/dist/web.protect from the outside
x=`{setup}
cd:V: /n/other/dist/plan9.iso
ncd:V: /n/other/dist/plan9-new.iso.bz2
ncd-dist:V: /n/other/dist/plan9-new.iso.bz2
mk $dist/web.protect/plan9-new.iso.bz2
cd-dist:V: /n/other/dist/plan9.iso.bz2
mk $dist/web.protect/plan9.iso.bz2
contrib-cd:V: /n/other/dist/contrib.iso.bz2
# mk $dist/web.protect/contrib.iso.bz2
/n/other/dist/%.iso:D: /n/sources/plan9/dist/replica/plan9.log
@{cd pc; mk cddisk; cd ..}
rm -f $target
bind pc/cddisk cdstub/bootdisk.img
if(! test -f $d/bootdisk.img)
bind -a cdstub $d
title=`{date | sed 's/(...) (...) (..) (..:..):.. (...) (....)/Plan 9 - \2 \3 \6 \4/'}
title=$"title
echo 'CD:' $title
disk/mk9660 -9cj -v $title -s $d -b bootdisk.img $target
# try not to clobber downloads in progress
$dist/web.protect/%.iso.bz2: /n/other/dist/%.iso.bz2
cp $prereq $target.new
chmod +t $target.new # don't waste venti on it
if (test -e $target)
mv $target $target.old
mv $target.new $target
# generate replica log & db for /n/sources/plan9 only
scan:V:
test -d /n/other/dist # make sure other was mounted above
test -d $d
test -d $dist/web.protect
lock scan.lock replica/scan $dist/sources.replica
chmod +t $d/dist/replica/*.^(db log)
# generate replica log & db for all of /n/sources
scanall:V:
@ {
rfork ne
d=/n/sources
test -d $d
lock scanall.lock replica/scan $dist/sourcesall.replica
chmod +t $d/dist/replica/*.^(db log)
}
compresslog:V:
{
awk -f logcompress.awk $d/dist/replica/plan9.log |
awk -f logtime.awk -v 't='^`{date -n} >/tmp/plan9.log
rm -f $d/dist/replica/plan9.new.log
cp /tmp/plan9.log $d/dist/replica/plan9.new.log &&
mv $d/dist/replica/plan9.new.log $d/dist/replica/plan9.log
} <scan.lock
#restart:V:
# rm -f $d/dist/replica/plan9.db
# rm -f $d/dist/replica/plan9.log
# chmod 664 $d/dist/replica/plan9.db >$d/dist/replica/plan9.db
# chmod 664 $d/dist/replica/plan9.log >$d/dist/replica/plan9.log
# chmod +a $d/dist/replica/plan9.log
# mk scan
odump:V:
disk/dump9660 -9cj -v 'Plan 9 4e Dumps' -s $d \
-p /sys/lib/sysconfig/proto/allproto /n/other/dist/distdump.iso
cd.install:V:
# if(~ $sysname achille){
# echo; echo; echo '*** run this on a real machine, like ethel.'
# exit bad
# }
bzip2 -9 < /n/other/dist/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 /n/other/dist/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 /n/other/dist/nplan9.iso
rm -f /srv/9660.xxx
9660srv 9660.xxx
mount /srv/9660.xxx /n/kremvax /n/other/dist/plan9.iso
disk/mk9660 -9cj -v 'Plan 9 4th Edition' -s /n/kremvax \
-b bootdisk.img /n/other/dist/nplan9.iso
rm /srv/9660.xxx
/n/other/dist/%.iso.bz2:D: /n/other/dist/%.iso
@ {
cd /n/other/dist
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
}
/n/other/dist/contrib.iso:DV:
rm -f $target
disk/mk9660 -9cj -v 'Plan 9 Extras' -s /n/sources \
-p ./contrib.proto $target
rebuild:V:
rebuild
rebuild-mail:V:
rebuild
datemail 'nightly build errors' 9trouble <buildit.out
datemail 'nightly build differences' 9trouble <checkbuild.out
status=''
scansources-mail:V:
scansources | datemail 'nightly fs vs. martha scan' 9trouble
worldwritable-mail:V:
test -e /n/sources/plan9
@ {cd /n/sources; /usr/rsc/bin/$cputype/lsr -t -d} |
awk '$2 ~ /[2367]$/' | grep -vf ok-writable |
datemail 'WRITABLE FILES ON SOURCES' 9trouble || status=''
status=''
@ {
cd /n/sources/plan9
/usr/rsc/bin/$cputype/lsr -t -d /n/sources/plan9
} |
awk '$2 ~ /[2367][^2367].$/' |
datemail 'non-group-writable files on sources' 9trouble
status=''
# use /n/boot to avoid walking the archives mounted under
# /lib/vac, or other mounts or binds.
rfork n
9fs boot
test -e /n/boot/sys
/usr/rsc/bin/$cputype/lsr -t -d /n/boot/sys /n/boot/lib |
grep -v '/lib/audio/|/sys/src/cmd/vac/test/' | # give us a break
awk '$2 ~ /[2367][^2367].$/' |
datemail 'non-group-writable files on fs' 9trouble
status=''
9.tar.gz:V:
@{
rfork n
9fs sources
test -e /n/sources/plan9
bind -a /n/sources/plan9 /n/sources/plan9/sys/src
cd /n/sources/plan9/sys/src
tar c LICENSE NOTICE 9
} | gzip >$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 /n/sources/plan9
bind /n/empty /n/sources/plan9/lib/font
bind /n/empty /n/sources/plan9/sys/lib/postscript/font
bind /n/empty /n/sources/plan9/sys/lib/ghostscript
bind /n/empty /n/sources/plan9/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
mv plan9.tar.bz2 /n/sources/extra/plan9.tar.bz2
chmod +t /n/sources/extra/plan9.tar.bz2