[OE-core] [oe-commits] Muhammad Shakeel : openssh: Add systemd support

Muhammad Shakeel muhammad_shakeel at mentor.com
Thu Oct 24 10:19:05 UTC 2013


On 10/18/2013 03:22 PM, Martin Jansa wrote:
> On Thu, Oct 03, 2013 at 01:11:05AM +0200, Martin Jansa wrote:
>> On Tue, Sep 10, 2013 at 10:03:29PM +0000, git at git.openembedded.org wrote:
>>> Module: openembedded-core.git
>>> Branch: master
>>> Commit: 6e6445d487c033913a29763f8e3a7a339d5b612d
>>> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=6e6445d487c033913a29763f8e3a7a339d5b612d
>>>
>>> Author: Muhammad Shakeel <muhammad_shakeel at mentor.com>
>>> Date:   Wed Sep  4 11:04:59 2013 +0000
>>>
>>> openssh: Add systemd support
>>>
>>> -Remove dependency on meta-systemd
>>>
>>> Signed-off-by: Muhammad Shakeel <muhammad_shakeel at mentor.com>
>>> Signed-off-by: Saul Wold <sgw at linux.intel.com>
>>> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>>>
>>> ---
>>>
>>>   .../openssh/openssh-6.2p2/sshd.socket              |   11 +++++++++++
>>>   .../openssh/openssh-6.2p2/sshd at .service            |    9 +++++++++
>>>   .../openssh/openssh-6.2p2/sshdgenkeys.service      |   10 ++++++++++
>>>   meta/recipes-connectivity/openssh/openssh_6.2p2.bb |   19 +++++++++++++++++--
>>>   4 files changed, 47 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/recipes-connectivity/openssh/openssh_6.2p2.bb b/meta/recipes-connectivity/openssh/openssh_6.2p2.bb
>>> index c76f9ac..3a7f50d 100644
>>> --- a/meta/recipes-connectivity/openssh/openssh_6.2p2.bb
>>> +++ b/meta/recipes-connectivity/openssh/openssh_6.2p2.bb
>>> @@ -26,14 +26,17 @@ SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.
>>>              file://init \
>>>              file://openssh-CVE-2011-4327.patch \
>>>              file://mac.patch \
>>> -           ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
>>> +           ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
>>> +           file://sshd.socket \
>>> +           file://sshd@.service \
>>> +           file://sshdgenkeys.service "
>>>   
>>>   PAM_SRC_URI = "file://sshd"
>>>   
>>>   SRC_URI[md5sum] = "be46174dcbb77ebb4ea88ef140685de1"
>>>   SRC_URI[sha256sum] = "7f29b9d2ad672ae0f9e1dcbff871fc5c2e60a194e90c766432e32161b842313b"
>>>   
>>> -inherit useradd update-rc.d update-alternatives
>>> +inherit useradd update-rc.d update-alternatives systemd
>>>   
>>>   USERADD_PACKAGES = "${PN}-sshd"
>>>   USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
>>> @@ -41,6 +44,9 @@ INITSCRIPT_PACKAGES = "${PN}-sshd"
>>>   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"
>> Is it correct to use sshd at .service here?
>>
>> meta-systemd .bbappend had only sshd.socket:
>> -SYSTEMD_PACKAGES = "${PN}-sshd"
>> -SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
(Sorry for not replying earlier, your message was moved into a filtered dir)

sshd.service was running a single SSH server for all incoming 
connections, suitable only for systems with a large amount of SSH 
traffic. In almost all other cases it is a better idea to use 
sshd.socket + sshd at .service (i.e. the on-demand spawning version for one 
instance per connection).

sshd at .service should not be start/restart by systemctl by postinst and 
to achieve this, IMO, it should be removed from SYSTEMD_SERVICE_${PN}-sshd.
>> (re)starting sshd at service from postinst is failing with:
>> SHR root at pjama /etc $ bash -x /var/lib/opkg/info/openssh-sshd.postinst
>> + OPTS=
>> + '[' -n '' ']'
>> + type systemctl
>> + systemctl enable sshd.socket sshd at .service sshdgenkeys.service
>> + '[' -z '' -a enable = enable ']'
>> + systemctl restart sshd.socket sshd at .service sshdgenkeys.service
>> Failed to issue method call: Unit name sshd at .service is not valid.
> ping
>




More information about the Openembedded-core mailing list