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>
---
 .../openssh/openssh_9.5p1.bb                  | 24 ++++++++++++++-----
 1 file changed, 18 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..8273cc0f64 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,23 @@ 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
+       elif 
${@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

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191869): 
https://lists.openembedded.org/g/openembedded-core/message/191869
Mute This Topic: https://lists.openembedded.org/mt/103008224/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