diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2014-06-13 13:42:33 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-06-14 08:43:55 +0100 |
commit | 5d6ffdc47565cb7405edabcf8cb8ba1fe3c84f31 (patch) | |
tree | 4692aadc2af6f9458fd6f67647620b5f5267ef62 | |
parent | a7d0c856db0ebc77a3feeb1a0c900ce116247e89 (diff) | |
download | ast2050-yocto-poky-5d6ffdc47565cb7405edabcf8cb8ba1fe3c84f31.zip ast2050-yocto-poky-5d6ffdc47565cb7405edabcf8cb8ba1fe3c84f31.tar.gz |
busybox: handle syslog related files properly
If CONFIG_SYSLOGD is not enabled, then the related service file should
not be installed as it will always fail at system start-up. The error
message is as following.
[FAILED] Failed to start System Logging Service.
The same logic applies to CONFIG_KLOGD.
So we should first check the configuration before we install these
service files.
[YOCTO #5302]
(From OE-Core rev: b44e291a87539fbb8e6da1a16c56f425a417e7bd)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-core/busybox/busybox.inc | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index f6cb039..bd66e4f 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -272,18 +272,21 @@ do_install () { fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \ - > ${D}${systemd_unitdir}/system/busybox-syslog.service - sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \ - > ${D}${systemd_unitdir}/system/busybox-klogd.service - - if [ -f ${WORKDIR}/busybox-syslog.default ] ; then - install -d ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog + if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then + install -d ${D}${systemd_unitdir}/system + sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \ + > ${D}${systemd_unitdir}/system/busybox-syslog.service + if [ -f ${WORKDIR}/busybox-syslog.default ] ; then + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog + fi + ln -sf /dev/null ${D}${systemd_unitdir}/system/syslog.service + fi + if grep -q "CONFIG_KLOGD=y" ${B}/.config; then + install -d ${D}${systemd_unitdir}/system + sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \ + > ${D}${systemd_unitdir}/system/busybox-klogd.service fi - - ln -sf /dev/null ${D}${systemd_unitdir}/system/syslog.service fi # Remove the sysvinit specific configuration file for systemd systems to avoid confusion |