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