All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] logrotate: systemd support
@ 2017-04-05 15:05 Romain Perier
  2017-04-05 15:05 ` [PATCH 1/2] logrotate: Bump to 3.11.0 Romain Perier
  2017-04-05 15:05 ` [PATCH 2/2] logrotate: Add systemd support Romain Perier
  0 siblings, 2 replies; 9+ messages in thread
From: Romain Perier @ 2017-04-05 15:05 UTC (permalink / raw)
  To: liezhi.yang; +Cc: yocto, openembedded-core

SystemD is now supported by upstream logrotate. This set of patches first
bumps the recipe to the last upstream version, that is 3.11.0. Then it adds
support for systemd.

This series is the continuety of the following patch:

1. https://lists.yoctoproject.org/pipermail/yocto/2017-March/035277.html

Note:
The default SRC_URI to be used for tarball is still under discussion on the ML.
Do we use github or downloads.yoctoproject.org ? How do we upload the tarball ?

Romain Perier (2):
  logrotate: Bump to 3.11.0
  logrotate: Add systemd support

 .../recipes-extended/logrotate/logrotate_3.11.0.bb | 78 ++++++++++++++++++++++
 meta/recipes-extended/logrotate/logrotate_3.9.1.bb | 60 -----------------
 2 files changed, 78 insertions(+), 60 deletions(-)
 create mode 100644 meta/recipes-extended/logrotate/logrotate_3.11.0.bb
 delete mode 100644 meta/recipes-extended/logrotate/logrotate_3.9.1.bb

-- 
2.9.3



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/2] logrotate: Bump to 3.11.0
  2017-04-05 15:05 [PATCH 0/2] logrotate: systemd support Romain Perier
@ 2017-04-05 15:05 ` Romain Perier
  2017-04-06 11:38     ` Richard Purdie
  2017-04-05 15:05 ` [PATCH 2/2] logrotate: Add systemd support Romain Perier
  1 sibling, 1 reply; 9+ messages in thread
From: Romain Perier @ 2017-04-05 15:05 UTC (permalink / raw)
  To: liezhi.yang; +Cc: yocto, openembedded-core

This commit updates the recipe to the last upstream tag. Then, as the
tarball no longer contains the pre-generated Makefile, inherit from
autotools

Signed-off-by: Romain Perier <romain.perier@collabora.com>
---
 .../{logrotate_3.9.1.bb => logrotate_3.11.0.bb}    | 23 +++++++++++-----------
 1 file changed, 11 insertions(+), 12 deletions(-)
 rename meta/recipes-extended/logrotate/{logrotate_3.9.1.bb => logrotate_3.11.0.bb} (69%)

diff --git a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb b/meta/recipes-extended/logrotate/logrotate_3.11.0.bb
similarity index 69%
rename from meta/recipes-extended/logrotate/logrotate_3.9.1.bb
rename to meta/recipes-extended/logrotate/logrotate_3.11.0.bb
index 9c2dfe0..d72c7f0 100644
--- a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
+++ b/meta/recipes-extended/logrotate/logrotate_3.11.0.bb
@@ -3,23 +3,25 @@ SECTION = "console/utils"
 HOMEPAGE = "https://fedorahosted.org/logrotate/"
 LICENSE = "GPLv2"
 
-# TODO: logrotate 3.8.8 adds autotools/automake support, update recipe to use it.
 # TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
 
 DEPENDS="coreutils popt"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
 
-SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate-${PV}.tar.gz \
+# TODO: We need to decide if we github or downloads.yoctoproject.org
+SRC_URI = "https://github.com/logrotate/logrotate/releases/download/${PV}/logrotate-${PV}.tar.gz \
            file://act-as-mv-when-rotate.patch \
            file://update-the-manual.patch \
            file://disable-check-different-filesystems.patch \
             "
+SRC_URI[md5sum] = "15db4027b07b3e239297e4c87c6da2e9"
+SRC_URI[sha256sum] = "7dcb440ed2f1937459e1e06f841c6af1e564b77b2df8009147b56c8649197910"
 
-SRC_URI[md5sum] = "4492b145b6d542e4a2f41e77fa199ab0"
-SRC_URI[sha256sum] = "022769e3288c80981559a8421703c88e8438b447235e36dd3c8e97cd94c52545"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
+PACKAGECONFIG ?= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
+"
 
 PACKAGECONFIG[acl] = ",,acl"
 PACKAGECONFIG[selinux] = ",,libselinux"
@@ -44,17 +46,14 @@ EXTRA_OEMAKE = "\
 # INSTALL=install and BASEDIR=/usr.
 OS_NAME = "Linux"
 
-do_compile_prepend() {
-    # Make sure the recompile is OK
-    rm -f ${B}/.depend
-}
+inherit autotools
 
 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 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
-    install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
+    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
 }
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] logrotate: Add systemd support
  2017-04-05 15:05 [PATCH 0/2] logrotate: systemd support Romain Perier
  2017-04-05 15:05 ` [PATCH 1/2] logrotate: Bump to 3.11.0 Romain Perier
@ 2017-04-05 15:05 ` Romain Perier
  1 sibling, 0 replies; 9+ messages in thread
From: Romain Perier @ 2017-04-05 15:05 UTC (permalink / raw)
  To: liezhi.yang; +Cc: yocto, openembedded-core

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.

Signed-off-by: Romain Perier <romain.perier@collabora.com>
---
 .../recipes-extended/logrotate/logrotate_3.11.0.bb | 25 +++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-extended/logrotate/logrotate_3.11.0.bb b/meta/recipes-extended/logrotate/logrotate_3.11.0.bb
index d72c7f0..b75496d 100644
--- a/meta/recipes-extended/logrotate/logrotate_3.11.0.bb
+++ b/meta/recipes-extended/logrotate/logrotate_3.11.0.bb
@@ -46,14 +46,33 @@ EXTRA_OEMAKE = "\
 # INSTALL=install and BASEDIR=/usr.
 OS_NAME = "Linux"
 
-inherit autotools
+inherit autotools systemd
+
+SYSTEMD_AUTO_ENABLE = "disable"
+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
+
+    # Install systemd unit files
+    if [ "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" = "systemd" ]; 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
+    else
+        mkdir -p ${D}${sysconfdir}/cron.daily
+        install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
+    fi
 }
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [OE-core] [PATCH 1/2] logrotate: Bump to 3.11.0
  2017-04-05 15:05 ` [PATCH 1/2] logrotate: Bump to 3.11.0 Romain Perier
@ 2017-04-06 11:38     ` Richard Purdie
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2017-04-06 11:38 UTC (permalink / raw)
  To: Romain Perier, liezhi.yang; +Cc: yocto, openembedded-core

On Wed, 2017-04-05 at 17:05 +0200, Romain Perier wrote:
> This commit updates the recipe to the last upstream tag. Then, as the
> tarball no longer contains the pre-generated Makefile, inherit from
> autotools
> 
> [...]

> -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl
> selinux', d)}"
> +PACKAGECONFIG ?= "\
> +    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
> +    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux',
> '', d)} \
> +"

I'm not sure the above should be there, it reverts someone else's
change?

I am a little nervous of taking this at this point in the release
too...

Cheers,

Richard


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] logrotate: Bump to 3.11.0
@ 2017-04-06 11:38     ` Richard Purdie
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2017-04-06 11:38 UTC (permalink / raw)
  To: Romain Perier, liezhi.yang; +Cc: yocto, openembedded-core

On Wed, 2017-04-05 at 17:05 +0200, Romain Perier wrote:
> This commit updates the recipe to the last upstream tag. Then, as the
> tarball no longer contains the pre-generated Makefile, inherit from
> autotools
> 
> [...]

> -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl
> selinux', d)}"
> +PACKAGECONFIG ?= "\
> +    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
> +    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux',
> '', d)} \
> +"

I'm not sure the above should be there, it reverts someone else's
change?

I am a little nervous of taking this at this point in the release
too...

Cheers,

Richard


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [OE-core] [PATCH 1/2] logrotate: Bump to 3.11.0
  2017-04-06 11:38     ` Richard Purdie
@ 2017-04-06 12:20       ` Romain Perier
  -1 siblings, 0 replies; 9+ messages in thread
From: Romain Perier @ 2017-04-06 12:20 UTC (permalink / raw)
  To: Richard Purdie, liezhi.yang; +Cc: yocto, openembedded-core

Hello,


Le 06/04/2017 à 13:38, Richard Purdie a écrit :
> On Wed, 2017-04-05 at 17:05 +0200, Romain Perier wrote:
>> This commit updates the recipe to the last upstream tag. Then, as the
>> tarball no longer contains the pre-generated Makefile, inherit from
>> autotools
>>
>> [...]
>> -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl
>> selinux', d)}"
>> +PACKAGECONFIG ?= "\
>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux',
>> '', d)} \
>> +"

Correct, I probably did something wrong during rebase.

> I'm not sure the above should be there, it reverts someone else's
> change?
>
> I am a little nervous of taking this at this point in the release
> too...

What do you think if we backport the systemd service and the systemd
timer from upstream into 3.9.1 and then add support for systemd in the
recipe ? (In the original patches, I have written systemd services
myself) The code of logrotate would be unchanged.

Regards,
Romain




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] logrotate: Bump to 3.11.0
@ 2017-04-06 12:20       ` Romain Perier
  0 siblings, 0 replies; 9+ messages in thread
From: Romain Perier @ 2017-04-06 12:20 UTC (permalink / raw)
  To: Richard Purdie, liezhi.yang; +Cc: yocto, openembedded-core

Hello,


Le 06/04/2017 à 13:38, Richard Purdie a écrit :
> On Wed, 2017-04-05 at 17:05 +0200, Romain Perier wrote:
>> This commit updates the recipe to the last upstream tag. Then, as the
>> tarball no longer contains the pre-generated Makefile, inherit from
>> autotools
>>
>> [...]
>> -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl
>> selinux', d)}"
>> +PACKAGECONFIG ?= "\
>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux',
>> '', d)} \
>> +"

Correct, I probably did something wrong during rebase.

> I'm not sure the above should be there, it reverts someone else's
> change?
>
> I am a little nervous of taking this at this point in the release
> too...

What do you think if we backport the systemd service and the systemd
timer from upstream into 3.9.1 and then add support for systemd in the
recipe ? (In the original patches, I have written systemd services
myself) The code of logrotate would be unchanged.

Regards,
Romain




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [OE-core] [PATCH 1/2] logrotate: Bump to 3.11.0
  2017-04-06 12:20       ` Romain Perier
@ 2017-04-11 12:37         ` Romain Perier
  -1 siblings, 0 replies; 9+ messages in thread
From: Romain Perier @ 2017-04-11 12:37 UTC (permalink / raw)
  To: Richard Purdie, liezhi.yang; +Cc: yocto, openembedded-core

ping,


Le 06/04/2017 à 14:20, Romain Perier a écrit :
> Hello,
>
>
> Le 06/04/2017 à 13:38, Richard Purdie a écrit :
>> On Wed, 2017-04-05 at 17:05 +0200, Romain Perier wrote:
>>> This commit updates the recipe to the last upstream tag. Then, as the
>>> tarball no longer contains the pre-generated Makefile, inherit from
>>> autotools
>>>
>>> [...]
>>> -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl
>>> selinux', d)}"
>>> +PACKAGECONFIG ?= "\
>>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
>>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux',
>>> '', d)} \
>>> +"
> Correct, I probably did something wrong during rebase.
>
>> I'm not sure the above should be there, it reverts someone else's
>> change?
>>
>> I am a little nervous of taking this at this point in the release
>> too...
> What do you think if we backport the systemd service and the systemd
> timer from upstream into 3.9.1 and then add support for systemd in the
> recipe ? (In the original patches, I have written systemd services
> myself) The code of logrotate would be unchanged.
>
> Regards,
> Romain
What do we do for this ? this is possible or I have to propose this
feature for master-next ? (I mean post 2.3)

Thanks,
Romain


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [yocto] [PATCH 1/2] logrotate: Bump to 3.11.0
@ 2017-04-11 12:37         ` Romain Perier
  0 siblings, 0 replies; 9+ messages in thread
From: Romain Perier @ 2017-04-11 12:37 UTC (permalink / raw)
  To: Richard Purdie, liezhi.yang; +Cc: yocto, openembedded-core

ping,


Le 06/04/2017 à 14:20, Romain Perier a écrit :
> Hello,
>
>
> Le 06/04/2017 à 13:38, Richard Purdie a écrit :
>> On Wed, 2017-04-05 at 17:05 +0200, Romain Perier wrote:
>>> This commit updates the recipe to the last upstream tag. Then, as the
>>> tarball no longer contains the pre-generated Makefile, inherit from
>>> autotools
>>>
>>> [...]
>>> -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl
>>> selinux', d)}"
>>> +PACKAGECONFIG ?= "\
>>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
>>> +    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux',
>>> '', d)} \
>>> +"
> Correct, I probably did something wrong during rebase.
>
>> I'm not sure the above should be there, it reverts someone else's
>> change?
>>
>> I am a little nervous of taking this at this point in the release
>> too...
> What do you think if we backport the systemd service and the systemd
> timer from upstream into 3.9.1 and then add support for systemd in the
> recipe ? (In the original patches, I have written systemd services
> myself) The code of logrotate would be unchanged.
>
> Regards,
> Romain
What do we do for this ? this is possible or I have to propose this
feature for master-next ? (I mean post 2.3)

Thanks,
Romain


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-04-11 12:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-05 15:05 [PATCH 0/2] logrotate: systemd support Romain Perier
2017-04-05 15:05 ` [PATCH 1/2] logrotate: Bump to 3.11.0 Romain Perier
2017-04-06 11:38   ` [OE-core] " Richard Purdie
2017-04-06 11:38     ` Richard Purdie
2017-04-06 12:20     ` [OE-core] " Romain Perier
2017-04-06 12:20       ` Romain Perier
2017-04-11 12:37       ` [OE-core] " Romain Perier
2017-04-11 12:37         ` [yocto] " Romain Perier
2017-04-05 15:05 ` [PATCH 2/2] logrotate: Add systemd support Romain Perier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.