Home | History | Annotate | Line # | Download | only in newbtconf
newbtconf.sh revision 1.1
      1 #!/bin/sh
      2 #
      3 # Setup a new config directory
      4 #
      5 if [ $# -lt 1 ] ; then
      6 	echo "Usage: $0 <newconfig> [<baseconfig>]"
      7 	echo "Usage: $0 init"
      8 	exit 1;
      9 fi
     10 dir=$1
     11 
     12 if [ $dir = init ] ; then
     13 	if [ -d /etc/etc.network -o -e /etc/etc/current ] ; then
     14 		echo "Error: multi-configuration already initialized"
     15 		exit 1
     16 	fi
     17 	dir=etc.network
     18 	cd /etc
     19 	mkdir -m 755 $dir
     20 	ln -s $dir etc.current
     21 	ln -s $dir etc.default
     22 	for i in fstab rc.conf netstart mrouted.conf ntp.conf resolv.conf \
     23 		 nsswitch.conf rbootd.conf inetd.conf ifconfig.* myname \
     24 		 mygate defaultdomain; do
     25 		if [ -f $i ] ; then
     26 			mv $i $dir
     27 			ln -s etc.current/$i .
     28 		fi
     29 	done
     30 	echo "/etc/$dir has now been created and populated."
     31 	exit 0
     32 fi
     33 
     34 if [ "`expr $dir : 'etc\.\(.*\)'`" != $dir ] ; then
     35 	dir=etc.$dir
     36 fi
     37 if [ -e /etc/$dir ] ; then
     38 	echo "Error: $dir already exists"
     39 	exit 1;
     40 fi
     41 newname=`expr $dir : 'etc.\(.*\)'`
     42 if [ $# -lt 2 ] ; then
     43 	orig=etc.current
     44 	echo "Using current config as base for $newname"
     45 else
     46 	orig=$2
     47 fi
     48 
     49 if [ -z "`expr $orig : 'etc.\(.*\)'`" ] ; then
     50 	orig=etc.$orig
     51 fi
     52 
     53 mkdir -m 755 /etc/$dir
     54 cp -p /etc/$orig/* /etc/$dir
     55 echo "/etc/$dir has now been created and populated."
     56 exit 0
     57