2 # - bug: when logrotate.status is written truncated (due disk getting full) and
3 # the line is partial, it will complain erronously that the line is too long
4 # while it just doesn't have the second DATE column. and that error should be
5 # ignored as warning not fatal as error.
8 %bcond_without acl # build without ACLs support
9 %bcond_without selinux # build without SELinux support
11 Summary: Rotates, compresses, removes and mails system log files
12 Summary(de.UTF-8): Rotiert, komprimiert und verschickt Systemlogs
13 Summary(es.UTF-8): Hace el rutado, comprime y envía mail de logs del sistema
14 Summary(fr.UTF-8): Fait tourner, compresse, et envoie par mail les connexions au système
15 Summary(pl.UTF-8): System rotacji i kompresowania logów
16 Summary(pt_BR.UTF-8): Rotaciona, comprime e envia mail de logs do sistema
17 Summary(ru.UTF-8): Ротирует, компрессирует, удаляет и отправляет по почте лог-файлы
18 Summary(tr.UTF-8): Sistem günlüklerini yönlendirir, sıkıştırır ve mektup olarak yollar
19 Summary(uk.UTF-8): Ротує, компресує, видаляє та відправляє поштою лог-файли
24 Group: Applications/System
25 Source0: https://fedorahosted.org/releases/l/o/logrotate/%{name}-%{version}.tar.gz
26 # Source0-md5: df67c8bda9139131d919931da443794d
28 Source2: %{name}.sysconfig
29 Patch0: %{name}-cron.patch
30 Patch1: %{name}-man.patch
31 Patch2: tabooext.patch
32 URL: https://fedorahosted.org/logrotate/
33 %{?with_acl:BuildRequires: acl-devel}
34 %{?with_selinux:BuildRequires: libselinux-devel}
35 BuildRequires: popt-devel >= 1.3
38 Requires: filesystem >= 4.0-4
40 Requires: setup >= 2.4.6
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 %define statdir /var/lib/misc
47 The logrotate utility is designed to simplify the administration of
48 log files on a system which generates a lot of log files. Logrotate
49 allows for the automatic rotation compression, removal and mailing of
50 log files. Logrotate can be set to handle a log file daily, weekly,
51 monthly or when the log file gets to a certain size. Normally,
52 logrotate runs as a daily cron job.
54 %description -l de.UTF-8
55 Logrotate vereinfacht die Verwaltung von Systemen, die sehr viele
56 Log-Dateien erzeugen, indem es das automatische Rotieren,
57 Komprimieren, Entfernen, und Senden von Log-Dateien ermöglicht. Jede
58 Log-Datei kann täglich, wöchentlich oder monatlich verarbeitet werden,
59 wenn sie zu groß wird.
61 %description -l es.UTF-8
62 Logrotate fue proyectado para facilitar la administración de sistemas
63 que generan gran número de archivos de log. Permite automatización en
64 la rotación, compresión, remoción y envío de mail de archivos de logs.
65 Cada archivo de log puede ser tratado diariamente, semanalmente,
66 mensualmente o cuanto crezca demasiado.
68 %description -l fr.UTF-8
69 Logrotate est conçu pour faciliter l'administration de systèmes qui
70 générent un grand nombre de fichiers de \"log\". Il permet le
71 roulement, la suppréssion la compression et l'envoi automatiques de
72 ces fichiers. Chaque fichier de \"log\" peut être pris en charge de
73 manière quotidienne, hebdomadaire, mensuelle, ou quand il devient trop
76 %description -l pl.UTF-8
77 Logrotate jest przeznaczony do łatwej administracji plikami logów.
78 Program ten pozwala na automatyczną kompresję logów. Może kontrolować
79 logi raz dziennie, raz na miesiąc, raz na tydzień lub wtedy kiedy
80 pliki z logami systemowymi są już duże.
82 %description -l pt_BR.UTF-8
83 Logrotate foi projetado para facilitar a administração de sistemas que
84 geram grande número de arquivos de log. Permite automatização na
85 rotação, compressão, remoção e envio de mail de arquivos de logs. Cada
86 arquivo de log pode ser tratado diariamente, semanalmente, mensalmente
87 ou quanto crescer demais.
89 %description -l ru.UTF-8
90 Logrotate предназначен для облегчения администрирования системы,
91 которая генерирует большое количество файлов с логами. Он позволяет
92 автоматически ротировать, компрессировать, удалять и посылать файлы с
93 логами по e-mail. Каждый лог может обрабатываться ежедневно,
94 еженедельно, ежемесячно или по достижении определенного размера.
96 %description -l tr.UTF-8
97 logrotate çok fazla sayıda günlük dosyası üreten sistemlerin
98 yönetimini kolaylaştırmak için tasarlanmıştır. Kayıt dosyalarının
99 otomatik olarak yönlendirilmesini, sıkıştırılmasını, silinmesinı ve
100 mektup olarak yollanmasını sağlar. Her dosya günlük, haftalık, aylık
101 olarak ya da çok büyük boyutlara ulaştığında işlenebilir.
103 %description -l uk.UTF-8
104 Logrotate призначений для полегшення адміністрування системи, яка
105 генерує велику кількість файлів з логами. Він дозволяє автоматично
106 ротувати, компресувати, видаляти та посилати поштою лог-файли. Кожен
107 лог може оброблятися щоденно, щотижня, щомісяця або по досягненні
119 RPM_OPT_FLAGS="%{rpmcflags}" \
120 WITH_ACL=%{?with_acl:yes}%{!?with_acl:no} \
121 WITH_SELINUX=%{?with_selinux:yes}%{!?with_selinux:no} \
122 STATEFILE="%{statdir}/logrotate.status"
125 rm -rf $RPM_BUILD_ROOT
126 install -d $RPM_BUILD_ROOT/etc/{cron.daily,logrotate.d,sysconfig} \
127 $RPM_BUILD_ROOT{%{_mandir},%{statdir}}
130 BINDIR=$RPM_BUILD_ROOT%{_sbindir} \
131 MANDIR=$RPM_BUILD_ROOT%{_mandir}
133 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.conf
134 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/logrotate
135 install -p examples/logrotate.cron $RPM_BUILD_ROOT/etc/cron.daily/logrotate
136 > $RPM_BUILD_ROOT%{statdir}/logrotate.status
139 rm -rf $RPM_BUILD_ROOT
141 %triggerpostun -- %{name} < 3.7.8-4
142 %{__sed} -i -e 's,olddir /var/log/archiv$,olddir /var/log/archive,' %{_sysconfdir}/logrotate.conf %{_sysconfdir}/logrotate.d/* || :
145 if [ -f /var/lib/logrotate.status ]; then
146 mv -f /var/lib/logrotate.status %{statdir}/logrotate.status
148 touch %{statdir}/logrotate.status
149 chmod 000 %{statdir}/logrotate.status
150 chown root:root %{statdir}/logrotate.status
151 chmod 640 %{statdir}/logrotate.status
155 %defattr(644,root,root,755)
157 %attr(755,root,root) %{_sbindir}/logrotate
158 %attr(750,root,root) /etc/cron.daily/logrotate
159 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
160 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
161 %attr(640,root,root) %ghost %{statdir}/logrotate.status
162 %{_mandir}/man5/logrotate.conf.5*
163 %{_mandir}/man8/logrotate.8*