3 # $DragonFly: src/sbin/newbtconf/newbtconf.sh,v 1.3 2008/02/17 19:51:53 swildner Exp $
4 # Setup a new config directory
7 echo "usage: $0 <newconfig> [<baseconfig>]"
9 echo "usage: $0 revert"
14 FILES
="defaultdomain dntpd.conf fstab ifconfig.* inetd.conf mrouted.conf \
15 mygate myname netstart nsswitch.conf \
16 rc.conf rc.conf.d resolv.conf"
18 if [ $dir = init
] ; then
19 if [ -d /etc
/etc.network
-o -e /etc
/etc.current
] ; then
20 echo "Error: multi-configuration already initialized"
26 ln -s $dir etc.current
27 ln -s $dir etc.default
29 if [ -f $i -o -d $i ] ; then
31 ln -s etc.current
/$i .
34 echo "/etc/$dir has now been created and populated."
38 if [ $dir = revert
] ; then
39 if [ ! -d /etc
/etc.current
] ; then
40 echo "Error: multi-configuration not initialized"
45 if [ -f $i -o -d $i ] ; then
50 echo "$i: not a symlink, skipping"
53 linkto
="${stat##*-> }"
57 echo "$i: does not symlink to etc.current, skipping"
65 ( cd etc.current
&& pax
-rw -pe $i /etc
)
74 if [ "`expr $dir : 'etc\.\(.*\)'`" != $dir ] ; then
77 if [ -e /etc
/$dir ] ; then
78 echo "Error: $dir already exists"
81 newname
=`expr $dir : 'etc.\(.*\)'`
82 if [ $# -lt 2 ] ; then
84 echo "Using current config as base for $newname"
89 if [ -z "`expr $orig : 'etc.\(.*\)'`" ] ; then
93 if [ ! -d /etc
/$orig ] ; then
94 echo "Original directory /etc/$orig does not exist."
97 mkdir
-m 755 /etc
/$dir
99 pax
-rw -pe .
/etc
/$dir
100 echo "/etc/$dir has now been created and populated."