diff --git a/meta/recipes-extended/sysklogd/files/klogd.service b/meta/recipes-extended/sysklogd/files/klogd.service new file mode 100644 index 0000000000..0c888c497d --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/klogd.service @@ -0,0 +1,13 @@ +[Unit] +Description=Kernel Logging Service +After=syslogd.service + +[Service] +Type=forking +ExecStart=/sbin/klogd +PIDFile=/var/run/klogd.pid +StandardOutput=null +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-extended/sysklogd/files/syslogd.service b/meta/recipes-extended/sysklogd/files/syslogd.service new file mode 100644 index 0000000000..eeaff3d38d --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/syslogd.service @@ -0,0 +1,14 @@ +[Unit] +Description=System Logging Service +Requires=syslog.socket + +[Service] +Type=forking +ExecStart=/sbin/syslogd +PIDFile=/var/run/syslogd.pid +StandardOutput=null +Restart=on-failure + +[Install] +WantedBy=multi-user.target +Alias=syslog.service diff --git a/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf b/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf new file mode 100644 index 0000000000..f4aecd385b --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf @@ -0,0 +1 @@ +p /dev/xconsole 0640 root adm diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc index 5c15ffe8ab..f9af0a4833 100644 --- a/meta/recipes-extended/sysklogd/sysklogd.inc +++ b/meta/recipes-extended/sysklogd/sysklogd.inc @@ -11,17 +11,24 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \ " -inherit update-rc.d update-alternatives +inherit update-rc.d update-alternatives systemd SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \ file://no-strip-install.patch \ file://0001-Fix-build-with-musl.patch \ file://sysklogd \ file://syslog.conf \ + file://syslogd.service \ + file://klogd.service \ + file://tmpfiles.sysklogd.conf \ " SRC_URI_append_e500v2 = " file://no-vectorization.patch" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "syslogd.service klogd.service" +SYSTEMD_AUTO_ENABLE = "enable" + INITSCRIPT_NAME = "syslog" CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${BPN}" @@ -39,13 +46,23 @@ do_install () { install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf install -d ${D}${sysconfdir}/init.d install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog + install -d ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/syslogd.service ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/klogd.service ${D}${systemd_unitdir}/system + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true', 'false', d)}; then + install -d ${D}${exec_prefix}/lib/tmpfiles.d + install -m 644 ${WORKDIR}/tmpfiles.sysklogd.conf ${D}${exec_prefix}/lib/tmpfiles.d/sysklogd.conf + fi } +FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" + # sysklogd package has no internal systemd support, so we weigh busybox's # sysklogd utility over it in case of systemd ALTERNATIVE_PRIORITY = "${@bb.utils.contains('DISTRO_FEATURES','systemd','10','100',d)}" -ALTERNATIVE_${PN} = "syslogd klogd syslog-init syslog-conf" +ALTERNATIVE_${PN} = "syslogd klogd syslog-conf \ + ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','syslog-init','',d)}" ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd" ALTERNATIVE_LINK_NAME[klogd] = "${base_sbindir}/klogd"