logcheck: update to 1.3.18 and move to meta-perl

- logcheck depends on mime-construct which is in meta-perl,
  so move it to meta-perl to avoid that meta-oe depends on
  meta-perl.

- logcheck should not be run as root, so inherit useradd
  and add proper user and group.

- Add missing runtime dependencies according to the file
  debian/control and simple test by running "logcheck -ot".

- For syslog, debian directly depends on rsyslog, but logcheck
  works with any syslog and we have busybox-syslog, sysklogd,
  syslog-ng and rsyslog, so use VIRTUAL-RUNTIME_syslog for the
  syslog dependency and set rsyslog as the default, which can be
  easily overridden in distro conf file or local.conf.

- Don't install /var/lock when populating rootfs. Do it
  through volatile.

- install header.txt for generated mails

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Jackie Huang 2017-08-24 11:19:53 +08:00 committed by Martin Jansa
parent 8530df3ff6
commit d853932c66
3 changed files with 80 additions and 38 deletions

View File

@ -1,38 +0,0 @@
SUMMARY = "Analyzes log files and sends noticeable events as email"
DESCRIPTION = "\
Logcheck is a simple utility which is designed to allow a system administrator \
to view the log-files which are produced upon hosts under their control. \
It does this by mailing summaries of the log-files to them, after first \
filtering out "normal" entries. \
Normal entries are entries which match one of the many included regular \
expression files contain in the database."
SECTION = "Applications/System"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b"
SRC_URI = "git://git.debian.org/git/logcheck/logcheck.git"
SRCREV = "2429e67ad875fee8a0234c64d504277b038c89cd"
S = "${WORKDIR}/git"
do_install() {
# Fix QA Issue
sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile
# "make install" do not install the manpages. Install them manually.
install -m 755 -d ${D}${mandir}/man1
install -m 755 -d ${D}${mandir}/man8
install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/
install -m 644 docs/logtail.8 ${D}${mandir}/man8/
install -m 644 docs/logtail2.8 ${D}${mandir}/man8/
sed -i "s/syslog/messages/" etc/logcheck.logfiles
sed -i "s/auth\.log/secure/" etc/logcheck.logfiles
install -m 755 -d ${D}${sysconfdir}/cron.d
install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck
install -m 755 -d ${D}/var/lib/logcheck
oe_runmake install DESTDIR=${D}
}
RDEPENDS_${PN} = "perl"
FILES_${PN} += "${datadir}/logtail"

View File

@ -0,0 +1,2 @@
# <type> <owner> <group> <mode> <path> <linksource>
d logcheck logcheck 0755 /var/lock/logcheck none

View File

@ -0,0 +1,78 @@
SUMMARY = "Analyzes log files and sends noticeable events as email"
DESCRIPTION = "\
Logcheck is a simple utility which is designed to allow a system administrator \
to view the log-files which are produced upon hosts under their control. \
It does this by mailing summaries of the log-files to them, after first \
filtering out "normal" entries. \
Normal entries are entries which match one of the many included regular \
expression files contain in the database."
SECTION = "Applications/System"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b"
SRC_URI = "git://git.debian.org/git/logcheck/logcheck.git \
file://99_logcheck \
"
SRCREV = "0a5865d80fa34c55387a1917a3e6f885bcff7f1d"
S = "${WORKDIR}/git"
inherit useradd
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "-m -g ${BPN} -G adm -r -d ${localstatedir}/lib/${BPN} \
-s /bin/false -c 'logcheck account' ${BPN}"
GROUPADD_PARAM_${PN} = "-r ${BPN}"
do_install() {
# Fix QA Issue
sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile
# "make install" do not install the manpages. Install them manually.
install -m 755 -d ${D}${mandir}/man1
install -m 755 -d ${D}${mandir}/man8
install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/
install -m 644 docs/logtail.8 ${D}${mandir}/man8/
install -m 644 docs/logtail2.8 ${D}${mandir}/man8/
install -m 755 -d ${D}${sysconfdir}/cron.d
install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck
install -m 755 -d ${D}/var/lib/logcheck
oe_runmake install DESTDIR=${D}
# install header.txt for generated mails
install -m 0644 ${S}/debian/header.txt ${D}${sysconfdir}/${BPN}
chown -R ${BPN}:${BPN} ${D}${localstatedir}/lib/${BPN}
chown -R root:${BPN} ${D}${sysconfdir}/${BPN}
# Don't install /var/lock when populating rootfs. Do it through volatile
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/99_logcheck ${D}${sysconfdir}/default/volatiles
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /var/lock/logcheck 0755 logcheck logcheck -" \
> ${D}${sysconfdir}/tmpfiles.d/logcheck.conf
fi
}
VIRTUAL-RUNTIME_syslog ??= "rsyslog"
RDEPENDS_${PN} = "\
bash \
cronie \
debianutils-run-parts \
grep \
lockfile-progs \
mime-construct \
perl \
perl-module-file-basename \
perl-module-getopt-std \
perl-module-file-glob \
${VIRTUAL-RUNTIME_syslog} \
"
FILES_${PN} += "${datadir}/logtail"