Generate hosts and resolv.conf files different depending on whether PLC_DNS_ENABLED=1.
authorMarc Fiuczynski <mef@cs.princeton.edu>
Fri, 25 Jan 2008 19:04:29 +0000 (19:04 +0000)
committerMarc Fiuczynski <mef@cs.princeton.edu>
Fri, 25 Jan 2008 19:04:29 +0000 (19:04 +0000)
plc.d/network

index 2eb52b2..67ebc07 100755 (executable)
@@ -22,8 +22,8 @@ case "$1" in
        MESSAGE=$"Generating network files"
        dialog "$MESSAGE"
 
+       hfile=$(mktemp)
        # Minimal /etc/hosts
-       echo "127.0.0.1 localhost.localdomain localhost" >/etc/hosts
        (
            for server in DB API BOOT WWW ; do
                hostname=PLC_${server}_HOST
@@ -37,13 +37,34 @@ case "$1" in
                    fi
                fi
            done
-       ) >>/etc/hosts
+       ) > $hfile
+       if [ $PLC_DNS_ENABLED -eq 1 ] ; then
+           target=/etc/plc_hosts
+           sort -u $hfile > $target
+       else
+           target=/etc/hosts
+           cat /etc/hosts >> $hfile
+           echo "#generated by /etc/plc.d/network" >/etc/hosts
+           echo "127.0.0.1     localhost.localdomain localhost" >>/etc/hosts
+           sort -u $hfile >> /etc/hosts
+       fi
+       chmod +r $target
+       rm -f $hfile
 
+       rfile=$(mktemp)
        # Set up nameservers
        (
            [ -n "$PLC_NET_DNS1" ] && echo "nameserver $PLC_NET_DNS1"
            [ -n "$PLC_NET_DNS2" ] && echo "nameserver $PLC_NET_DNS2"
-       ) >/etc/resolv.conf
+       ) > $rfile
+
+       if [ $PLC_DNS_ENABLED -eq 1 ] ; then
+           target=/etc/plc_resolv.conf
+       else
+           target=/etc/resolv.conf
+       fi
+       cp $rfile $target
+       chmod +r $target
 
        result "$MESSAGE"
        ;;