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