summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorLorenzo Puliti <lorenzo.ru.g@gmail.com>2019-08-05 20:24:41 +0200
committerLorenzo Puliti <lorenzo.ru.g@gmail.com>2019-08-12 12:22:32 +0200
commitb48697c64a0ac57eed494104f4c82d61f5b6fc89 (patch)
tree214ead8943ac5a2b96a3a6221709e4178fc4d3a4 /debian
parente5fc16844f5772a12808e22a72c0ee50977c4e60 (diff)
Add a runscript for runit
Add a 'run' and a 'finish' script for runit init system; rely on dh-runit for maintscript code.
Diffstat (limited to 'debian')
-rw-r--r--debian/control2
-rw-r--r--debian/openssh-server.runit1
-rw-r--r--debian/openssh-server.ssh.runscript/finish16
-rw-r--r--debian/openssh-server.ssh.runscript/run20
-rwxr-xr-xdebian/rules2
5 files changed, 40 insertions, 1 deletions
diff --git a/debian/control b/debian/control
index c690df075..4ecf5abed 100644
--- a/debian/control
+++ b/debian/control
@@ -7,6 +7,7 @@ Build-Depends: autotools-dev,
7 debhelper-compat (= 9), 7 debhelper-compat (= 9),
8 dh-autoreconf, 8 dh-autoreconf,
9 dh-exec, 9 dh-exec,
10 dh-runit(>=2.8.8),
10 dpkg-dev (>= 1.16.1~), 11 dpkg-dev (>= 1.16.1~),
11 libaudit-dev [linux-any], 12 libaudit-dev [linux-any],
12 libedit-dev, 13 libedit-dev,
@@ -92,6 +93,7 @@ Conflicts: sftp,
92Replaces: openssh-client (<< 1:7.9p1-8), 93Replaces: openssh-client (<< 1:7.9p1-8),
93 ssh, 94 ssh,
94 ssh-krb5, 95 ssh-krb5,
96Breaks: ${runit:Breaks},
95Suggests: molly-guard, 97Suggests: molly-guard,
96 monkeysphere, 98 monkeysphere,
97 rssh, 99 rssh,
diff --git a/debian/openssh-server.runit b/debian/openssh-server.runit
new file mode 100644
index 000000000..cb659a00b
--- /dev/null
+++ b/debian/openssh-server.runit
@@ -0,0 +1 @@
debian/openssh-server.ssh.runscript logscript,name=ssh,since=1:8.0p1-5
diff --git a/debian/openssh-server.ssh.runscript/finish b/debian/openssh-server.ssh.runscript/finish
new file mode 100644
index 000000000..7e29ef1db
--- /dev/null
+++ b/debian/openssh-server.ssh.runscript/finish
@@ -0,0 +1,16 @@
1#!/bin/sh
2set -e
3
4NAME=ssh
5
6[ $1 = -1 ] && echo "runsv: ERROR in $NAME: unexpected error or wrong sh syntax"
7# no need to stop the service here, runsv will stop trying after the first attempt
8
9[ $1 = 161 ] && echo "runsv: ERROR $1 in $NAME: disabled by local settings" \
10 && sv d $(dirname $0) && exit 0
11
12[ $1 = 162 ] && echo "runsv: ERROR $1 in $NAME: configtest or early setup failed" \
13 && sv d $(dirname $0) && exit 0
14
15echo "$NAME Stopped"
16
diff --git a/debian/openssh-server.ssh.runscript/run b/debian/openssh-server.ssh.runscript/run
new file mode 100644
index 000000000..f9b08a871
--- /dev/null
+++ b/debian/openssh-server.ssh.runscript/run
@@ -0,0 +1,20 @@
1#!/usr/bin/env /lib/runit/invoke-run
2set -e
3
4NAME="ssh"
5
6sv start auditd || sv check auditd || true
7
8# don't start if 'sshd_not_to_be_start' exists
9test -e /etc/ssh/sshd_not_to_be_run && exit 161
10
11#Create /run/sshd
12test -d /run/sshd || mkdir /run/sshd && chmod 0755 /run/sshd
13
14exec 2>&1
15
16#Config test
17/usr/sbin/sshd -t || exit 162
18
19echo "Starting $NAME..."
20exec /usr/sbin/sshd -D -e $SSHD_OPTS
diff --git a/debian/rules b/debian/rules
index 550306d4f..4208569e2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -106,7 +106,7 @@ confflags += --with-ldflags='$(strip -Wl,--as-needed $(LDFLAGS))'
106confflags_udeb += --with-ldflags='-Wl,--as-needed' 106confflags_udeb += --with-ldflags='-Wl,--as-needed'
107 107
108%: 108%:
109 dh $@ --with=autoreconf,systemd 109 dh $@ --with=autoreconf,systemd,runit
110 110
111autoreconf: 111autoreconf:
112 autoreconf -f -i 112 autoreconf -f -i