[oe-commits] Koen Kooi : dropbear-systemd: config files for socket-based activation of dropbear

git version control git at git.openembedded.org
Mon Jun 20 07:40:36 UTC 2011


Module: meta-openembedded.git
Branch: master
Commit: c5d9f7055288a56ebe68c3ab022f40c8932b215f
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=c5d9f7055288a56ebe68c3ab022f40c8932b215f

Author: Koen Kooi <koen at dominion.thruhere.net>
Date:   Sat Jun 18 16:14:51 2011 +0200

dropbear-systemd: config files for socket-based activation of dropbear

Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>

---

 .../dropbear/dropbear-systemd/dropbear.socket      |   10 +++++
 .../dropbear/dropbear-systemd/dropbear at .service    |    9 ++++
 .../dropbear/dropbear-systemd/dropbearkey.service  |   10 +++++
 .../recipes-core/dropbear/dropbear-systemd_v1.bb   |   40 ++++++++++++++++++++
 4 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear.socket b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear.socket
new file mode 100644
index 0000000..e5c61b7
--- /dev/null
+++ b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear.socket
@@ -0,0 +1,10 @@
+[Unit]
+Conflicts=dropbear.service
+
+[Socket]
+ListenStream=22
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
+Also=dropbearkey.service
diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear at .service b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear at .service
new file mode 100644
index 0000000..4fba3f0
--- /dev/null
+++ b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear at .service
@@ -0,0 +1,9 @@
+[Unit]
+Description=SSH Per-Connection Server
+Requires=dropbearkey.service
+After=syslog.target dropbearkey.service
+
+[Service]
+ExecStart=-/usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -p 22
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbearkey.service b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbearkey.service
new file mode 100644
index 0000000..7f03000
--- /dev/null
+++ b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbearkey.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=SSH Key Generation
+ConditionPathExists=|!/etc/dropbear/dropbear_rsa_host_key
+
+[Service]
+ExecStart=/usr/sbin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd_v1.bb b/meta-oe/recipes-core/dropbear/dropbear-systemd_v1.bb
new file mode 100644
index 0000000..b46c0e2
--- /dev/null
+++ b/meta-oe/recipes-core/dropbear/dropbear-systemd_v1.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "Socket based activation for dropbear ssh server"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
+
+inherit allarch
+
+SRC_URI = "file://dropbearkey.service \
+           file://dropbear@.service \
+           file://dropbear.socket \
+          "
+
+do_configure() {
+	:
+}
+
+do_compile() {
+	:
+}
+
+do_install() {
+	install -d ${D}${base_libdir}/systemd/system
+	install -m 0644 ${WORKDIR}/dropbear*.* ${D}${base_libdir}/systemd/system/
+}
+
+pkg_postinst_${PN} () {
+if test "x$D" != "x"; then
+	exit 1
+fi
+systemctl enable dropbear.socket
+ln -sf /dev/null ${base_libdir}/systemd/system/dropbear.service
+}
+
+pkg_postrm_${PN} () {
+systemctl disable dropbear.socket
+rm -f ${base_libdir}/systemd/system/dropbear.service
+}
+
+RDEPENDS_${PN} = "systemd dropbear"
+FILES_${PN} = "${base_libdir}/systemd/system"
+





More information about the Openembedded-commits mailing list