aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox/busybox.inc
diff options
context:
space:
mode:
authorYu Ke <ke.yu@intel.com>2010-10-19 15:15:17 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-10-19 20:29:59 +0100
commit4f7d621db6943cd32c7c4ba41a96db72c1d91e4c (patch)
tree40ca4b3097534aec32a5a5a9d9ae5f2761a7bcaf /meta/recipes-core/busybox/busybox.inc
parentc41fe30640fe2f27df8de7b53112bd492cd5468f (diff)
downloadopenembedded-core-contrib-4f7d621db6943cd32c7c4ba41a96db72c1d91e4c.tar.gz
sysklogd: correct the syslog link and conf file
This commit fix [BUGID #482] Two issues cause bug 482: - firsty, there are two version of syslog: sysklogd and busybox. the busybox one is directly installed as /etc/init.d/syslog, and the sysklogd one is installed by update-alternative. the update-alternative will thus fail because the /etc/init.d/syslog (busybox one) already exist and not a link. so the correct way is to install busybox one by update-alternative, the layout will be: /etc/init.d/syslog.busybox /etc/init.d/syslog.sysklogd /etc/init.d/syslog -> syslog.busybox or /etc/init.d/syslog -> syslog.sysklogd - secondly, sysklogd default conf is not comply with poky. Its dir /var/adm/ does not exist. Check the debian /etc/syslog.conf and find it is more sophiscated and suitable, so port /etc/syslog.conf from debian. Signed-off-by: Yu Ke <ke.yu@intel.com>
Diffstat (limited to 'meta/recipes-core/busybox/busybox.inc')
-rw-r--r--meta/recipes-core/busybox/busybox.inc13
1 files changed, 12 insertions, 1 deletions
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index b3c6c66151..b8c009c1d3 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -53,7 +53,7 @@ do_install () {
# Move back the sh symlink
test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/
- install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog.${PN}
install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/
if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then
# Move crond back to /usr/sbin/crond
@@ -107,6 +107,8 @@ pkg_postinst_${PN} () {
# This adds the links, remember that this has to work when building an image too, hence the $D
while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done <$D/etc/busybox.links
+
+ update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50
}
pkg_prerm_${PN} () {
@@ -138,4 +140,13 @@ pkg_prerm_${PN} () {
bn=`basename $link`
sh /usr/bin/update-alternatives --remove $bn $to
done </etc/busybox.links
+
+ # remove syslog
+ if test "x$D" = "x"; then
+ if test "$1" = "upgrade" -o "$1" = "remove"; then
+ /etc/init.d/syslog stop
+ fi
+ fi
+
+ update-alternatives --remove syslog-init syslog.${PN}
}