On Wed, Dec 6, 2023 at 8:56 AM Yu, Mingli <mingli...@eng.windriver.com> wrote:
>
> From: Mingli Yu <mingli...@windriver.com>
>
> Add systemd-sshd-socket-mode PACKAGECONFIG option to choose sshd.socket
> and systemd-sshd-service-mode PACKAGECONFIG option to choose installing
> sshd.service.
>
> The systemd-sshd-socket-mode PACKAGECONFIG option is enabled by default
> and user can customize the above two PACKAGECONFIG option to choose the
> sshd mode.
>
> Signed-off-by: Mingli Yu <mingli...@windriver.com>
> ---
> Changed in v3:
> rebase based on 
> https://lore.kernel.org/all/20231201140947.792594-1-xiangyu.c...@eng.windriver.com/
>
> Changed in v4:
> make it possible to install both sshd.socket and sshd.service

I'm wondering if we should make SYSTEMD_AUTO_ENABLE settable per
service, so you could then install both and manage which one is active
with a preset.

> .../openssh/openssh_9.5p1.bb                  | 25 ++++++++++++++-----
>  1 file changed, 19 insertions(+), 6 deletions(-)
>
> diff --git a/meta/recipes-connectivity/openssh/openssh_9.5p1.bb 
> b/meta/recipes-connectivity/openssh/openssh_9.5p1.bb
> index 2c1c821ea9..58dd030c64 100644
> --- a/meta/recipes-connectivity/openssh/openssh_9.5p1.bb
> +++ b/meta/recipes-connectivity/openssh/openssh_9.5p1.bb
> @@ -50,16 +50,20 @@ INITSCRIPT_NAME:${PN}-sshd = "sshd"
>  INITSCRIPT_PARAMS:${PN}-sshd = "defaults 9"
>
>  SYSTEMD_PACKAGES = "${PN}-sshd"
> -SYSTEMD_SERVICE:${PN}-sshd = "sshd.socket sshd.service"
> +SYSTEMD_SERVICE:${PN}-sshd = 
> "${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','sshd.socket',
>  '', d)} 
> ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','sshd.service',
>  '', d)}"
>
>  inherit autotools-brokensep ptest pkgconfig
>
> -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
> +# systemd-sshd-socket-mode means sshd.socket and systemd-sshd-service-mode
> +# corresponding to sshd.service
> +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} 
> systemd-sshd-socket-mode"
>  PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5"
>  PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns"
>  PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
>  PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat"
>  PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
> +PACKAGECONFIG[systemd-sshd-socket-mode] = ""
> +PACKAGECONFIG[systemd-sshd-service-mode] = ""
>
>  EXTRA_AUTORECONF += "--exclude=aclocal"
>
> @@ -124,15 +128,24 @@ do_install:append () {
>         echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> 
> ${D}${sysconfdir}/ssh/sshd_config_readonly
>
>         install -d ${D}${systemd_system_unitdir}
> -       install -c -m 0644 ${WORKDIR}/sshd.socket 
> ${D}${systemd_system_unitdir}
> -       install -c -m 0644 ${WORKDIR}/sshd.service 
> ${D}${systemd_system_unitdir}
> -       install -c -m 0644 ${WORKDIR}/sshd@.service 
> ${D}${systemd_system_unitdir}
> +       if 
> ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)};
>  then
> +           install -c -m 0644 ${WORKDIR}/sshd.socket 
> ${D}${systemd_system_unitdir}
> +           install -c -m 0644 ${WORKDIR}/sshd@.service 
> ${D}${systemd_system_unitdir}
> +           sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
> +                   -e 's,@SBINDIR@,${sbindir},g' \
> +                   -e 's,@BINDIR@,${bindir},g' \
> +                   -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
> +            ${D}${systemd_system_unitdir}/sshd.socket
> +       fi
> +       if 
> ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','true','false',d)};
>  then
> +           install -c -m 0644 ${WORKDIR}/sshd.service 
> ${D}${systemd_system_unitdir}
> +       fi
>         install -c -m 0644 ${WORKDIR}/sshdgenkeys.service 
> ${D}${systemd_system_unitdir}
>         sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
>                 -e 's,@SBINDIR@,${sbindir},g' \
>                 -e 's,@BINDIR@,${bindir},g' \
>                 -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
> -               ${D}${systemd_system_unitdir}/sshd.socket 
> ${D}${systemd_system_unitdir}/*.service
> +               ${D}${systemd_system_unitdir}/*.service
>
>         sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
>                 ${D}${sysconfdir}/init.d/sshd
> --
> 2.25.1
>
>
> 
>


-- 
Alex Kiernan
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191882): 
https://lists.openembedded.org/g/openembedded-core/message/191882
Mute This Topic: https://lists.openembedded.org/mt/103009646/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to