commit 5a7e1737dc8c5e70df3f7ecde39c2f448c94640e Author: Jacek Konieczny <j.koniec...@eggsoft.pl> Date: Thu Mar 9 14:24:27 2017 +0100
add systemd-cronjobs support cronjob-logrotate.service | 7 +++++++ cronjob-logrotate.timer | 11 +++++++++++ logrotate.spec | 25 ++++++++++++++++++++++--- 3 files changed, 40 insertions(+), 3 deletions(-) --- diff --git a/logrotate.spec b/logrotate.spec index 91033e7..0c98dc4 100644 --- a/logrotate.spec +++ b/logrotate.spec @@ -20,7 +20,7 @@ Summary(tr.UTF-8): Sistem günlüklerini yönlendirir, sıkıştırır ve mektup Summary(uk.UTF-8): Ротує, компресує, видаляє та відправляє поштою лог-файли Name: logrotate Version: 3.11.0 -Release: 1 +Release: 1.1 License: GPL v2+ Group: Applications/System Source0: https://github.com/logrotate/logrotate/releases/download/%{version}/%{name}-%{version}.tar.xz @@ -29,6 +29,8 @@ Source1: %{name}.conf Source2: %{name}.sysconfig Source3: %{name}.cron Source4: %{name}.crontab +Source5: cronjob-%{name}.timer +Source6: cronjob-%{name}.service Patch0: tabooext.patch Patch1: %{name}-man.patch URL: https://github.com/logrotate/logrotate @@ -40,14 +42,16 @@ BuildRequires: libselinux-devel %{?with_tests:BuildRequires: libselinux-utils} %endif BuildRequires: popt-devel >= 1.3 +BuildRequires: rpmbuild(macros) >= 1.644 BuildRequires: tar >= 1:1.22 BuildRequires: xz Requires(post): coreutils Requires: coreutils -Requires: crondaemon +Requires: cronjobs Requires: filesystem >= 4.0-4 Requires: gzip Requires: setup >= 2.4.6 +Requires: systemd-units >= 38 Suggests: /bin/mail BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -143,7 +147,8 @@ Logrotate призначений для полегшення адміністр %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,sysconfig} \ - $RPM_BUILD_ROOT{%{_libexecdir},%{_mandir},%{statdir}} + $RPM_BUILD_ROOT{%{_libexecdir},%{_mandir},%{statdir}} \ + $RPM_BUILD_ROOT%{systemdunitdir} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT @@ -152,6 +157,8 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.conf cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name} install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name} cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name} +cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir} +cp -p %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir} > $RPM_BUILD_ROOT%{statdir}/%{name}.status %clean @@ -166,6 +173,9 @@ fi %triggerpostun -- %{name} < 3.7.8-4 %{__sed} -i -e 's,olddir /var/log/archiv$,olddir /var/log/archive,' %{_sysconfdir}/%{name}.conf %{_sysconfdir}/logrotate.d/* || : +%triggerpostun -- %{name} < 3.11.0-1.1 +%systemd_trigger %{name}.timer + %post if [ -f /var/lib/logrotate.status ]; then mv -f /var/lib/logrotate.status %{statdir}/logrotate.status @@ -175,6 +185,13 @@ else chown root:root %{statdir}/logrotate.status chmod 640 %{statdir}/logrotate.status fi +%systemd_post cronjob-logrotate.timer + +%preun +%systemd_preun cronjob-logrotate.timer + +%postun +%systemd_reload %files %defattr(644,root,root,755) @@ -187,3 +204,5 @@ fi %attr(640,root,root) %ghost %{statdir}/logrotate.status %{_mandir}/man5/logrotate.conf.5* %{_mandir}/man8/logrotate.8* +%{systemdunitdir}/cronjob-logrotate.service +%{systemdunitdir}/cronjob-logrotate.timer diff --git a/cronjob-logrotate.service b/cronjob-logrotate.service new file mode 100644 index 0000000..8e3f9d3 --- /dev/null +++ b/cronjob-logrotate.service @@ -0,0 +1,7 @@ +[Unit] +Description=logrotate cron job + +[Service] +ExecStart=/usr/lib/logrotate + +# vi: ft=systemd diff --git a/cronjob-logrotate.timer b/cronjob-logrotate.timer new file mode 100644 index 0000000..bfb2194 --- /dev/null +++ b/cronjob-logrotate.timer @@ -0,0 +1,11 @@ +[Unit] +Description=logrotate cron job + +[Timer] +OnCalendar=*-*-* 05:02:00 +Persistent=true + +[Install] +WantedBy=cronjobs.target + +# vi: ft=systemd ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/logrotate.git/commitdiff/5a7e1737dc8c5e70df3f7ecde39c2f448c94640e _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit