]> git.pld-linux.org Git - packages/syslog-ng.git/blame - syslog-ng.spec
- do not restart the upstart service twice
[packages/syslog-ng.git] / syslog-ng.spec
CommitLineData
5aa38709 1#
8eca2e89 2# Conditional build:
808ca97e
JR
3%bcond_with dynamic # link dynamically with glib, eventlog, pcre, openssl
4%bcond_without sql # build without support for logging to SQL DB
f3688193 5%bcond_without tests
5461d50b
ER
6
7%define glib2_ver 2.24.0
80a87a81 8Summary: Syslog-ng - new generation of the system logger
f7affeae
ER
9Summary(pl.UTF-8): Syslog-ng - zamiennik syskloga
10Summary(pt_BR.UTF-8): Daemon de log nova geração
db55bc6c 11Name: syslog-ng
ab164ac9 12Version: 3.0.5
18196c28 13Release: 3.6
2cb1bc96 14License: GPL v2
db55bc6c 15Group: Daemons
f6baa24a 16Source0: http://www.balabit.com/downloads/files/syslog-ng/sources/%{version}/source/%{name}_%{version}.tar.gz
ab164ac9 17# Source0-md5: 28f0d9ff2243b330e8cd6311ef9b2f12
70c1937a 18Source1: %{name}.init
19Source2: %{name}.conf
e0f9b227 20Source3: %{name}.logrotate
0872fe7c 21Source4: http://www.balabit.com/dl/guides/%{name}-v3.0-guide-admin-en.pdf
f6baa24a 22# Source4-md5: 1a801f138a9a2245009ecb617be4338b
0872fe7c 23Source5: %{name}-simple.conf
c3d7f31f 24Source6: %{name}.upstart
489ceddf 25Patch0: %{name}-link.patch
4d910d4c 26Patch1: %{name}-datadir.patch
ab164ac9
AM
27Patch2: %{name}-pyssl.patch
28Patch3: bug-15.patch
34c905de 29URL: http://www.balabit.com/products/syslog_ng/
96ef1ac7 30BuildRequires: autoconf >= 2.53
53500332 31BuildRequires: automake
c807fdfe 32BuildRequires: bison
ac9ca8e0 33BuildRequires: flex
bf8c4b27 34BuildRequires: pkgconfig
da4f5bde 35BuildRequires: rpmbuild(macros) >= 1.268
bc708ef6 36%if %{with tests}
ab164ac9 37BuildRequires: libdbi-drivers-sqlite3
bc708ef6
AF
38BuildRequires: tzdata
39%endif
8eca2e89 40%if %{with dynamic}
60232b55 41BuildRequires: eventlog-devel >= 0.2
5461d50b 42BuildRequires: glib2-devel >= 1:%{glib2_ver}
808ca97e
JR
43BuildRequires: libcap-devel
44%if %{with sql}
45BuildRequires: libdbi-devel >= 0.8.3-2
46%endif
422b3485
JB
47BuildRequires: libnet-devel >= 1:1.1.2.1-3
48BuildRequires: libwrap-devel
808ca97e
JR
49BuildRequires: openssl-devel >= 0.9.8
50BuildRequires: pcre-devel
8eca2e89 51%else
60232b55 52BuildRequires: eventlog-static >= 0.2
5461d50b 53BuildRequires: glib2-static >= 1:%{glib2_ver}
808ca97e
JR
54BuildRequires: glibc-static
55BuildRequires: libcap-static
56%if %{with sql}
57BuildRequires: libdbi-static >= 0.8.3-2
58%endif
422b3485
JB
59BuildRequires: libnet-static >= 1:1.1.2.1-3
60BuildRequires: libwrap-static
808ca97e
JR
61BuildRequires: openssl-static >= 0.9.8
62BuildRequires: pcre-static
63BuildRequires: zlib-static
8eca2e89 64%endif
768882cc 65Requires(post): fileutils
cc4597b5 66Requires(post,preun): /sbin/chkconfig
5461d50b 67Requires: glib2 >= 1:%{glib2_ver}
0471c4e3 68Requires: psmisc >= 20.1
622aa91c 69Requires: rc-scripts >= 0.4.3.0
18a2d4ea 70Provides: syslogdaemon
5db3c127 71Conflicts: klogd
1a409b7d 72Conflicts: msyslog
0baee825 73Conflicts: syslog
8a78073d 74BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
db55bc6c 75
c3d7f31f
JK
76## to be moved to rpm-build-macros
77## TODO: handle RPM_SKIP_AUTO_RESTART
78
79# migrate from init script to upstart job
80%define upstart_post() \
81 if [ -f /var/lock/subsys/"%1" ] ; then \
82 /sbin/service --no-upstart "%1" stop \
83 /sbin/service "%1" start \
84 fi
85
86# restart the job after upgrade or migrate to init script on removal
18196c28
JK
87# cannot be stopped with 'service' as /etc/init/$name.conf may be missing
88# at this point
c3d7f31f
JK
89%define upstart_postun() \
90 if [ -x /sbin/initctl ] && /sbin/initctl status "%1" 2>/dev/null | grep -q 'running' ; then \
18196c28
JK
91 /sbin/initctl stop "%1" >/dev/null 2>&1 \
92 [ -f "/etc/rc.d/init.d/%1" -o -f "/etc/init/%1.conf" ] && { echo -n "Re-" ; /sbin/service "%1" start ; } ; \
c3d7f31f
JK
93 fi
94
db55bc6c 95%description
a42dcc7c 96syslog-ng is a syslogd replacement for Unix and Unix-like systems. It
70c1937a 97has been tested on Solaris, BSDi and Linux, and were found to run
98reliably. syslog-ng gives you a much enhanced configuration scheme,
99which lets you filter messages based on not only priority/facility
100pairs, but also on message content. You can use regexps to direct log
101stream to different destinations. A destination can be anything from a
102simple file to a network connection. syslog-ng supports TCP
103logforwarding, together with hashing to prevent unauthorized
104modification on the line.
db55bc6c 105
6ab9000c
JR
106%description -l pl.UTF-8
107Syslog-ng jest zamiennikiem dla standardowo używanych programów typu
a42dcc7c 108syslog. Działa w systemie SunOS, BSD, Linux. Daje znacznie większe
6ab9000c 109możliwości logowania i kontrolowania zbieranych informacji.
db55bc6c 110
6ab9000c
JR
111%description -l pt_BR.UTF-8
112Syslog-ng é um substituto para o syslog tradicional, mas com diversas
02e7b20a 113melhorias, como, por exemplo, a habilidade de filtrar mensagens de log
6ab9000c 114por seu conteúdo (usando expressões regulares) e não apenas pelo par
02e7b20a 115facility/prioridade como o syslog original.
116
c3d7f31f
JK
117%package upstart
118Summary: Upstart job description for syslog-ng
119Summary(pl.UTF-8): Opis zadania Upstart dl syslog-ng
120Group: Daemons
121Requires: %{name} = %{version}-%{release}
122Requires: upstart >= 0.6
123
124%description upstart
125Upstart job description for syslog-ng.
126
127%description upstart -l pl.UTF-8
128Opis zadania Upstart dl syslog-ng.
129
db55bc6c 130%prep
40b3220e 131%setup -q
489ceddf 132%patch0 -p1
4d910d4c 133%patch1 -p1
831a39da
JR
134%patch2 -p1
135%patch3 -p1
0872fe7c
ER
136cp -a %{SOURCE4} doc
137cp -a %{SOURCE5} contrib
b6fee34c 138
db55bc6c 139%build
9bb26796 140%{__aclocal}
4ce65bfa 141%{__autoconf}
142%{__automake}
c67bc54f 143%configure \
8eca2e89 144 --sysconfdir=%{_sysconfdir}/syslog-ng \
808ca97e
JR
145 --with-timezone-dir=%{_datadir}/zoneinfo \
146 --with-pidfile-dir=/var/run \
147 --enable-ssl \
148 --enable-ipv6 \
149 --enable-tcp-wrapper \
150 --enable-spoof-source \
151 --enable-linux-caps \
152 --enable-pcre \
153%if %{with sql}
154 --enable-sql \
155%endif
8eca2e89
JB
156%if %{with dynamic}
157 --enable-dynamic-linking
158%endif
4298f6c0 159
84ad47e7 160%{__make}
db55bc6c 161
f3688193
AM
162%{?with_tests:%{__make} check}
163
db55bc6c 164%install
db55bc6c 165rm -rf $RPM_BUILD_ROOT
c3d7f31f 166install -d $RPM_BUILD_ROOT{/etc/{init,sysconfig,logrotate.d,rc.d/init.d},%{_sysconfdir}/syslog-ng} \
4d910d4c 167 $RPM_BUILD_ROOT/var/{log,lib/%{name}}
db55bc6c 168
4d7c194a
PG
169%{__make} install \
170 DESTDIR=$RPM_BUILD_ROOT
db55bc6c 171
828bccc0 172install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/syslog-ng
a25388f3 173install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/syslog-ng.conf
aa6d4755 174install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/syslog-ng
db55bc6c 175
210bfb29 176for n in daemon debug iptables kernel lpr maillog messages secure spooler syslog user xferlog
3fb60e3b
JR
177do
178 > $RPM_BUILD_ROOT/var/log/$n
179done
2a14aff2 180touch $RPM_BUILD_ROOT/etc/sysconfig/%{name}
db55bc6c 181
f2972fae
ER
182rm $RPM_BUILD_ROOT%{_bindir}/loggen
183
c3d7f31f
JK
184install %{SOURCE6} $RPM_BUILD_ROOT/etc/init/%{name}.conf
185
80a87a81
JB
186%clean
187rm -rf $RPM_BUILD_ROOT
188
db55bc6c 189%post
0b833f9b 190/sbin/chkconfig --add syslog-ng
da4f5bde 191%service syslog-ng restart "syslog-ng daemon"
db55bc6c 192
193%preun
0b833f9b 194if [ "$1" = "0" ]; then
da4f5bde 195 %service syslog-ng stop
0b833f9b 196 /sbin/chkconfig --del syslog-ng
197fi
db55bc6c 198
c3d7f31f
JK
199%post upstart
200%upstart_post %{name}
201
202%postun upstart
203%upstart_postun %{name}
204
31446e62 205%triggerun -- syslog-ng < 3.0
60bdc15a 206sed -i -e 's#sync(\(.*\))#flush_lines(\1)#g' /etc/syslog-ng/syslog-ng.conf
31446e62
AM
207sed -i -e 's#pipe ("/proc/kmsg"#file ("/proc/kmsg"#g' /etc/syslog-ng/syslog-ng.conf
208sed -i -e 's#log_prefix#program_override#g' /etc/syslog-ng/syslog-ng.conf
209sed -i -e 's#^destination #destination d_#g' /etc/syslog-ng/syslog-ng.conf
210sed -i -e 's#destination(#destination(d_#g' /etc/syslog-ng/syslog-ng.conf
01113c19 211sed -i -e 's,\bstats\b,stats_freq,' /etc/syslog-ng/syslog-ng.conf
31446e62
AM
212sed -i -e 's#match("IN\=\[A-Za-z0-9\]\* OUT=\[A-Za-z0-9\]\*");#match("IN=[A-Za-z0-9]* OUT=[A-Za-z0-9]*" value("MESSAGE"));#g' /etc/syslog-ng/syslog-ng.conf
213sed -i -e "1 s#\(.*\)\$#@version: 3.0\n\1#g" /etc/syslog-ng/syslog-ng.conf
214rm -f %{_var}/lib/%{name}/syslog-ng.persist
e3a52627 215%service -q syslog-ng restart
31446e62
AM
216exit 0
217
db55bc6c 218%files
a25388f3 219%defattr(644,root,root,755)
c4b9c12b 220%doc AUTHORS ChangeLog NEWS debian/syslog-ng.conf* contrib/{relogger.pl,syslog-ng.vim}
0872fe7c
ER
221%doc doc/examples/syslog-ng.conf.sample contrib/syslog-ng.conf.{doc,RedHat} contrib/syslog-ng-simple.conf
222%doc contrib/{apparmor,selinux,syslog2ng} doc/syslog-ng-v3.0-guide-admin-en.pdf
2a14aff2 223%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
a25388f3 224%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng
cc4597b5
ER
225%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/syslog-ng/syslog-ng.conf
226%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/syslog-ng
a25388f3 227%attr(754,root,root) /etc/rc.d/init.d/syslog-ng
302dff3f 228%attr(755,root,root) %{_sbindir}/syslog-ng
4d910d4c 229%dir %{_var}/lib/%{name}
81f47e04
JB
230%{_mandir}/man5/syslog-ng.conf.5*
231%{_mandir}/man8/syslog-ng.8*
822b8fbf 232
3fb60e3b 233%attr(640,root,root) %ghost /var/log/*
c3d7f31f
JK
234
235%files upstart
236%defattr(644,root,root,755)
237%config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf
This page took 0.113632 seconds and 4 git commands to generate.