Skip to contentSkip to conversation

busybox: handle syslog related files properly

PATCH New Chen Qi 1 participant 2 messages Jun 13, 2014

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

cover busybox: handle syslog related files properly

The following changes since commit d20d3476157b7c949b0077cad0ab1e8716d6162a:

rpm: Fix cpio 32 bit overflow issues on 64 bit inode filesystems (2014-06-12 17:45:48 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib ChenQi/busybox-syslog
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/busybox-syslog

Chen Qi (1):
busybox: handle syslog related files properly

 meta/recipes-core/busybox/busybox.inc |   25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)
Signature · 1 line
1.7.9.5
author
#1 lore raw

PATCH 1/1 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]

---
 meta/recipes-core/busybox/busybox.inc |   25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)
meta/recipes-core/busybox/busybox.inc +14 -11
index f6cb039..bd66e4f 100644
@@ -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
Signature · 1 line
1.7.9.5