221 lines
5.9 KiB
Makefile
221 lines
5.9 KiB
Makefile
# /sys/lib/dist/mkfile
|
|
src9=/n/sources/plan9 # what to export
|
|
dist=/sys/lib/dist # 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
|
|
} <scan.lock
|
|
|
|
#restart:V:
|
|
# rm -f $src9/dist/replica/plan9.db
|
|
# rm -f $src9/dist/replica/plan9.log
|
|
# chmod 664 $src9/dist/replica/plan9.db >$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-mail:V:
|
|
chmod +l build.lock >>build.lock
|
|
rebuild <build.lock
|
|
datemail 'nightly build errors' 9trouble <buildit.out
|
|
datemail 'nightly build differences' 9trouble <checkbuild.out
|
|
status=''
|
|
|
|
scansources-mail:V:
|
|
scansources | datemail 'nightly fs vs. sources scan' 9trouble
|
|
|
|
worldwritable-mail:V:
|
|
test -e $src9
|
|
@ {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 $src9
|
|
/usr/rsc/bin/$cputype/lsr -t -d $src9
|
|
} |
|
|
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 $src9
|
|
bind -a $src9 $src9/sys/src
|
|
cd $src9/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 $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
|