#!/bin/sh
# 	http://www.berklix.com/~jhs/bin/.sh/rc.shutint
# Installed to /site/etc/rc.shutint by ~/public_html/bin/.sh/Makefile
# Called by:	/etc/rc.shutmedia
#	http://www.berklix.com/~jhs/bin/.sh/rc.shutmedia
# See Also
# 	http://www.berklix.com/~jhs/bin/.sh/rc.shutusb
#	http://www.berklix.com/~jhs/bin/.sh/gbde2.sh
# Purpose:
#	Unmounts all internal gbde mounted UFS, & runs gbde detach
# Copyright "Julian H. Stacey" <jhs_ERASE_@berklix.com>, public under BSD licence.

DBG="true"	# Normal quiet running
# DBG="echo"	# To debug

$DBG "STARTING $0 `date -u +%Y-%m-%dT%H:%M:%SZ`"

# umount crypted FS based on file images or partitions on hard disk.

$DBG "Before: /crypt/fs/*"	# brackets.c "*/"
#	`mount | grep /crypt` would generate more text to process than
#	simpler /crypt/fs/*	brackets.c: */
xx=`/bin/ls -1 /crypt/fs 2> /dev/null`	# 1700m 99m
if [ "X $xx" != "X " ];	#{
then
	for i in /crypt/fs/* ; do
		# /crypt/fs/1700m /crypt/fs/99m brackets.c: */
		echo "Unmounting $i"
		umount $i
		rmdir $i # ~jhs/bin/.sh/gbde2.sh will run mkdir when needed.
		done	#}
fi	#}
$DBG "After: `echo /crypt/fs/*`"	# brackets.c "*/"

$DBG "Before: /dev/md[0-9]*.bde"
xx=`/bin/ls -1 /dev/md[0-9]*.bde 2> /dev/null`
if [ "X $xx" != "X " ];	#{
then
	for i in /dev/md[0-9]*.bde ; do
		# /dev/md0.bde /dev/md1.bde
		echo "Calling gbde detach /dev/`basename $i .bde`"
		gbde detach /dev/`basename $i .bde`
		done	#}
fi	#}
$DBG "After: `echo /dev/md[0-9]*.bde`"

$DBG "Before: /dev/md[0-9]*"
xx=`/bin/ls -1 /dev/md[0-9] 2> /dev/null`
if [ "X $xx" != "X " ];	#{
then
	for i in /dev/md[0-9] ; do
		# /devev/md0 /dev/md1
		number=`basename $i | sed -e s/md//`	# 0 1
		echo "Detach crypted image $number"
		mdconfig -d -u $number
		done	#}
fi	#}
$DBG "After: `echo /dev/md[0-9]*`"
echo "To remount, use /site/usr/local/bin/gbde.sh"

$DBG "FINISHING $0 `date -u +%Y-%m-%dT%H:%M:%SZ`"
