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