fiz patch : resolv.conf as elaborated by systemd in /run looks like a special file
[bootcd.git] / initscripts / pl_netinit
index 3f253a2..9102d91 100755 (executable)
@@ -350,6 +350,30 @@ echo $(date "+%H:%M:%S") " pl_netinit: attempting to start networking"
 
 echo $(date "+%H:%M:%S") " pl_netinit: network online"
 
+# patch for f22 - if /etc/resolv.conf is empty in static mode
+function pl_netinit_patch_resolv_conf () {
+    file=/etc/resolv.conf
+    needed=""
+    # missing file : patch needed
+    if ! [ -f $file ]; then
+       needed=true
+    # empty file : patch needed
+    elif cmp $file /dev/null; then
+       needed=true
+    fi
+    if [ -n "$needed" ]; then
+       echo pl_netinit patching $file
+       source /etc/sysconfig/network-scripts/ifcfg-${ETH_DEVICE}
+       # delete because it's a symlink to /run/systemd/resolve/resolv.conf
+       # which looks really weird (ls -lL /etc/resolv.conf does not show anything)
+       rm $file
+       ( [ -n "$DNS1" ] && echo nameserver $DNS1; \
+         [ -n "$DNS2" ] && echo nameserver $DNS2 ) > $file
+    else
+       echo pl_netinit has no need to patch $file
+    fi
+    }
+
 function pl_netinit_forensics () {
 
     echo "-------------------- BEG post pl_netinit forensics"
@@ -383,4 +407,6 @@ function pl_netinit_forensics () {
     echo "-------------------- END post pl_netinit forensics"
 }
 
+pl_netinit_patch_resolv_conf
+
 pl_netinit_forensics