On Fri, Aug 16, 2013 at 10:27 AM, Shakeel, Muhammad <
[email protected]> wrote:

> From: Muhammad Shakeel <[email protected]>
>
> -Remove dependency on meta-systemd
>
> Signed-off-by: Muhammad Shakeel <[email protected]>
> ---
>  .../openssh/openssh-6.2p2/sshd.socket              |   11 +++++++++++
>  .../openssh/openssh-6.2p2/[email protected]            |    9 +++++++++
>  .../openssh/openssh-6.2p2/sshdgenkeys.service      |   10 ++++++++++
>  meta/recipes-connectivity/openssh/openssh_6.2p2.bb |   20
> ++++++++++++++++++--
>  4 files changed, 48 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-connectivity/openssh/openssh-6.2p2/sshd.socket
> b/meta/recipes-connectivity/openssh/openssh-6.2p2/sshd.socket
> new file mode 100644
> index 0000000..753a33b
> --- /dev/null
> +++ b/meta/recipes-connectivity/openssh/openssh-6.2p2/sshd.socket
> @@ -0,0 +1,11 @@
> +[Unit]
> +Conflicts=sshd.service
> +
> +[Socket]
> +ExecStartPre=/bin/mkdir -p /var/run/sshd
> +ListenStream=22
> +Accept=yes
> +
> +[Install]
> +WantedBy=sockets.target
> +Also=sshdgenkeys.service
> diff --git a/meta/recipes-connectivity/openssh/openssh-6.2p2/[email protected]
> b/meta/recipes-connectivity/openssh/openssh-6.2p2/[email protected]
> new file mode 100644
> index 0000000..d118490
> --- /dev/null
> +++ b/meta/recipes-connectivity/openssh/openssh-6.2p2/[email protected]
> @@ -0,0 +1,9 @@
> +[Unit]
> +Description=OpenSSH Per-Connection Daemon
> +After=sshdgenkeys.service
> +
> +[Service]
> +ExecStart=-/usr/sbin/sshd -i
> +ExecReload=/bin/kill -HUP $MAINPID
> +StandardInput=socket
> +StandardError=syslog
> diff --git
> a/meta/recipes-connectivity/openssh/openssh-6.2p2/sshdgenkeys.service
> b/meta/recipes-connectivity/openssh/openssh-6.2p2/sshdgenkeys.service
> new file mode 100644
> index 0000000..c717214
> --- /dev/null
> +++ b/meta/recipes-connectivity/openssh/openssh-6.2p2/sshdgenkeys.service
> @@ -0,0 +1,10 @@
> +[Unit]
> +Description=SSH Key Generation
> +
> +[Service]
> +ExecStart=/usr/bin/ssh-keygen -A
> +Type=oneshot
> +RemainAfterExit=yes
> +
> +[Install]
> +WantedBy=multi-user.target
>



it would be nice if it was using libdir/bindir instead of hardcoded paths
coudld be achieved by generating the unit files from some sort of .in files
at build time so it could benefit
the distros which dont use /usr e.g.

​​

> diff --git 
> a/meta/recipes-connectivity/openssh/openssh_6.2p2.bbb/meta/recipes-connectivity/openssh/
> openssh_6.2p2.bb
> index c76f9ac..8dac2f1 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://[email protected] \
> +           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,10 @@ 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 [email protected]
> sshdgenkeys.service"
> +SYSTEMD_AUTO_ENABLE = "enable"
> +
>  PACKAGECONFIG ??= "tcp-wrappers"
>  PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,,tcp-wrappers"
>
> @@ -93,6 +100,14 @@ do_install_append () {
>         echo "HostKey /var/run/ssh/ssh_host_rsa_key" >>
> ${D}${sysconfdir}/ssh/sshd_config_readonly
>         echo "HostKey /var/run/ssh/ssh_host_dsa_key" >>
> ${D}${sysconfdir}/ssh/sshd_config_readonly
>         echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >>
> ${D}${sysconfdir}/ssh/sshd_config_readonly
> +
> +       install -d ${D}${systemd_unitdir}/system
> +       install -m 0644 ${WORKDIR}/sshd.socket
> ${D}${systemd_unitdir}/system
> +       install -m 0644 ${WORKDIR}/[email protected]
> ${D}${systemd_unitdir}/system
> +       install -m 0644 ${WORKDIR}/sshdgenkeys.service
> ${D}${systemd_unitdir}/system
> +       sed -i 's,/bin/,${base_bindir}/,g'
> ${D}${systemd_unitdir}/system/sshd.socket
> ${D}${systemd_unitdir}/system/[email protected]
> +       sed -i 's,/usr/sbin/,${sbindir}/,g'
> ${D}${systemd_unitdir}/system/[email protected]
> +       sed -i 's,/usr/bin/,${bindir}/,g'
> ${D}${systemd_unitdir}/system/sshdgenkeys.service
>  }
>
>  ALLOW_EMPTY_${PN} = "1"
> @@ -102,6 +117,7 @@ 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 += "${sysconfdir}/ssh/moduli
> ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly"
> +FILES_${PN}-sshd += "${systemd_unitdir}"
>  FILES_${PN}-sftp = "${bindir}/sftp"
>  FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
>  FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
> --
> 1.7.9.5
>
> _______________________________________________
> Openembedded-core mailing list
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to