⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kits

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻
字号:
#!/bin/sh#	Sccsid "@(#)kits	4.1	(ULTRIX)	7/2/90"##	kits -#		make dd'able images of setld(8) readables.##	kits <ringfile>##	000	ccb	22-Aug-1985#		(C) 1985 DEC#		Thanks to robin & tarsa.#	001	Chas. Bennett	09-05-1985#		make sure there is '\n' on the end of all of the#			scripts generated by tarsets.c#	002	ccb	06-19-86#		upgrade for new setld.##	2-jun-1987	ccb#		remove stream edit to change blocksizes from floppy#		to tape blocking##	900309	ccb#		Compress the subsets in the TODIR directory rather#		than the local directory.#		Make RXMAKE default to 0.#umask 2PATH="/usr/release/bin:/usr/sys/dist:/bin:/etc:/usr/bin:/usr/ucb"export PATH# constantsPROG=$0USAGE="Usage: $PROG kfile build-dir master-dir [subset...]"ID=.invT="	"NL=""KITGLOBAL=/usr/tmp/kglbl$$KITSUBS=/usr/tmp/ksubs$$# write protect.readonly PROG USAGE IDPWD=`pwd`# get standard args.case $# in[012])	echo $USAGE	exit 1	;;*)	KITFILE=$1	FROMDIR=$2	TODIR=$3	shift;shift;shift	;;esac# do we have the parts the user specified?[ -f $KITFILE ] ||{	echo "$PROG: $KITFILE not found."	exit 1}[ -d $FROMDIR ] ||{	echo "$PROG: $FROMDIR not found."	exit 1}[ -d $TODIR ] ||{	echo "$PROG: $TODIR not found."	exit 1}[ -d $TODIR/instctrl ] || mkdir $TODIR/instctrl ||{	echo "$PROG: cannot create instctrl directory."	exit 1}# split up the key file.#  this writes the global section of the file to KITGLOBAL#  and prepends ordering numbers to the subset section leaving#  the result in KITSUBS(	ed - $KITFILE <<!1,/%%/-1w $KITGLOBAL/%%/+1,\$pq!) | cat -n > $KITSUBS# pick up global data. $KITGLOBALcase "~$NAME~$CODE~$VERS~$MI~$ROOT~" in*~~*)	echo "$PROG: $KITFILE format error"	exit 1	;;esac# check on presence of MI and possible root.[ -f $MI ] ||{	echo "Inventory file $MI not found."	exit 1}case "$ROOT" in1)	echo -n "Has the root image already been created? "	read _X_	case "$_X_" in	[yY]*)	;;	*)	echo"You must create the root image before running this procedure."		exit 1		;;	esac	[ -f $TODIR/ROOT ] ||	{		echo "ROOT image $TODIR/ROOT not found"		exit 1	}	;;esacALLSUBS=`awk '{print $2}' $KITSUBS`case "$*" in"")	S_LIST=$ALLSUBS	rm -rf $TODIR/instctrl	mkdir $TODIR/instctrl	;;*)	S_LIST=$*	;;esacset - $S_LISTecho "Creating $# $NAME Subsets."rm -f *.ctrl .Volume*rm -f stderrCTRLS=I=0for SUB in $S_LIST{	# clean up	rm -f Volume*	rm -f $TODIR/$SUB* $TODIR/instctrl/$SUB*	CTRLS="$CTRLS ./$SUB.ctrl"	I=`expr $I + 1`	echo "$I.	Subset $SUB"	INV=$SUB$ID	CTRL=$SUB.ctrl	echo "${T}Generating media creation information...$NL"	grep "	$SUB\$" $MI | invcutter -v $VERS $FROMDIR |		tee $INV | tarsets $FROMDIR > ts.$SUB ||	{		echo "failed."		exit 1	}	echo "done."	chmod 744 ts.$SUB	echo -n "${T}Create $SUB Control File..."	LINE=`awk '$2 == "'$SUB'"' $KITSUBS`	case "$LINE" in	"")	echo "No such subset in $KITFILE: subset $SUB"		continue		;;	esac	# break up descriptor from key file	set - $LINE	TLOC=$1	shift;shift	DEPS=`echo $1|sed 's/|/ /'g`	shift	FLAGS=` case $1 in		FLGEXP*)			eval echo \\\$${1}			;;		*)			echo $1			;;		esac`	shift	DESC="$*"	# figure out how many floppy volumes	NVOLS=`grep -c '^tar' ts.$SUB`	cat > $CTRL <<!NAME='$NAME $SUB'DESC=$DESCNVOLS=1:$NVOLSMTLOC=1:$TLOCDEPS="$DEPS"FLAGS=$FLAGS!	echo -n "done.	Create $NVOLS Volume Files..."	J=0; while :	do		case $J in		$NVOLS)			break			;;		esac		J=`expr $J + 1`		echo "$PROD$VERS$SUB" > Volume$J		echo -n ".$J"	done	case "$RXMAKE" in	1)	echo -n "	Make RX50 Kit Images..."		# make the floppy tar images.		TO=$TODIR ./ts.$SUB &		echo "in the background."		;;	esac	echo -n "	Make Images for Tape and RA60..."	# edit the ts file for making tape images.	sed '2,$s/^tar c/tar r/		/^Volume[0-9][0-9]*\\$/d		1,$s/'$SUB'[0-9]*/'$SUB'/' ts.$SUB > ts.$SUB.tape	chmod 744 ts.$SUB.tape	TO=$TODIR ./ts.$SUB.tape	echo "done."	(cd $TODIR		case "$COMPRESS" in		1)	echo -n "	Compressing "			compress -f -v $SUB ||			{				echo "compression failed. status = $?"				exit 1			}			SPC=`expr $SUB : '\(...\).*'`			SVC=`expr $SUB : '.*\(...\)'`			> instctrl/$SPC$SVC.comp		#	echo "done."		esac	)	echo "	*** Finished Creating Media Images for $SUB."	if [ -f scps/$SUB.scp ]	then		cp scps/$SUB.scp .	else		touch $SUB.scp		chmod 744 $SUB.scp		echo "Null subset control program created for $SUB.  Proceeding..."	fi}case "$COMPRESS" in1)	wait	(cd $TODIR		for SUB in $S_LIST		{			dd if=$SUB.Z of=$SUB bs=10k conv=sync 2> /dev/null			rm $SUB.Z		}	)esac# make the inventory control shtooka.echo -n "Moving Control and Volume Files to Master Pack..."mkdir $TODIR/instctrl 2> /dev/nullmv *.ctrl *.inv *.scp $TODIR/instctrlecho -n "done.$NL$NL${T}Creating $CODE.image..."case "$ROOT" in1)	ALLSUBS="ROOT $ALLSUBS"	;;esac(	# subshell for cd only	cd $TODIR	set - $ALLSUBS	case "$#" in	1)	SUM=`sum $ALLSUBS`		echo "$SUM $ALLSUBS" > instctrl/$CODE.image		;;	*)	sum $ALLSUBS > instctrl/$CODE.image		;;	esac	echo "Creating INSTCTRL"	cd instctrl; tar cpvf ../INSTCTRL *	cp $CODE.image ..)rm -f Volume* ts.* $KITGLOBAL $KITSUBSecho "done.Media Image production for $PROD complete."#!debug rm -f $.*exit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -