[OE-core] [PATCH 3/5] openssh: fixes for systemd

Chen Qi Qi.Chen at windriver.com
Fri Jan 17 06:46:36 UTC 2014


This patch contains a few fixes for the systemd unit files of openssh.
The fixes use the same unit files in Fedora 20 as a reference.

1) Remove sshdgenkeys.service and sshd at .service from SYSTEMD_SERVICE.
2) Fix the dependency and logic of sshdgenkeys.service.

Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
 .../openssh/openssh-6.4p1/sshd.socket              |    1 -
 .../openssh/openssh-6.4p1/sshd at .service            |    1 +
 .../openssh/openssh-6.4p1/sshdgenkeys.service      |    8 ++++----
 meta/recipes-connectivity/openssh/openssh_6.4p1.bb |    4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd.socket b/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd.socket
index d19ab2a..12c39b2 100644
--- a/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd.socket
+++ b/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd.socket
@@ -8,4 +8,3 @@ Accept=yes
 
 [Install]
 WantedBy=sockets.target
-Also=sshdgenkeys.service
diff --git a/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd at .service b/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd at .service
index 64e009f..4eda659 100644
--- a/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd at .service
+++ b/meta/recipes-connectivity/openssh/openssh-6.4p1/sshd at .service
@@ -1,5 +1,6 @@
 [Unit]
 Description=OpenSSH Per-Connection Daemon
+Wants=sshdgenkeys.service
 After=sshdgenkeys.service
 
 [Service]
diff --git a/meta/recipes-connectivity/openssh/openssh-6.4p1/sshdgenkeys.service b/meta/recipes-connectivity/openssh/openssh-6.4p1/sshdgenkeys.service
index 2fd8a9a..c21d70b 100644
--- a/meta/recipes-connectivity/openssh/openssh-6.4p1/sshdgenkeys.service
+++ b/meta/recipes-connectivity/openssh/openssh-6.4p1/sshdgenkeys.service
@@ -1,10 +1,10 @@
 [Unit]
-Description=SSH Key Generation
+Description=OpenSSH Key Generation
+ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
 
 [Service]
 ExecStart=@BINDIR@/ssh-keygen -A
 Type=oneshot
 RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/openssh/openssh_6.4p1.bb b/meta/recipes-connectivity/openssh/openssh_6.4p1.bb
index c61d16f..1f78566 100644
--- a/meta/recipes-connectivity/openssh/openssh_6.4p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_6.4p1.bb
@@ -44,7 +44,7 @@ INITSCRIPT_NAME_${PN}-sshd = "sshd"
 INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
 
 SYSTEMD_PACKAGES = "${PN}-sshd"
-SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket sshd at .service sshdgenkeys.service"
+SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
 
 PACKAGECONFIG ??= "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,,tcp-wrappers"
@@ -114,7 +114,7 @@ ALLOW_EMPTY_${PN} = "1"
 PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
 FILES_${PN}-scp = "${bindir}/scp.${BPN}"
 FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
-FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd"
+FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
 FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd"
 FILES_${PN}-sftp = "${bindir}/sftp"
 FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
-- 
1.7.9.5




More information about the Openembedded-core mailing list