diff options
Diffstat (limited to 'retiolum/hosts/.scripts')
-rw-r--r-- | retiolum/hosts/.scripts/autostart/Makefile | 7 | ||||
-rw-r--r-- | retiolum/hosts/.scripts/autostart/tinc | 92 | ||||
-rwxr-xr-x | retiolum/hosts/.scripts/tinc_multicast/retiolum | 34 |
3 files changed, 133 insertions, 0 deletions
diff --git a/retiolum/hosts/.scripts/autostart/Makefile b/retiolum/hosts/.scripts/autostart/Makefile new file mode 100644 index 00000000..58bfc0c5 --- /dev/null +++ b/retiolum/hosts/.scripts/autostart/Makefile @@ -0,0 +1,7 @@ +INIT_FOLDER=/etc/rc.d +.phony: all +all: + #TODO change the tinc file before writing + cp tinc $(INIT_FOLDER)/tinc + echo "retiolum" > /etc/tinc/nets.boot + update-rc.d tinc defaults diff --git a/retiolum/hosts/.scripts/autostart/tinc b/retiolum/hosts/.scripts/autostart/tinc new file mode 100644 index 00000000..06d10403 --- /dev/null +++ b/retiolum/hosts/.scripts/autostart/tinc @@ -0,0 +1,92 @@ +#! /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="" + +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 + diff --git a/retiolum/hosts/.scripts/tinc_multicast/retiolum b/retiolum/hosts/.scripts/tinc_multicast/retiolum new file mode 100755 index 00000000..1d6b775f --- /dev/null +++ b/retiolum/hosts/.scripts/tinc_multicast/retiolum @@ -0,0 +1,34 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +TINCNAME='retiolum' +case "$1" in + start) + stat_busy "Starting retiolum Daemon" + success=0 + /home/death/git/retiolum/.scripts/tinc_multicast/retiolum.py -n retiolum -T & + sleep 2 + if [ $success -eq 0 ]; then + add_daemon retiolum + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Stopping retiolum Daemon" + kill `cat /var/lock/retiolum.retiolum` + rm_daemon retiolum + stat_done + ;; + restart) + $0 stop + sleep 4 + $0 start + ;; + *) + echo "usage $0 {startĀ¦stopĀ¦restart}" +esac +exit 0 |