[oe] [meta-oe][PATCH 4/5] busybox: add systemd support for syslog service

Otavio Salvador otavio at ossystems.com.br
Fri Jan 6 18:59:34 UTC 2012


This uses a busybox-syslog default file to pass options to
syslogd. For it, the 'OPTIONS' variable needs to be set.

Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 .../busybox/busybox/busybox-klogd.service.in       |    8 +++++
 .../busybox/busybox/busybox-syslog.default         |    1 +
 .../busybox/busybox/busybox-syslog.service.in      |   13 ++++++++
 .../recipes-core/busybox/busybox_1.19.3.bbappend   |   30 ++++++++++++++++++++
 4 files changed, 52 insertions(+), 0 deletions(-)
 create mode 100644 meta-oe/recipes-core/busybox/busybox/busybox-klogd.service.in
 create mode 100644 meta-oe/recipes-core/busybox/busybox/busybox-syslog.default
 create mode 100644 meta-oe/recipes-core/busybox/busybox/busybox-syslog.service.in
 create mode 100644 meta-oe/recipes-core/busybox/busybox_1.19.3.bbappend

diff --git a/meta-oe/recipes-core/busybox/busybox/busybox-klogd.service.in b/meta-oe/recipes-core/busybox/busybox/busybox-klogd.service.in
new file mode 100644
index 0000000..d7c7755
--- /dev/null
+++ b/meta-oe/recipes-core/busybox/busybox/busybox-klogd.service.in
@@ -0,0 +1,8 @@
+[Unit]
+Description=Kernel Logging Service
+
+[Service]
+ExecStart=@base_sbindir@/klogd -n
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-core/busybox/busybox/busybox-syslog.default b/meta-oe/recipes-core/busybox/busybox/busybox-syslog.default
new file mode 100644
index 0000000..8a21e6d
--- /dev/null
+++ b/meta-oe/recipes-core/busybox/busybox/busybox-syslog.default
@@ -0,0 +1 @@
+OPTIONS="-C64"
diff --git a/meta-oe/recipes-core/busybox/busybox/busybox-syslog.service.in b/meta-oe/recipes-core/busybox/busybox/busybox-syslog.service.in
new file mode 100644
index 0000000..db90082
--- /dev/null
+++ b/meta-oe/recipes-core/busybox/busybox/busybox-syslog.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=System Logging Service
+
+[Service]
+ExecStartPre=/bin/systemctl stop systemd-kmsg-syslogd.service
+EnvironmentFile=-/etc/default/busybox-syslog
+ExecStart=@base_sbindir@/syslogd -n $OPTIONS
+Sockets=syslog.socket
+Wants=busybox-klogd.service
+
+[Install]
+WantedBy=multi-user.target
+Also=busybox-klogd.service
diff --git a/meta-oe/recipes-core/busybox/busybox_1.19.3.bbappend b/meta-oe/recipes-core/busybox/busybox_1.19.3.bbappend
new file mode 100644
index 0000000..46177e3
--- /dev/null
+++ b/meta-oe/recipes-core/busybox/busybox_1.19.3.bbappend
@@ -0,0 +1,30 @@
+inherit systemd
+
+PRINC := "${@int(PRINC) + 1}"
+
+# look for files in the layer first
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://busybox-syslog.service.in \
+            file://busybox-klogd.service.in \
+            file://busybox-syslog.default"
+
+SYSTEMD_PACKAGES = "${PN}-syslog-systemd"
+SYSTEMD_SERVICE_${PN}-syslog-systemd = "busybox-syslog.service"
+
+do_install_append() {
+	install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog
+
+	install -d ${D}${base_libdir}/systemd/system
+	sed 's, at base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
+	     > ${D}${base_libdir}/systemd/system/busybox-syslog.service
+	sed 's, at base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \
+	     > ${D}${base_libdir}/systemd/system/busybox-klogd.service
+
+	ln -sf /dev/null ${D}${base_libdir}/systemd/system/syslog.service
+}
+
+PACKAGES += "${PN}-syslog-systemd"
+
+RDEPENDS_${PN}-syslog-systemd += "${PN}-syslog"
+FILES_${PN}-syslog-systemd = "${base_libdir}/systemd"
-- 
1.7.2.5





More information about the Openembedded-devel mailing list