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