220 lines · 5.8 KB · Makefile
RawDownload
# /sys/lib/dist/mkfile <defs x=`{setup}	# import /sys/lib/dist/web.protect from the outside 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 $scr/usbdisk.bz2:D: $scr/plan9.iso.bz2	cd pc; mk $targetusb-dist:V: $scr/usbdisk.bz2	mk $dist/web.protect/usbdisk.bz2 #contrib-cd:V: $scr/contrib.iso.bz2#	mk $dist/web.protect/contrib.iso.bz2#$scr/contrib.iso:DV:#	rm -f $target#	disk/mk9660 -9cj -v 'Plan 9 Extras' -s /n/sources \#		-p ./contrib.proto $target $scr/%.iso:D: $src9/dist/replica/plan9.log	rfork n	@ { cd pc; mk cddisk }	rm -f $target	bind pc/cddisk cdstub/bootdisk.img	bind /386/9load cdstub/9load	bind /386/pbsraw cdstub/pbsraw	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 pbsraw -x 9load $target # copy (compressed) file from scratch space to the distribution, carefully$dist/web.protect/%:		$scr/%	>>$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 onlyscan: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/sourcesscanall: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:DV:	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	} rebuild:V:	chmod +l build.lock >>build.lock	lock build.lock rebuild rebuild-mail:V:	chmod +l build.lock >>build.lock	lock build.lock rebuild	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; /sys/lib/dist/rsc/bin/$cputype/lsr -t -d} |		awk '$2 ~ /[2367]$/' | grep -vf ok-writable |		datemail 'WRITABLE FILES ON SOURCES' 9trouble || status=''	status=''	@ {		cd $src9		/sys/lib/dist/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	/sys/lib/dist/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