]> git.pld-linux.org Git - packages/logrotate.git/blob - logrotate.spec
- rel 2; prefix output with config name: https://fedorahosted.org/logrotate/ticket/37
[packages/logrotate.git] / logrotate.spec
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.
6 #
7 # Conditional build:
8 %bcond_without  acl             # build without ACLs support
9 %bcond_without  selinux         # build without SELinux support
10 %bcond_without  tests           # do not perform "make test"
11
12 Summary:        Rotates, compresses, removes and mails system log files
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):      Ротує, компресує, видаляє та відправляє поштою лог-файли
21 Name:           logrotate
22 Version:        3.8.7
23 Release:        2
24 License:        GPL v2
25 Group:          Applications/System
26 Source0:        https://fedorahosted.org/releases/l/o/logrotate/%{name}-%{version}.tar.gz
27 # Source0-md5:  99e08503ef24c3e2e3ff74cc5f3be213
28 Source1:        %{name}.conf
29 Source2:        %{name}.sysconfig
30 Source3:        %{name}.cron
31 Source4:        %{name}.crontab
32 Patch1:         %{name}-man.patch
33 Patch2:         tabooext.patch
34 Patch3:         logrotate-print-prog-name.patch
35 URL:            https://fedorahosted.org/logrotate/
36 %{?with_acl:BuildRequires:      acl-devel}
37 %if %{with selinux}
38 BuildRequires:  libselinux-devel
39 %{?with_tests:BuildRequires:    libselinux-utils}
40 %endif
41 BuildRequires:  popt-devel >= 1.3
42 Requires:       coreutils
43 Requires:       crondaemon
44 Requires:       filesystem >= 4.0-4
45 Requires:       gzip
46 Requires:       setup >= 2.4.6
47 Suggests:       /bin/mail
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %define         statdir         /var/lib/misc
51 %define         _libexecdir     %{_prefix}/lib
52
53 %description
54 The logrotate utility is designed to simplify the administration of
55 log files on a system which generates a lot of log files. Logrotate
56 allows for the automatic rotation compression, removal and mailing of
57 log files. Logrotate can be set to handle a log file daily, weekly,
58 monthly or when the log file gets to a certain size. Normally,
59 logrotate runs as a daily cron job.
60
61 %description -l de.UTF-8
62 Logrotate vereinfacht die Verwaltung von Systemen, die sehr viele
63 Log-Dateien erzeugen, indem es das automatische Rotieren,
64 Komprimieren, Entfernen, und Senden von Log-Dateien ermöglicht. Jede
65 Log-Datei kann täglich, wöchentlich oder monatlich verarbeitet werden,
66 wenn sie zu groß wird.
67
68 %description -l es.UTF-8
69 Logrotate fue proyectado para facilitar la administración de sistemas
70 que generan gran número de archivos de log. Permite automatización en
71 la rotación, compresión, remoción y envío de mail de archivos de logs.
72 Cada archivo de log puede ser tratado diariamente, semanalmente,
73 mensualmente o cuanto crezca demasiado.
74
75 %description -l fr.UTF-8
76 Logrotate est conçu pour faciliter l'administration de systèmes qui
77 générent un grand nombre de fichiers de \"log\". Il permet le
78 roulement, la suppréssion la compression et l'envoi automatiques de
79 ces fichiers. Chaque fichier de \"log\" peut être pris en charge de
80 manière quotidienne, hebdomadaire, mensuelle, ou quand il devient trop
81 volumineux.
82
83 %description -l pl.UTF-8
84 Logrotate jest przeznaczony do łatwej administracji plikami logów.
85 Program ten pozwala na automatyczną kompresję logów. Może kontrolować
86 logi raz dziennie, raz na miesiąc, raz na tydzień lub wtedy kiedy
87 pliki z logami systemowymi są już duże.
88
89 %description -l pt_BR.UTF-8
90 Logrotate foi projetado para facilitar a administração de sistemas que
91 geram grande número de arquivos de log. Permite automatização na
92 rotação, compressão, remoção e envio de mail de arquivos de logs. Cada
93 arquivo de log pode ser tratado diariamente, semanalmente, mensalmente
94 ou quanto crescer demais.
95
96 %description -l ru.UTF-8
97 Logrotate предназначен для облегчения администрирования системы,
98 которая генерирует большое количество файлов с логами. Он позволяет
99 автоматически ротировать, компрессировать, удалять и посылать файлы с
100 логами по e-mail. Каждый лог может обрабатываться ежедневно,
101 еженедельно, ежемесячно или по достижении определенного размера.
102
103 %description -l tr.UTF-8
104 logrotate çok fazla sayıda günlük dosyası üreten sistemlerin
105 yönetimini kolaylaştırmak için tasarlanmıştır. Kayıt dosyalarının
106 otomatik olarak yönlendirilmesini, sıkıştırılmasını, silinmesinı ve
107 mektup olarak yollanmasını sağlar. Her dosya günlük, haftalık, aylık
108 olarak ya da çok büyük boyutlara ulaştığında işlenebilir.
109
110 %description -l uk.UTF-8
111 Logrotate призначений для полегшення адміністрування системи, яка
112 генерує велику кількість файлів з логами. Він дозволяє автоматично
113 ротувати, компресувати, видаляти та посилати поштою лог-файли. Кожен
114 лог може оброблятися щоденно, щотижня, щомісяця або по досягненні
115 визначеного розміру.
116
117 %prep
118 %setup -q
119 %patch1 -p1
120 %patch2 -p1
121 %patch3 -p2
122
123 %build
124 %{__make} \
125         CC="%{__cc}" \
126         RPM_OPT_FLAGS="%{rpmcflags} %{rpmcppflags}" \
127         WITH_ACL=%{?with_acl:yes}%{!?with_acl:no} \
128         WITH_SELINUX=%{?with_selinux:yes}%{!?with_selinux:no} \
129         STATEFILE="%{statdir}/logrotate.status"
130
131 %if %{with tests}
132 %{__make} test
133 %endif
134
135 %install
136 rm -rf $RPM_BUILD_ROOT
137 install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,sysconfig} \
138         $RPM_BUILD_ROOT{%{_libexecdir},%{_mandir},%{statdir}}
139
140 %{__make} install \
141         BINDIR=$RPM_BUILD_ROOT%{_sbindir} \
142         MANDIR=$RPM_BUILD_ROOT%{_mandir}
143
144 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.conf
145 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
146 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name}
147 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/%{name}
148 > $RPM_BUILD_ROOT%{statdir}/%{name}.status
149
150 %clean
151 rm -rf $RPM_BUILD_ROOT
152
153 %triggerun -- %{name} < 3.8.6-1
154 # if previous install had /etc/cron.daily/* files unlink (missingok), disable the cronjob
155 if [ ! -e /etc/cron.daily/%{name} ]; then
156         echo DISABLE_LOGROTATE_CRON=yes >> /etc/sysconfig/%{name}
157 fi
158
159 %triggerpostun -- %{name} < 3.7.8-4
160 %{__sed} -i -e 's,olddir /var/log/archiv$,olddir /var/log/archive,' %{_sysconfdir}/%{name}.conf %{_sysconfdir}/logrotate.d/* || :
161
162 %post
163 if [ -f /var/lib/logrotate.status ]; then
164         mv -f /var/lib/logrotate.status %{statdir}/logrotate.status
165 else
166         touch %{statdir}/logrotate.status
167         chmod 000 %{statdir}/logrotate.status
168         chown root:root %{statdir}/logrotate.status
169         chmod 640 %{statdir}/logrotate.status
170 fi
171
172 %files
173 %defattr(644,root,root,755)
174 %doc CHANGES
175 %attr(755,root,root) %{_sbindir}/logrotate
176 %attr(755,root,root) %{_libexecdir}/logrotate
177 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf
178 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
179 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
180 %attr(640,root,root) %ghost %{statdir}/logrotate.status
181 %{_mandir}/man5/logrotate.conf.5*
182 %{_mandir}/man8/logrotate.8*
This page took 0.201992 seconds and 4 git commands to generate.