openssh: add systemd unit file
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Wed, 4 Dec 2013 10:37:53 +0000 (07:37 -0300)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 4 Dec 2013 10:50:51 +0000 (11:50 +0100)
And only install sysV-style script when appropiate.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/openssh/openssh.mk
package/openssh/sshd.service [new file with mode: 0644]

index 8ab2b476ed2f6dcfd2631e030cdd7e5700f41104..60b65af33107829995db996a7e701b04cfc00459 100644 (file)
@@ -17,10 +17,17 @@ OPENSSH_DEPENDENCIES += linux-pam
 OPENSSH_CONF_OPT += --with-pam
 endif
 
-define OPENSSH_INSTALL_INITSCRIPT
-       $(INSTALL) -D -m 755 package/openssh/S50sshd $(TARGET_DIR)/etc/init.d/S50sshd
+define OPENSSH_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/openssh/sshd.service \
+               $(TARGET_DIR)/etc/systemd/system/sshd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -fs ../sshd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/sshd.service
 endef
 
-OPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_INSTALL_INITSCRIPT
+define OPENSSH_INSTALL_INIT_SYSV
+       $(INSTALL) -D -m 755 package/openssh/S50sshd \
+               $(TARGET_DIR)/etc/init.d/S50sshd
+endef
 
 $(eval $(autotools-package))
diff --git a/package/openssh/sshd.service b/package/openssh/sshd.service
new file mode 100644 (file)
index 0000000..b5e96b3
--- /dev/null
@@ -0,0 +1,11 @@
+[Unit]
+Description=OpenSSH server daemon
+After=syslog.target network.target auditd.service
+
+[Service]
+ExecStartPre=/usr/bin/ssh-keygen -A
+ExecStart=/usr/sbin/sshd -D -e
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target