]>
Commit | Line | Data |
---|---|---|
c859e311 ER |
1 | # TODO |
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. | |
99e01202 | 6 | # |
360d9203 | 7 | # Conditional build: |
c1a84c5a | 8 | %bcond_without acl # build without ACLs support |
971f6ad2 | 9 | %bcond_without selinux # build without SELinux support |
ba301319 | 10 | %bcond_without tests # do not perform "make test" |
9853feb5 | 11 | |
a9077c2d | 12 | Summary: Rotates, compresses, removes and mails system log files |
fc062c54 ER |
13 | Summary(de.UTF-8): Rotiert, komprimiert und verschickt Systemlogs |
14 | Summary(es.UTF-8): Hace el rutado, comprime y envía mail de logs del sistema | |
15 | Summary(fr.UTF-8): Fait tourner, compresse, et envoie par mail les connexions au système | |
16 | Summary(pl.UTF-8): System rotacji i kompresowania logów | |
17 | Summary(pt_BR.UTF-8): Rotaciona, comprime e envia mail de logs do sistema | |
18 | Summary(ru.UTF-8): Ротирует, компрессирует, удаляет и отправляет по почте лог-файлы | |
19 | Summary(tr.UTF-8): Sistem günlüklerini yönlendirir, sıkıştırır ve mektup olarak yollar | |
20 | Summary(uk.UTF-8): Ротує, компресує, видаляє та відправляє поштою лог-файли | |
696caff4 | 21 | Name: logrotate |
9628a6df | 22 | Version: 3.10.0 |
fc097ee8 | 23 | Release: 1 |
971f6ad2 | 24 | License: GPL v2 |
4ebceb10 | 25 | Group: Applications/System |
9628a6df ER |
26 | Source0: https://github.com/logrotate/logrotate/releases/download/%{version}/%{name}-%{version}.tar.xz |
27 | # Source0-md5: 812705ff58ad308c82b1a6fac1031949 | |
876d3ef4 | 28 | Source1: %{name}.conf |
7edee911 | 29 | Source2: %{name}.sysconfig |
715253b2 | 30 | Source3: %{name}.cron |
287810e7 | 31 | Source4: %{name}.crontab |
736e97b1 | 32 | Patch1: %{name}-man.patch |
cee13d63 | 33 | Patch2: tabooext.patch |
b6600325 | 34 | Patch3: %{name}-largefile.patch |
fc097ee8 | 35 | URL: https://github.com/logrotate/logrotate |
c1a84c5a | 36 | %{?with_acl:BuildRequires: acl-devel} |
2a839977 | 37 | BuildRequires: autoconf >= 2.50 |
565310a7 | 38 | BuildRequires: automake >= 1:1.13 |
9628a6df ER |
39 | BuildRequires: tar >= 1:1.22 |
40 | BuildRequires: xz | |
ba301319 JB |
41 | %if %{with selinux} |
42 | BuildRequires: libselinux-devel | |
43 | %{?with_tests:BuildRequires: libselinux-utils} | |
44 | %endif | |
99e01202 | 45 | BuildRequires: popt-devel >= 1.3 |
95ccc9b2 | 46 | Requires(post): coreutils |
e3a1a7ab | 47 | Requires: coreutils |
cda4bc19 | 48 | Requires: crondaemon |
b3a5c230 | 49 | Requires: filesystem >= 4.0-4 |
6b20ff2b | 50 | Requires: gzip |
015fb5e8 | 51 | Requires: setup >= 2.4.6 |
2ba54a5a | 52 | Suggests: /bin/mail |
5deb0f04 | 53 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
e80fc1f7 | 54 | |
1bd207cb | 55 | %define statdir /var/lib/misc |
287810e7 | 56 | %define _libexecdir %{_prefix}/lib |
1bd207cb | 57 | |
e80fc1f7 | 58 | %description |
48058559 | 59 | The logrotate utility is designed to simplify the administration of |
60 | log files on a system which generates a lot of log files. Logrotate | |
61 | allows for the automatic rotation compression, removal and mailing of | |
62 | log files. Logrotate can be set to handle a log file daily, weekly, | |
63 | monthly or when the log file gets to a certain size. Normally, | |
64 | logrotate runs as a daily cron job. | |
e80fc1f7 | 65 | |
7afa4f64 | 66 | %description -l de.UTF-8 |
e80fc1f7 | 67 | Logrotate vereinfacht die Verwaltung von Systemen, die sehr viele |
48058559 | 68 | Log-Dateien erzeugen, indem es das automatische Rotieren, |
7afa4f64 JR |
69 | Komprimieren, Entfernen, und Senden von Log-Dateien ermöglicht. Jede |
70 | Log-Datei kann täglich, wöchentlich oder monatlich verarbeitet werden, | |
71 | wenn sie zu groß wird. | |
72 | ||
73 | %description -l es.UTF-8 | |
74 | Logrotate fue proyectado para facilitar la administración de sistemas | |
75 | que generan gran número de archivos de log. Permite automatización en | |
76 | la rotación, compresión, remoción y envío de mail de archivos de logs. | |
4ebceb10 | 77 | Cada archivo de log puede ser tratado diariamente, semanalmente, |
78 | mensualmente o cuanto crezca demasiado. | |
6a0a66b5 | 79 | |
7afa4f64 JR |
80 | %description -l fr.UTF-8 |
81 | Logrotate est conçu pour faciliter l'administration de systèmes qui | |
82 | générent un grand nombre de fichiers de \"log\". Il permet le | |
83 | roulement, la suppréssion la compression et l'envoi automatiques de | |
84 | ces fichiers. Chaque fichier de \"log\" peut être pris en charge de | |
85 | manière quotidienne, hebdomadaire, mensuelle, ou quand il devient trop | |
48058559 | 86 | volumineux. |
e80fc1f7 | 87 | |
7afa4f64 JR |
88 | %description -l pl.UTF-8 |
89 | Logrotate jest przeznaczony do łatwej administracji plikami logów. | |
90 | Program ten pozwala na automatyczną kompresję logów. Może kontrolować | |
91 | logi raz dziennie, raz na miesiąc, raz na tydzień lub wtedy kiedy | |
92 | pliki z logami systemowymi są już duże. | |
e80fc1f7 | 93 | |
7afa4f64 JR |
94 | %description -l pt_BR.UTF-8 |
95 | Logrotate foi projetado para facilitar a administração de sistemas que | |
96 | geram grande número de arquivos de log. Permite automatização na | |
97 | rotação, compressão, remoção e envio de mail de arquivos de logs. Cada | |
894360d3 | 98 | arquivo de log pode ser tratado diariamente, semanalmente, mensalmente |
99 | ou quanto crescer demais. | |
82588add | 100 | |
7afa4f64 JR |
101 | %description -l ru.UTF-8 |
102 | Logrotate предназначен для облегчения администрирования системы, | |
103 | которая генерирует большое количество файлов с логами. Он позволяет | |
104 | автоматически ротировать, компрессировать, удалять и посылать файлы с | |
105 | логами по e-mail. Каждый лог может обрабатываться ежедневно, | |
106 | еженедельно, ежемесячно или по достижении определенного размера. | |
107 | ||
108 | %description -l tr.UTF-8 | |
109 | logrotate çok fazla sayıda günlük dosyası üreten sistemlerin | |
110 | yönetimini kolaylaştırmak için tasarlanmıştır. Kayıt dosyalarının | |
111 | otomatik olarak yönlendirilmesini, sıkıştırılmasını, silinmesinı ve | |
112 | mektup olarak yollanmasını sağlar. Her dosya günlük, haftalık, aylık | |
113 | olarak ya da çok büyük boyutlara ulaştığında işlenebilir. | |
114 | ||
115 | %description -l uk.UTF-8 | |
116 | Logrotate призначений для полегшення адміністрування системи, яка | |
117 | генерує велику кількість файлів з логами. Він дозволяє автоматично | |
118 | ротувати, компресувати, видаляти та посилати поштою лог-файли. Кожен | |
119 | лог може оброблятися щоденно, щотижня, щомісяця або по досягненні | |
120 | визначеного розміру. | |
82588add | 121 | |
e80fc1f7 | 122 | %prep |
dc6f0c74 | 123 | %setup -q |
736e97b1 | 124 | %patch1 -p1 |
cee13d63 | 125 | %patch2 -p1 |
b6600325 | 126 | %patch3 -p1 |
e80fc1f7 | 127 | |
6e5446f3 AM |
128 | echo ' |
129 | #undef STATEFILE | |
130 | #define STATEFILE "%{statdir}/logrotate.status" | |
131 | ' >> config.h | |
132 | ||
e80fc1f7 | 133 | %build |
6e5446f3 AM |
134 | %{__aclocal} |
135 | %{__autoconf} | |
136 | %{__automake} | |
137 | ||
138 | %configure \ | |
139 | --disable-silent-rules \ | |
140 | --with%{!?with_acl:out}-acl \ | |
141 | --with%{!?with_selinux:out}-selinux \ | |
142 | ||
143 | %{__make} | |
e80fc1f7 | 144 | |
9853feb5 ER |
145 | %if %{with tests} |
146 | %{__make} test | |
147 | %endif | |
148 | ||
e80fc1f7 | 149 | %install |
150 | rm -rf $RPM_BUILD_ROOT | |
287810e7 ER |
151 | install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,sysconfig} \ |
152 | $RPM_BUILD_ROOT{%{_libexecdir},%{_mandir},%{statdir}} | |
e80fc1f7 | 153 | |
0a863b0d | 154 | %{__make} install \ |
6e5446f3 | 155 | DESTDIR=$RPM_BUILD_ROOT |
01a0c524 | 156 | |
cee13d63 | 157 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.conf |
287810e7 ER |
158 | cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name} |
159 | install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name} | |
160 | cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name} | |
161 | > $RPM_BUILD_ROOT%{statdir}/%{name}.status | |
e80fc1f7 | 162 | |
163 | %clean | |
164 | rm -rf $RPM_BUILD_ROOT | |
165 | ||
287810e7 ER |
166 | %triggerun -- %{name} < 3.8.6-1 |
167 | # if previous install had /etc/cron.daily/* files unlink (missingok), disable the cronjob | |
168 | if [ ! -e /etc/cron.daily/%{name} ]; then | |
169 | echo DISABLE_LOGROTATE_CRON=yes >> /etc/sysconfig/%{name} | |
170 | fi | |
171 | ||
82be549b | 172 | %triggerpostun -- %{name} < 3.7.8-4 |
287810e7 | 173 | %{__sed} -i -e 's,olddir /var/log/archiv$,olddir /var/log/archive,' %{_sysconfdir}/%{name}.conf %{_sysconfdir}/logrotate.d/* || : |
82be549b | 174 | |
007c1a92 | 175 | %post |
1bd207cb JB |
176 | if [ -f /var/lib/logrotate.status ]; then |
177 | mv -f /var/lib/logrotate.status %{statdir}/logrotate.status | |
178 | else | |
179 | touch %{statdir}/logrotate.status | |
180 | chmod 000 %{statdir}/logrotate.status | |
e2aefaf5 | 181 | chown root:root %{statdir}/logrotate.status |
1bd207cb JB |
182 | chmod 640 %{statdir}/logrotate.status |
183 | fi | |
007c1a92 | 184 | |
e80fc1f7 | 185 | %files |
696caff4 | 186 | %defattr(644,root,root,755) |
4f94bac4 | 187 | %attr(755,root,root) %{_sbindir}/logrotate |
287810e7 ER |
188 | %attr(755,root,root) %{_libexecdir}/logrotate |
189 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf | |
c859e311 | 190 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} |
287810e7 | 191 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name} |
1bd207cb | 192 | %attr(640,root,root) %ghost %{statdir}/logrotate.status |
4ec7f55f | 193 | %{_mandir}/man5/logrotate.conf.5* |
e3a1a7ab | 194 | %{_mandir}/man8/logrotate.8* |