examples/var_service/: use "svc" for service commands, other tweaks
authorDenys Vlasenko <vda.linux@googlemail.com>
Tue, 3 Jul 2018 15:02:50 +0000 (17:02 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 3 Jul 2018 15:02:50 +0000 (17:02 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
examples/var_service/dhcp_if/dhcp_handler
examples/var_service/dhcp_if/finish
examples/var_service/dhcp_if_pinger/run
examples/var_service/fw/etc/dnsmasq_servers.conf
examples/var_service/fw/run
examples/var_service/ntpd/run
examples/var_service/zcip_if/finish
examples/var_service/zcip_if/zcip_handler

index 3d44a60226e6dbc12902690ea0753a43a8869ab2..6a97e854355df1f4886c83bb22b2241bd185a397 100755 (executable)
@@ -52,7 +52,7 @@ if test x"$1" != x"bound" && test x"$1" != x"renew" ; then
        rm "$file_ntpconf"
        rm "$dir_ipconf/$file_ipconf"
        rm "$dir_ntpconf/$file_ntpconf"
-       sv u /var/service/fw
+       svc -u fw
        exit
 fi
 
@@ -67,10 +67,10 @@ if test $? != 0; then
        echo "Reconfiguring fw"
        mkdir -p "$dir_ipconf" 2>/dev/null
        cp "$file_ipconf" "$dir_ipconf/$file_ipconf"
-       sv u /var/service/fw
+       svc -u fw
 fi
 
-if test -d /var/service/ntpd; then
+if test -d ../ntpd; then
        ./convert2ntpconf "$file_ntpconf"
        # Reconfigure ntp server addresses if needed
        diff --brief "$file_ntpconf" "$dir_ntpconf/$file_ntpconf" >/dev/null 2>&1
@@ -78,7 +78,7 @@ if test -d /var/service/ntpd; then
                echo "Reconfiguring ntp"
                mkdir -p "$dir_ntpconf" 2>/dev/null
                cp "$file_ntpconf" "$dir_ntpconf/$file_ntpconf"
-               sv t /var/service/ntpd
-               sv u /var/service/ntpd
+               svc -t ntpd
+               svc -u ntpd
        fi
 fi
index 5e7667a2d672fa7eba07415bf4bb7a8b6c6925da..8ce188336bfcc928f2254923aca776af5319fd20 100755 (executable)
@@ -14,4 +14,4 @@ rm "$file_ipconf"
 rm "$file_ntpconf"
 rm "$dir_ipconf/$file_ipconf"
 rm "$dir_ntpconf/$file_ntpconf"
-sv u /var/service/fw
+svc -u fw
index 8aca90c1a05a2462769f2549760bb27c53b1f7a7..25341243fbeae124fd46224ef59af6d2d7a42f6b 100755 (executable)
@@ -21,9 +21,9 @@ if test -f "$0.log"; then
        mv "$0.log.new" "$0.log"
 fi
 
-test -f "/var/service/dhcp_$if/env.out" || exec env - sleep "$ping_time"
+test -f "../dhcp_$if/env.out" || exec env - sleep "$ping_time"
 
-. "/var/service/dhcp_$if/env.out"
+. "../dhcp_$if/env.out"
 test x"$router" != x"" || exec env - sleep "$ping_time"
 
 #msg "Pinging $router"
@@ -36,12 +36,12 @@ while true; do
        env - sleep "$retry_time"
 done
 
-test -d "/var/service/dhcp_$if" && {
-       msg "Restarting /var/service/dhcp_$if"
-       sv t "/var/service/dhcp_$if"
+test -d "../dhcp_$if" && {
+       msg "Restarting dhcp_$if"
+       svc -t "dhcp_$if"
 }
-test -d "/var/service/supplicant_$if" && {
-       msg "Restarting /var/service/supplicant_$if"
-       sv t "/var/service/supplicant_$if"
+test -d "../supplicant_$if" && {
+       msg "Restarting supplicant_$if"
+       svc -t "supplicant_$if"
 }
 exec env - sleep "$ping_time"
index 68313605f788f34da1ee77789072c5cfad3c23de..c39fe6e43bec73a850fbcfdb41970151680b525e 100644 (file)
@@ -35,4 +35,4 @@ $empty && echo "server=8.8.8.8"
 $empty && echo "server=8.8.4.4"
 
 # SIGHUP: make dnsmasq reload config
-sv h dnsmasq
+svc -h dnsmasq
index 1fd71cc010eeb5f68493789a6a16468b45d25cd7..41078d0ab5833df917c307bc4d3a36ac904168b5 100755 (executable)
@@ -8,7 +8,7 @@ extif="if"
 ext_open_tcp="22 80 88" # space-separated
 
 # Make ourself one-shot
-sv o .
+svc -o .
 # Debug
 #date '+%Y-%m-%d %H:%M:%S' >>"$0.log"
 
index 6f2a681883ad081ae889ad97d3a0224e9b425dd7..5c90aad412c016c8fed48b8458788e8640c93c8b 100755 (executable)
@@ -6,12 +6,22 @@ exec 2>&1
 exec </dev/null
 
 user=root
+start_delay=15
+net_down_delay=5
 pool="us.pool.ntp.org" # replace "us" with your country code
 
 service="${PWD##*/}"
 rundir="/var/run/service/$service"
 default_p_opt="-p 0.$pool -p 1.$pool -p 2.$pool -p 3.$pool"
 
+echo "* Checking network"
+test -f /var/run/service/fw/up || exec sleep $net_down_delay
+
+# With multiple interfaces (e.g. wired+wireless) going up,
+# networking scripts may restart ntpd service several times
+# in quick succession. Do not be too eager to start sending
+# NTP requests:
+sleep $start_delay
 
 # Make sure rundir/ exists
 mkdir -p "$rundir" 2>/dev/null
@@ -20,30 +30,25 @@ chmod -R a=rX "$rundir"
 rm -rf rundir 2>/dev/null
 ln -s "$rundir" rundir
 
-
-echo "* Checking network"
-test -f /var/run/service/fw/up || exec sleep 7
-sleep 5  # to let it settle
-
 # Grab config from dhcp
 cfg=-1
 for f in rundir/*.ntpconf; do
-        test -f "$f" || continue
-        . "$f"
+       test -f "$f" || continue
+       . "$f"
 done
 
 # Select peers
 p_opt=""
 cfg=0
 while test x"${ntpip[$cfg]}" != x""; do
-        p_opt="$p_opt -p ${ntpip[$cfg]}"
-        let cfg=cfg+1
+       p_opt="$p_opt -p ${ntpip[$cfg]}"
+       let cfg=cfg+1
 done
 test x"$p_opt" == x"" && p_opt="$default_p_opt"
 
 if test x"$p_opt" == x""; then
        echo "* No NTP peers configured, stopping"
-       sv o .
+       svc -o .
        exec sleep 1
 fi
 
index 95995cf5f1c9fe93783b4270dab8ded5f321ac4d..7955cf3b8f941b4b8bf027ec0854b234c7a9cade 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# executed when service is taken down ("sv d .")
+# executed when service is taken down
 
 service=${PWD##*/}
 file_ipconf="$service.ipconf"
@@ -10,4 +10,4 @@ echo "Finish: deconfiguring"
 rm "env.out"
 rm "$file_ipconf"
 rm "$dir_ipconf/$file_ipconf"
-sv u /var/service/fw
+svc -u fw
index 3c6ca788bdbda394f8b73412a4fdfdb1b52c213c..625450f7bc3e5fbaa553814321ddb2344f722b8e 100755 (executable)
@@ -28,7 +28,7 @@ if test x"$1" != x"config"; then
        echo "Deconfiguring"
        rm "$file_ipconf"
        rm "$dir_ipconf/$file_ipconf"
-       sv u /var/service/fw
+       svc -u fw
        exit
 fi
 
@@ -43,5 +43,5 @@ if test $? != 0; then
        echo "Reconfiguring fw"
        mkdir -p "$dir_ipconf" 2>/dev/null
        cp "$file_ipconf" "$dir_ipconf/$file_ipconf"
-       sv u /var/service/fw
+       svc -u fw
 fi