diff mbox

[PATCHv4] openssh: add systemd unit file

Message ID 1384950476-12348-1-git-send-email-gustavo@zacarias.com.ar
State Superseded
Headers show

Commit Message

Gustavo Zacarias Nov. 20, 2013, 12:27 p.m. UTC
And only install sysV-style script when appropiate.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/openssh/openssh.mk   | 13 ++++++++++---
 package/openssh/sshd.service | 11 +++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)
 create mode 100644 package/openssh/sshd.service

Comments

Samuel Martin Dec. 4, 2013, 10:08 a.m. UTC | #1
Hi Gustavo,

2013/11/20 Gustavo Zacarias <gustavo@zacarias.com.ar>

> And only install sysV-style script when appropiate.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
>  package/openssh/openssh.mk   | 13 ++++++++++---
>  package/openssh/sshd.service | 11 +++++++++++
>  2 files changed, 21 insertions(+), 3 deletions(-)
>  create mode 100644 package/openssh/sshd.service
>
> diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
> index 8ab2b47..faf2368 100644
> --- a/package/openssh/openssh.mk
> +++ b/package/openssh/openssh.mk
> @@ -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 755 package/openssh/sshd.service \
>
Any specific reason to make sshd.service executable?


> +               $(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
> index 0000000..b5e96b3
> --- /dev/null
> +++ b/package/openssh/sshd.service
> @@ -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
> --
> 1.8.3.2
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>

Otherwise, it looks good to me.

Regards,
Gustavo Zacarias Dec. 4, 2013, 10:19 a.m. UTC | #2
On 12/04/2013 07:08 AM, Samuel Martin wrote:
> Any specific reason to make sshd.service executable?

Inertia from looking at what the lightttpd package does (755 also).
But yes, that's wrong, i'll fix both.
Regards.
diff mbox

Patch

diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
index 8ab2b47..faf2368 100644
--- a/package/openssh/openssh.mk
+++ b/package/openssh/openssh.mk
@@ -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 755 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
index 0000000..b5e96b3
--- /dev/null
+++ b/package/openssh/sshd.service
@@ -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