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