shithub: riscv

ref: 1bc10a7c9397d6d10aa0b397212f59a83e4cd546
dir: /rc/bin/inst/moveoldfs/

View raw version
#!/bin/rc

# desc: move an old third edition plan 9 file system out of the way
# prereq: mountfs

rootfiles=(\
	386\
	68000\
	68020\
	LICENSE\
	NOTICE\
	acme\
	adm\
	alpha\
	arm\
	cron\
	dist\
	fd\
	lib\
	lp\
	mail\
	mips\
	mnt\
	n\
	power\
	rc\
	sparc\
	sys\
	tmp\
	usr/glenda\
	wrap\
)

switch($1){
case checkready
	if(! test -d /n/kfs/wrap){
		moveoldfs=done
		export moveoldfs
	}

case go
	if(test -d /n/kfs/wrap){
		echo 'You have a Third Edition Plan 9 installation on '^$fs^'.'
		echo 'We need to move the old file system out of the way (into /3e)'
		echo 'in order to continue.'
		echo
		prompt 'Move old file system' y n
		switch($rd){
		case y
			kname=`{kfsname $fs}
			log Moving old Plan 9 installation into /3e on kfs
			logprog disk/kfscmd -n$kname 'create /3e sys sys 555 d' >>[2]/srv/log
			logprog disk/kfscmd -n$kname 'create /3e/usr sys sys 555 d' >>[2]/srv/log
			for(i in $rootfiles)
				if(test -e /n/kfs/$i)
					logprog disk/kfscmd -n$kname 'rename /'^$i^' /3e/'^$i
			# copy extant /adm/users in case there have been modifications
			logprog disk/kfscmd -n$kname 'create /adm adm adm 555 d' >>[2]/srv/log
			logprog cp /n/kfs/3e/adm/users /n/kfs/adm/users >>[2]/srv/log

		case n
			echo 'Okay, but we can''t continue.'
			echo
		}
	}

case checkdone
	if(test -d /n/kfs/wrap){
		moveoldfs=notdone
		export moveoldfs
	}
}