diff options
author | Yu Ke <ke.yu@intel.com> | 2010-10-19 15:15:17 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-10-19 20:29:59 +0100 |
commit | 4f7d621db6943cd32c7c4ba41a96db72c1d91e4c (patch) | |
tree | 40ca4b3097534aec32a5a5a9d9ae5f2761a7bcaf | |
parent | c41fe30640fe2f27df8de7b53112bd492cd5468f (diff) | |
download | poky-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>
-rw-r--r-- | meta/recipes-core/busybox/busybox.inc | 13 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox_1.16.2.bb | 2 | ||||
-rw-r--r-- | meta/recipes-extended/sysklogd/files/syslog.conf | 70 | ||||
-rw-r--r-- | meta/recipes-extended/sysklogd/sysklogd.inc | 3 | ||||
-rw-r--r-- | meta/recipes-extended/sysklogd/sysklogd_1.5.bb | 2 |
5 files changed, 86 insertions, 4 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 () { | |||
53 | # Move back the sh symlink | 53 | # Move back the sh symlink |
54 | test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/ | 54 | test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/ |
55 | 55 | ||
56 | install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/ | 56 | install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog.${PN} |
57 | install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/ | 57 | install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/ |
58 | if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then | 58 | if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then |
59 | # Move crond back to /usr/sbin/crond | 59 | # Move crond back to /usr/sbin/crond |
@@ -107,6 +107,8 @@ pkg_postinst_${PN} () { | |||
107 | 107 | ||
108 | # This adds the links, remember that this has to work when building an image too, hence the $D | 108 | # This adds the links, remember that this has to work when building an image too, hence the $D |
109 | 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 | 109 | 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 |
110 | |||
111 | update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50 | ||
110 | } | 112 | } |
111 | 113 | ||
112 | pkg_prerm_${PN} () { | 114 | pkg_prerm_${PN} () { |
@@ -138,4 +140,13 @@ pkg_prerm_${PN} () { | |||
138 | bn=`basename $link` | 140 | bn=`basename $link` |
139 | sh /usr/bin/update-alternatives --remove $bn $to | 141 | sh /usr/bin/update-alternatives --remove $bn $to |
140 | done </etc/busybox.links | 142 | done </etc/busybox.links |
143 | |||
144 | # remove syslog | ||
145 | if test "x$D" = "x"; then | ||
146 | if test "$1" = "upgrade" -o "$1" = "remove"; then | ||
147 | /etc/init.d/syslog stop | ||
148 | fi | ||
149 | fi | ||
150 | |||
151 | update-alternatives --remove syslog-init syslog.${PN} | ||
141 | } | 152 | } |
diff --git a/meta/recipes-core/busybox/busybox_1.16.2.bb b/meta/recipes-core/busybox/busybox_1.16.2.bb index 0952f4ddb0..80dbeaba60 100644 --- a/meta/recipes-core/busybox/busybox_1.16.2.bb +++ b/meta/recipes-core/busybox/busybox_1.16.2.bb | |||
@@ -1,5 +1,5 @@ | |||
1 | require busybox.inc | 1 | require busybox.inc |
2 | PR = "r0" | 2 | PR = "r1" |
3 | 3 | ||
4 | SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | 4 | SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ |
5 | file://udhcpscript.patch \ | 5 | file://udhcpscript.patch \ |
diff --git a/meta/recipes-extended/sysklogd/files/syslog.conf b/meta/recipes-extended/sysklogd/files/syslog.conf new file mode 100644 index 0000000000..795d73545a --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/syslog.conf | |||
@@ -0,0 +1,70 @@ | |||
1 | # /etc/syslog.conf Configuration file for syslogd. | ||
2 | # | ||
3 | # Ported from debian by Yu Ke <ke.yu@intel.com> | ||
4 | # | ||
5 | |||
6 | # | ||
7 | # First some standard logfiles. Log by facility. | ||
8 | # | ||
9 | |||
10 | auth,authpriv.* /var/log/auth.log | ||
11 | *.*;auth,authpriv.none -/var/log/syslog | ||
12 | #cron.* /var/log/cron.log | ||
13 | daemon.* -/var/log/daemon.log | ||
14 | kern.* -/var/log/kern.log | ||
15 | lpr.* -/var/log/lpr.log | ||
16 | mail.* -/var/log/mail.log | ||
17 | user.* -/var/log/user.log | ||
18 | |||
19 | # | ||
20 | # Logging for the mail system. Split it up so that | ||
21 | # it is easy to write scripts to parse these files. | ||
22 | # | ||
23 | mail.info -/var/log/mail.info | ||
24 | mail.warn -/var/log/mail.warn | ||
25 | mail.err /var/log/mail.err | ||
26 | |||
27 | # Logging for INN news system | ||
28 | # | ||
29 | news.crit /var/log/news/news.crit | ||
30 | news.err /var/log/news/news.err | ||
31 | news.notice -/var/log/news/news.notice | ||
32 | |||
33 | # | ||
34 | # Some `catch-all' logfiles. | ||
35 | # | ||
36 | *.=debug;\ | ||
37 | auth,authpriv.none;\ | ||
38 | news.none;mail.none -/var/log/debug | ||
39 | *.=info;*.=notice;*.=warn;\ | ||
40 | auth,authpriv.none;\ | ||
41 | cron,daemon.none;\ | ||
42 | mail,news.none -/var/log/messages | ||
43 | |||
44 | # | ||
45 | # Emergencies are sent to everybody logged in. | ||
46 | # | ||
47 | *.emerg * | ||
48 | |||
49 | # | ||
50 | # I like to have messages displayed on the console, but only on a virtual | ||
51 | # console I usually leave idle. | ||
52 | # | ||
53 | #daemon,mail.*;\ | ||
54 | # news.=crit;news.=err;news.=notice;\ | ||
55 | # *.=debug;*.=info;\ | ||
56 | # *.=notice;*.=warn /dev/tty8 | ||
57 | |||
58 | # The named pipe /dev/xconsole is for the `xconsole' utility. To use it, | ||
59 | # you must invoke `xconsole' with the `-file' option: | ||
60 | # | ||
61 | # $ xconsole -file /dev/xconsole [...] | ||
62 | # | ||
63 | # NOTE: adjust the list below, or you'll go crazy if you have a reasonably | ||
64 | # busy site.. | ||
65 | # | ||
66 | daemon.*;mail.*;\ | ||
67 | news.err;\ | ||
68 | *.=debug;*.=info;\ | ||
69 | *.=notice;*.=warn |/dev/xconsole | ||
70 | |||
diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc index 76ab707b21..9bd77280aa 100644 --- a/meta/recipes-extended/sysklogd/sysklogd.inc +++ b/meta/recipes-extended/sysklogd/sysklogd.inc | |||
@@ -18,6 +18,7 @@ RDEPENDS_${PN}_append = " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none | |||
18 | SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \ | 18 | SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \ |
19 | file://no-strip-install.patch \ | 19 | file://no-strip-install.patch \ |
20 | file://sysklogd \ | 20 | file://sysklogd \ |
21 | file://syslog.conf \ | ||
21 | " | 22 | " |
22 | 23 | ||
23 | INITSCRIPT_NAME = "syslog" | 24 | INITSCRIPT_NAME = "syslog" |
@@ -33,7 +34,7 @@ do_install () { | |||
33 | mv ${D}${base_sbindir}/syslogd ${D}${base_sbindir}/syslogd.${PN} | 34 | mv ${D}${base_sbindir}/syslogd ${D}${base_sbindir}/syslogd.${PN} |
34 | mv ${D}${base_sbindir}/klogd ${D}${base_sbindir}/klogd.${PN} | 35 | mv ${D}${base_sbindir}/klogd ${D}${base_sbindir}/klogd.${PN} |
35 | install -d ${D}${sysconfdir} | 36 | install -d ${D}${sysconfdir} |
36 | install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf | 37 | install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf |
37 | install -d ${D}${sysconfdir}/init.d | 38 | install -d ${D}${sysconfdir}/init.d |
38 | install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog.${PN} | 39 | install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog.${PN} |
39 | } | 40 | } |
diff --git a/meta/recipes-extended/sysklogd/sysklogd_1.5.bb b/meta/recipes-extended/sysklogd/sysklogd_1.5.bb index 8344e272c4..27146c79ad 100644 --- a/meta/recipes-extended/sysklogd/sysklogd_1.5.bb +++ b/meta/recipes-extended/sysklogd/sysklogd_1.5.bb | |||
@@ -1,2 +1,2 @@ | |||
1 | require sysklogd.inc | 1 | require sysklogd.inc |
2 | PR = "r0" | 2 | PR = "r1" |