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