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.2 darrenr if [ ! -d /etc/$orig ] ; then 54 1.2 darrenr echo "Original directory /etc/$orig does not exist." 55 1.2 darrenr exit 1; 56 1.2 darrenr fi 57 1.1 darrenr mkdir -m 755 /etc/$dir 58 1.1 darrenr cp -p /etc/$orig/* /etc/$dir 59 1.1 darrenr echo "/etc/$dir has now been created and populated." 60 1.1 darrenr exit 0 61