mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
logrotate: Add systemd support
Currently, this recipe only supports daily scheduling via a cron job. This commit adds support for systemd in the recipe, as the feature is already supported on upstream. When the corresponding distro feature is enabled the systemd variant will be used. The timer granularity and its accuracy are also configurable. (From OE-Core rev: b942d0b17cb6622b653283109307346dcfb4f205) Signed-off-by: Romain Perier <romain.perier@collabora.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
98d3a094d0
commit
97c3a88082
@@ -53,14 +53,33 @@ EXTRA_OEMAKE = "\
|
||||
# INSTALL=install and BASEDIR=/usr.
|
||||
OS_NAME = "Linux"
|
||||
|
||||
inherit autotools
|
||||
inherit autotools systemd
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "\
|
||||
${PN}.service \
|
||||
${PN}.timer \
|
||||
"
|
||||
|
||||
LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
|
||||
LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
|
||||
|
||||
do_install(){
|
||||
oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
|
||||
mkdir -p ${D}${sysconfdir}/logrotate.d
|
||||
mkdir -p ${D}${sysconfdir}/cron.daily
|
||||
mkdir -p ${D}${localstatedir}/lib
|
||||
install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
|
||||
install -p -m 755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
|
||||
touch ${D}${localstatedir}/lib/logrotate.status
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
|
||||
install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
|
||||
sed -i -e 's,OnCalendar=.*$,OnCalendar=${LOGROTATE_SYSTEMD_TIMER_BASIS},g' ${D}${systemd_system_unitdir}/logrotate.timer
|
||||
sed -i -e 's,AccuracySec=.*$,AccuracySec=${LOGROTATE_SYSTEMD_TIMER_ACCURACY},g' ${D}${systemd_system_unitdir}/logrotate.timer
|
||||
fi
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
|
||||
mkdir -p ${D}${sysconfdir}/cron.daily
|
||||
install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user