[OE-core] [PATCH 1/1] busybox: handle syslog related files properly
Chen Qi
Qi.Chen at windriver.com
Fri Jun 13 05:42:33 UTC 2014
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]
Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
meta/recipes-core/busybox/busybox.inc | 25 ++++++++++++++-----------
1 file 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, at base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
- > ${D}${systemd_unitdir}/system/busybox-syslog.service
- sed 's, at 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, at 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, at 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
--
1.7.9.5
More information about the Openembedded-core
mailing list