busybox: add systemd support for syslog service

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@ossystems.com.br>
This commit is contained in:
Otavio Salvador
2011-12-29 06:44:47 +00:00
committed by Koen Kooi
parent 458db1ad63
commit c48a6a605c
4 changed files with 52 additions and 0 deletions
@@ -0,0 +1,8 @@
[Unit]
Description=Kernel Logging Service
[Service]
ExecStart=@base_sbindir@/klogd -n
[Install]
WantedBy=multi-user.target
@@ -0,0 +1 @@
OPTIONS="-C64"
@@ -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
@@ -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,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
> ${D}${base_libdir}/systemd/system/busybox-syslog.service
sed 's,@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"