Selaa lähdekoodia

inadyn init uses systemd

Bob Mottram 10 vuotta sitten
vanhempi
commit
528b79b12f
1 muutettua tiedostoa jossa 14 lisäystä ja 127 poistoa
  1. 14
    127
      src/freedombone

+ 14
- 127
src/freedombone Näytä tiedosto

@@ -8764,7 +8764,7 @@ function install_dynamicdns {
8764 8764
   fi
8765 8765
 
8766 8766
   # Here we compile from source because the current package
8767
-  # doesn't support https, which clould result in passwords
8767
+  # doesn't support https, which could result in passwords
8768 8768
   # being leaked
8769 8769
 
8770 8770
   apt-get -y install build-essential curl libgnutls28-dev automake1.11
@@ -8802,132 +8802,19 @@ function install_dynamicdns {
8802 8802
       mkdir /etc/inadyn
8803 8803
   fi
8804 8804
 
8805
-  # add an init script
8806
-  echo '#!/bin/sh' > /etc/init.d/inadyn
8807
-  echo '### BEGIN INIT INFO' >> /etc/init.d/inadyn
8808
-  echo '# Provides:          inadyn' >> /etc/init.d/inadyn
8809
-  echo '# Required-Start:    $network $local_fs $remote_fs $syslog' >> /etc/init.d/inadyn
8810
-  echo '# Required-Stop:     $network $local_fs $remote_fs $syslog' >> /etc/init.d/inadyn
8811
-  echo '# Default-Start:     2 3 4 5' >> /etc/init.d/inadyn
8812
-  echo '# Default-Stop:      0 1 6' >> /etc/init.d/inadyn
8813
-  echo '# Short-Description: Dynamic DNS client' >> /etc/init.d/inadyn
8814
-  echo '# Description:       Register an Internet name with your IP address' >> /etc/init.d/inadyn
8815
-  echo '### END INIT INFO' >> /etc/init.d/inadyn
8816
-  echo '' >> /etc/init.d/inadyn
8817
-  echo '# Author: Timur Birsh <taem@linukz.org>' >> /etc/init.d/inadyn
8818
-  echo '' >> /etc/init.d/inadyn
8819
-  echo 'PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/local/bin:/usr/bin' >> /etc/init.d/inadyn
8820
-  echo 'DESC="Dynamic DNS client"' >> /etc/init.d/inadyn
8821
-  echo 'NAME=inadyn' >> /etc/init.d/inadyn
8822
-  echo 'DAEMON=/usr/local/sbin/inadyn' >> /etc/init.d/inadyn
8823
-  echo 'CACHEDIR=/run/$NAME' >> /etc/init.d/inadyn
8824
-  echo 'PIDFILE=$CACHEDIR/$NAME.pid' >> /etc/init.d/inadyn
8825
-  echo 'SCRIPTNAME=/etc/init.d/$NAME' >> /etc/init.d/inadyn
8826
-  echo 'DEFAULT=/etc/default/$NAME' >> /etc/init.d/inadyn
8827
-  echo 'CONFIG=/etc/$NAME.conf' >> /etc/init.d/inadyn
8828
-  echo '' >> /etc/init.d/inadyn
8829
-  echo '[ -x $DAEMON ] || exit 0' >> /etc/init.d/inadyn
8830
-  echo '' >> /etc/init.d/inadyn
8831
-  echo '[ -r $DEFAULT ] && . $DEFAULT' >> /etc/init.d/inadyn
8832
-  echo '' >> /etc/init.d/inadyn
8833
-  echo '. /lib/lsb/init-functions' >> /etc/init.d/inadyn
8834
-  echo '' >> /etc/init.d/inadyn
8835
-  echo '# Set defaults values if no DEFAULT exist' >> /etc/init.d/inadyn
8836
-  echo 'RUN_DAEMON="yes"' >> /etc/init.d/inadyn
8837
-  echo 'USER=root' >> /etc/init.d/inadyn
8838
-  echo 'GROUP=root' >> /etc/init.d/inadyn
8839
-  echo '' >> /etc/init.d/inadyn
8840
-  echo 'DAEMON_ARGS="--pidfile $PIDFILE \' >> /etc/init.d/inadyn
8841
-  echo '             --config $CONFIG \' >> /etc/init.d/inadyn
8842
-  echo '             --background \' >> /etc/init.d/inadyn
8843
-  echo '             --drop-privs $USER:$GROUP"' >> /etc/init.d/inadyn
8844
-  echo '' >> /etc/init.d/inadyn
8845
-  echo 'create_cache_dir() {' >> /etc/init.d/inadyn
8846
-  echo '    # Create the cache empty dir if necessary' >> /etc/init.d/inadyn
8847
-  echo '    if [ ! -d $CACHEDIR ]; then' >> /etc/init.d/inadyn
8848
-  echo '        mkdir $CACHEDIR' >> /etc/init.d/inadyn
8849
-  echo '        chmod 0755 $CACHEDIR' >> /etc/init.d/inadyn
8850
-  echo '    chown $USER:$GROUP $CACHEDIR' >> /etc/init.d/inadyn
8851
-  echo '    fi' >> /etc/init.d/inadyn
8852
-  echo '}' >> /etc/init.d/inadyn
8853
-  echo '' >> /etc/init.d/inadyn
8854
-  echo 'do_start()' >> /etc/init.d/inadyn
8855
-  echo '{' >> /etc/init.d/inadyn
8856
-  echo '    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \' >> /etc/init.d/inadyn
8857
-  echo '        || return 1' >> /etc/init.d/inadyn
8858
-  echo '    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \' >> /etc/init.d/inadyn
8859
-  echo '        $DAEMON_ARGS \' >> /etc/init.d/inadyn
8860
-  echo '        || return 2' >> /etc/init.d/inadyn
8861
-  echo '}' >> /etc/init.d/inadyn
8862
-  echo '' >> /etc/init.d/inadyn
8863
-  echo 'do_stop()' >> /etc/init.d/inadyn
8864
-  echo '{' >> /etc/init.d/inadyn
8865
-  echo '    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME' >> /etc/init.d/inadyn
8866
-  echo '    RETVAL="$?"' >> /etc/init.d/inadyn
8867
-  echo '    [ "$RETVAL" = 2 ] && return 2' >> /etc/init.d/inadyn
8868
-  echo '    rm -f $PIDFILE' >> /etc/init.d/inadyn
8869
-  echo '    return "$RETVAL"' >> /etc/init.d/inadyn
8870
-  echo '}' >> /etc/init.d/inadyn
8871
-  echo '' >> /etc/init.d/inadyn
8872
-  echo 'do_reload() {' >> /etc/init.d/inadyn
8873
-  echo '    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME' >> /etc/init.d/inadyn
8874
-  echo '    return 0' >> /etc/init.d/inadyn
8875
-  echo '}' >> /etc/init.d/inadyn
8876
-  echo '' >> /etc/init.d/inadyn
8877
-  echo 'case "$1" in' >> /etc/init.d/inadyn
8878
-  echo '  start)' >> /etc/init.d/inadyn
8879
-  echo '    log_daemon_msg "Starting $DESC " "$NAME"' >> /etc/init.d/inadyn
8880
-  echo '    create_cache_dir' >> /etc/init.d/inadyn
8881
-  echo '    do_start' >> /etc/init.d/inadyn
8882
-  echo '    case "$?" in' >> /etc/init.d/inadyn
8883
-  echo '        0|1) log_end_msg 0 ;;' >> /etc/init.d/inadyn
8884
-  echo '        2) log_end_msg 1 ;;' >> /etc/init.d/inadyn
8885
-  echo '    esac' >> /etc/init.d/inadyn
8886
-  echo '  ;;' >> /etc/init.d/inadyn
8887
-  echo '  stop)' >> /etc/init.d/inadyn
8888
-  echo '    log_daemon_msg "Stopping $DESC" "$NAME"' >> /etc/init.d/inadyn
8889
-  echo '    do_stop' >> /etc/init.d/inadyn
8890
-  echo '    case "$?" in' >> /etc/init.d/inadyn
8891
-  echo '        0|1) log_end_msg 0 ;;' >> /etc/init.d/inadyn
8892
-  echo '        2) log_end_msg 1 ;;' >> /etc/init.d/inadyn
8893
-  echo '    esac' >> /etc/init.d/inadyn
8894
-  echo '    ;;' >> /etc/init.d/inadyn
8895
-  echo '  status)' >> /etc/init.d/inadyn
8896
-  echo '       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?' >> /etc/init.d/inadyn
8897
-  echo '       ;;' >> /etc/init.d/inadyn
8898
-  echo '  reload|force-reload)' >> /etc/init.d/inadyn
8899
-  echo '    log_daemon_msg "Reloading $DESC" "$NAME"' >> /etc/init.d/inadyn
8900
-  echo '    do_reload' >> /etc/init.d/inadyn
8901
-  echo '    log_end_msg $?' >> /etc/init.d/inadyn
8902
-  echo '    ;;' >> /etc/init.d/inadyn
8903
-  echo '  restart)' >> /etc/init.d/inadyn
8904
-  echo '    log_daemon_msg "Restarting $DESC" "$NAME"' >> /etc/init.d/inadyn
8905
-  echo '    do_stop' >> /etc/init.d/inadyn
8906
-  echo '    case "$?" in' >> /etc/init.d/inadyn
8907
-  echo '      0|1)' >> /etc/init.d/inadyn
8908
-  echo '        do_start' >> /etc/init.d/inadyn
8909
-  echo '        case "$?" in' >> /etc/init.d/inadyn
8910
-  echo '            0) log_end_msg 0 ;;' >> /etc/init.d/inadyn
8911
-  echo '            1) log_end_msg 1 ;; # Old process is still running' >> /etc/init.d/inadyn
8912
-  echo '            *) log_end_msg 1 ;; # Failed to start' >> /etc/init.d/inadyn
8913
-  echo '        esac' >> /etc/init.d/inadyn
8914
-  echo '        ;;' >> /etc/init.d/inadyn
8915
-  echo '      *)' >> /etc/init.d/inadyn
8916
-  echo '        # Failed to stop' >> /etc/init.d/inadyn
8917
-  echo '        log_end_msg 1' >> /etc/init.d/inadyn
8918
-  echo '        ;;' >> /etc/init.d/inadyn
8919
-  echo '    esac' >> /etc/init.d/inadyn
8920
-  echo '    ;;' >> /etc/init.d/inadyn
8921
-  echo '  *)' >> /etc/init.d/inadyn
8922
-  echo '    echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2' >> /etc/init.d/inadyn
8923
-  echo '    exit 3' >> /etc/init.d/inadyn
8924
-  echo '    ;;' >> /etc/init.d/inadyn
8925
-  echo 'esac' >> /etc/init.d/inadyn
8926
-  echo '' >> /etc/init.d/inadyn
8927
-  echo ':' >> /etc/init.d/inadyn
8928
-  chmod +x /etc/init.d/inadyn
8929
-  update-rc.d inadyn defaults
8930
-  service inadyn start
8805
+  echo '[Unit]' > /etc/systemd/system/inadyn.service
8806
+  echo 'Description=inadyn (DynDNS updater)' >> /etc/systemd/system/inadyn.service
8807
+  echo 'After=network.target' >> /etc/systemd/system/inadyn.service
8808
+  echo '' >> /etc/systemd/system/inadyn.service
8809
+  echo '[Service]' >> /etc/systemd/system/inadyn.service
8810
+  echo 'ExecStart=/usr/local/sbin/inadyn --config /etc/inadyn.conf' >> /etc/systemd/system/inadyn.service
8811
+  echo 'Restart=always' >> /etc/systemd/system/inadyn.service
8812
+  echo 'Type=forking' >> /etc/systemd/system/inadyn.service
8813
+  echo '' >> /etc/systemd/system/inadyn.service
8814
+  echo '[Install]' >> /etc/systemd/system/inadyn.service
8815
+  echo 'WantedBy=multi-user.target' >> /etc/systemd/system/inadyn.service
8816
+  systemctl enable inadyn
8817
+  systemctl restart inadyn
8931 8818
   systemctl daemon-reload
8932 8819
 
8933 8820
   echo 'install_dynamicdns' >> $COMPLETION_FILE