ntp: check/wait for onlineconnection.
authorArne Fitzenreiter <arne_f@ipfire.org>
Sun, 23 Feb 2014 17:28:34 +0000 (18:28 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sun, 23 Feb 2014 17:28:34 +0000 (18:28 +0100)
src/initscripts/init.d/ntp

index 92f174d..885b610 100644 (file)
@@ -9,9 +9,27 @@ eval $(/usr/local/bin/readhash /var/ipfire/time/settings)
 case "$1" in
        start)
                if [ "$ENABLESETONBOOT" == "on" ]; then
-                       boot_mesg "Setting time on boot..."
-                       loadproc /usr/local/bin/settime $(cat /var/ipfire/time/settime.conf)
-               fi  
+                       boot_mesg -n "Setting time on boot..."
+                       if [ ! -e /var/ipfire/red/active ]; then
+                               boot_mesg ""
+                               boot_mesg -n "Wait for online connection"
+                               for (( i=30; i>1; i-- )) do
+                                       if [ -e /var/ipfire/red/active ]; then
+                                               break;
+                                       fi
+                                       boot_mesg -n "."
+                                       sleep 1
+                               done
+                               sleep 5
+                       fi
+                       if [ -e /var/ipfire/red/active ]; then
+                               boot_mesg ""
+                               loadproc /usr/local/bin/settime $(cat /var/ipfire/time/settime.conf)
+                       else
+                               boot_mesg " not online!"
+                               echo_warning
+                       fi
+               fi
 
                boot_mesg "Starting ntpd..."
                loadproc /usr/bin/ntpd -Ap /var/run/ntpd.pid