[Buildroot] [PATCH 5/5] Add the systemd units files to openssh
Maxime Ripard
maxime.ripard at free-electrons.com
Fri Feb 3 14:27:27 UTC 2012
Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
---
package/openssh/openssh.mk | 19 ++++++++++++++++---
package/openssh/sshd.socket | 9 +++++++++
package/openssh/sshd at .service | 7 +++++++
3 files changed, 32 insertions(+), 3 deletions(-)
create mode 100644 package/openssh/sshd.socket
create mode 100644 package/openssh/sshd at .service
diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
index 08bb499..652e1d1 100644
--- a/package/openssh/openssh.mk
+++ b/package/openssh/openssh.mk
@@ -12,10 +12,23 @@ OPENSSH_CONF_OPT = --libexecdir=/usr/lib --disable-lastlog --disable-utmp \
OPENSSH_DEPENDENCIES = zlib openssl
-define OPENSSH_INSTALL_INITSCRIPT
- $(INSTALL) -D -m 755 package/openssh/S50sshd $(TARGET_DIR)/etc/init.d/S50sshd
+define OPENSSH_INSTALL_INIT_SYSV
+if [! -f $(TARGET_DIR)/etc/init.d/S50sshd ]; then \
+ $(INSTALL) -D -m 755 package/openssh/S50sshd $(TARGET_DIR)/etc/init.d/S50sshd; \
+fi;
endef
-OPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_INSTALL_INITSCRIPT
+define OPENSSH_INSTALL_INIT_SYSTEMD
+[ -f $(TARGET_DIR)/etc/systemd/system/sshd.socket ] || \
+ $(INSTALL) -D -m 755 package/openssh/sshd.socket \
+ $(TARGET_DIR)/etc/systemd/system/sshd.socket
+
+[ -f $(TARGET_DIR)/etc/systemd/system/sshd at .service ] || \
+ $(INSTALL) -D -m 755 package/openssh/sshd at .service \
+ $(TARGET_DIR)/etc/systemd/system/sshd at .service
+
+mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants
+ln -fs ../sshd.socket $(TARGET_DIR)/etc/systemd/system/sockets.target.wants/sshd.socket
+endef
$(eval $(call AUTOTARGETS))
diff --git a/package/openssh/sshd.socket b/package/openssh/sshd.socket
new file mode 100644
index 0000000..fd68407
--- /dev/null
+++ b/package/openssh/sshd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=sshd.service
+
+[Socket]
+ListenStream=22
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/package/openssh/sshd at .service b/package/openssh/sshd at .service
new file mode 100644
index 0000000..b81d471
--- /dev/null
+++ b/package/openssh/sshd at .service
@@ -0,0 +1,7 @@
+[Unit]
+Description=SSH Per-Connection Server
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/sshd -i
+StandardInput=socket
--
1.7.5.4
More information about the buildroot
mailing list