chiark / gitweb /
configure.ac: Abolish use of `libtool'.
[tripe] / contrib / tripe.service.in
1 ;;; -*-conf-windows-*-
2 ;;;
3 ;;; systemd service configuration for the main tripe server.
4
5 [Unit]
6 Description=Tripe virtual private network server
7 Documentation=man:tripe(8)
8
9 ConditionPathExists=@sbindir@/tripe
10 ConditionPathExists=@bindir@/tripectl
11
12 After=syslog.target network.target
13
14 [Install]
15 WantedBy=multi-user.target
16
17 [Service]
18 Type=forking
19 PIDFile=/var/run/tripectl.pid
20
21 ExecStart=/bin/sh -e -c ' \
22         . @initconfig@ && \
23         logopt= && \
24         case $${syslogp-nil} in nil) ;; *) logopt="$$logopt -l" ;; esac && \
25         case $${logfile+t},$${syslogp-nil} in \
26           t,*) logopt="$$logopt -f$$logfile" ;; \
27           ,nil) logopt="$$logopt -f@logfile@" ;; \
28         esac && \
29         exec @bindir@/tripectl -D -s -p@sbindir@/tripe \
30           -P/var/run/tripectl.pid \
31           $$logopt \
32           $${keytag+-S-t$$keytag} \
33           $${addr+-S-b$$addr} $${port+-S-p$$port} \
34           $${user+-U$$user} $${group+-G$$group} \
35           $${sockmode+-S-m$$sockmode} \
36           $${trace+-S-t$$trace} \
37           $${tunnel+-S-n$$tunnel} \
38           $$miscopts'
39
40 ExecReload=@bindir@/tripectl RELOAD
41 ExecStop=@bindir@/tripectl QUIT
42
43 ExecStartPre=/bin/sh -e -c ' \
44         if { test -f /proc/misc && grep -q tun /proc/misc; } || \
45            modprobe -q tun; \
46         then \
47           : good; \
48         else \
49           echo >&2 "tripe needs the TUN/TAP driver"; exit 1; \
50         fi; \
51         if test -c /dev/net/tun; then \
52           : good; \
53         else \
54           echo >&2 "tripe needs /dev/net/tun, which is missing"; \
55           exit 1; \
56         fi'
57
58 ExecStartPost=/bin/sh -e -c ' \
59         for i in 1 2 3 4 give-up; do \
60           @bindir@/tripectl HELP >/dev/null 2>&1 && break; \
61           sleep 1; \
62         done; \
63         case $$i in \
64           give-up) echo >&2 "tripe daemon failed to start"; exit 1 ;; \
65         esac'