[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6870/8267] logrotate: Add systemd support
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 6870/8267] logrotate: Add systemd support
- Date: Sun, 17 Dec 2017 05:27:05 +0000 (UTC)
commit 97c3a88082e5e5ede20c2ed8657c3b53ef5335e7
Author: Romain Perier <romain perier collabora com>
Date: Tue Jul 11 08:46:06 2017 +0200
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>
.../recipes-extended/logrotate/logrotate_3.12.3.bb | 25 +++++++++++++++++--
1 files changed, 22 insertions(+), 3 deletions(-)
---
diff --git a/meta/recipes-extended/logrotate/logrotate_3.12.3.bb
b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb
index 2033be1..05705be 100644
--- a/meta/recipes-extended/logrotate/logrotate_3.12.3.bb
+++ b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb
@@ -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
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]