diff options
| author | root <root@miefda901.localdomain> | 2011-05-26 15:52:03 +0200 | 
|---|---|---|
| committer | root <root@miefda901.localdomain> | 2011-05-26 15:52:03 +0200 | 
| commit | 6197a76a6aee4b49afe951291f46fb3318188f30 (patch) | |
| tree | 3b580f20124908742c8154f109f74a8a99a1ef65 /hosts/.scripts/autostart | |
| parent | da1225c14e10fd94ed956a08c7bd5ddf99ee9a75 (diff) | |
| parent | b3b1187e2d1cb615405851174f044882346a6815 (diff) | |
Merge branch 'master' of github.com:miefda/retiolum
Diffstat (limited to 'hosts/.scripts/autostart')
| -rw-r--r-- | hosts/.scripts/autostart/Makefile | 8 | ||||
| -rwxr-xr-x | hosts/.scripts/autostart/tinc | 94 | 
2 files changed, 102 insertions, 0 deletions
| diff --git a/hosts/.scripts/autostart/Makefile b/hosts/.scripts/autostart/Makefile new file mode 100644 index 00000000..7ca589e1 --- /dev/null +++ b/hosts/.scripts/autostart/Makefile @@ -0,0 +1,8 @@ +INIT_FOLDER=/etc/init.d +.phony: all +all: +	#TODO change the tinc file before writing +	cp tinc $(INIT_FOLDER)/tinc +	chmod +x $(INIT_FOLDER)/tinc +	echo "retiolum" > /etc/tinc/nets.boot +	update-rc.d tinc defaults diff --git a/hosts/.scripts/autostart/tinc b/hosts/.scripts/autostart/tinc new file mode 100755 index 00000000..12e77d6a --- /dev/null +++ b/hosts/.scripts/autostart/tinc @@ -0,0 +1,94 @@ +#! /bin/sh +# +### BEGIN INIT INFO +# Provides:          tinc +# Required-Start:    $remote_fs $network +# Required-Stop:     $remote_fs $network +# Should-Start:      $syslog $named +# Should-Stop:       $syslog +# Default-Start:     2 3 4 5 +# Default-Stop:      0 1 6 +# Short-Description: Start tinc daemons +# Description:       Create a file $NETSFILE (/etc/tinc/nets.boot), +#                    and put all the names of the networks in there. +#                    These names must be valid directory names under +#                    $TCONF (/etc/tinc). Lines starting with a # will be +#                    ignored in this file. +### END INIT INFO +# +# Based on Lubomir Bulej's Redhat init script. + +DAEMON="/usr/sbin/tincd" +NAME="tinc" +DESC="tinc daemons" +TCONF="/etc/tinc" +NETSFILE="$TCONF/nets.boot" +NETS="" + +modprobe tun + +test -f $DAEMON || exit 0 + +[ -r /etc/default/tinc ] && . /etc/default/tinc + +# foreach_net "what-to-say" action [arguments...] +foreach_net() { +  if [ ! -f $NETSFILE ] ; then +    echo "Please create $NETSFILE." +    exit 0 +  fi +  echo -n "$1" +  shift +  egrep '^[ ]*[a-zA-Z0-9_-]+' $NETSFILE | while read net args; do +    echo -n " $net" +    "$@" $net $args +  done +  echo "." +} + +start() { +  $DAEMON $EXTRA -n "$@" +} +stop() { +  $DAEMON -n $1 -k +} +reload() { +  $DAEMON -n $1 -kHUP +} +restart() { +  stop "$@" +  sleep 0.5 +  i=0; +  while [ -f /var/run/tinc.$1.pid ] ; do +  if [ $i = '10' ] ; then +    break +  else +    echo -n "." +    sleep 0.5 +    i=$(($i+1)) +  fi     +  done +  start "$@" +} + +case "$1" in +  start) +    foreach_net "Starting $DESC:" start +  ;; +  stop) +    foreach_net "Stopping $DESC:" stop +  ;; +  reload|force-reload) +    foreach_net "Reloading $DESC configuration:" reload +  ;; +  restart) +    foreach_net "Restarting $DESC:" restart +  ;; +  *) +    echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}" +    exit 1 +  ;; +esac + +exit 0 + | 
