]> git.pld-linux.org Git - packages/syslog-ng.git/blame - syslog-ng.spec
- drop link patch since conflicts with syslog-ng developers idea of linking; filterou...
[packages/syslog-ng.git] / syslog-ng.spec
CommitLineData
5aa38709 1#
cec64641
JR
2# TODO:
3# - move SQL module to a separate package
3cb74b26 4# - relies on libs in /usr/ which is wrong
cec64641 5#
8eca2e89 6# Conditional build:
808ca97e 7%bcond_with dynamic # link dynamically with glib, eventlog, pcre, openssl
306cd2c9 8%if "%{pld_release}" == "ac"
544d8db5 9%bcond_with sql # build with support for logging to SQL DB
306cd2c9 10%else
808ca97e 11%bcond_without sql # build without support for logging to SQL DB
306cd2c9 12%endif
f3688193 13%bcond_without tests
5461d50b 14
306cd2c9
ER
15%if "%{pld_release}" == "ac"
16%define glib2_ver 2.16.0
17%else
5461d50b 18%define glib2_ver 2.24.0
306cd2c9 19%endif
80a87a81 20Summary: Syslog-ng - new generation of the system logger
f7affeae
ER
21Summary(pl.UTF-8): Syslog-ng - zamiennik syskloga
22Summary(pt_BR.UTF-8): Daemon de log nova geração
db55bc6c 23Name: syslog-ng
d132f512 24Version: 3.2.4
1fe2e76c 25Release: 0.1
2cb1bc96 26License: GPL v2
db55bc6c 27Group: Daemons
f6baa24a 28Source0: http://www.balabit.com/downloads/files/syslog-ng/sources/%{version}/source/%{name}_%{version}.tar.gz
d132f512 29# Source0-md5: 5995f7dad0053a478b60a63f6f754203
70c1937a 30Source1: %{name}.init
31Source2: %{name}.conf
e0f9b227 32Source3: %{name}.logrotate
cec64641
JR
33Source4: http://www.balabit.com/support/documentation/syslog-ng-ose-v3.2-guide-admin-en_0.pdf
34# Source4-md5: 4fa86dc863ed0206c004b3be7292bcbf
0872fe7c 35Source5: %{name}-simple.conf
c3d7f31f 36Source6: %{name}.upstart
35907845 37Patch0: %{name}-datadir.patch
34c905de 38URL: http://www.balabit.com/products/syslog_ng/
96ef1ac7 39BuildRequires: autoconf >= 2.53
53500332 40BuildRequires: automake
c807fdfe 41BuildRequires: bison
ac9ca8e0 42BuildRequires: flex
bf8c4b27 43BuildRequires: pkgconfig
306cd2c9 44BuildRequires: rpm >= 4.4.9-56
1337adb4 45BuildRequires: rpmbuild(macros) >= 1.561
24642adc 46BuildRequires: which
bc708ef6 47%if %{with tests}
306cd2c9 48%{?with_sql:BuildRequires: libdbi-drivers-sqlite3}
24642adc 49BuildRequires: python
50BuildRequires: python-modules
bc708ef6
AF
51BuildRequires: tzdata
52%endif
8eca2e89 53%if %{with dynamic}
d132f512 54BuildRequires: eventlog-devel >= 0.2.12
5461d50b 55BuildRequires: glib2-devel >= 1:%{glib2_ver}
808ca97e 56BuildRequires: libcap-devel
24642adc 57%{?with_sql:BuildRequires: libdbi-devel >= 0.8.3-2}
422b3485
JB
58BuildRequires: libnet-devel >= 1:1.1.2.1-3
59BuildRequires: libwrap-devel
306cd2c9 60BuildRequires: openssl-devel
808ca97e 61BuildRequires: pcre-devel
8eca2e89 62%else
d132f512 63BuildRequires: eventlog-static >= 0.2.12
5461d50b 64BuildRequires: glib2-static >= 1:%{glib2_ver}
808ca97e
JR
65BuildRequires: glibc-static
66BuildRequires: libcap-static
24642adc 67%{?with_sql:BuildRequires: libdbi-static >= 0.8.3-2}
422b3485
JB
68BuildRequires: libnet-static >= 1:1.1.2.1-3
69BuildRequires: libwrap-static
306cd2c9 70BuildRequires: openssl-static
808ca97e
JR
71BuildRequires: pcre-static
72BuildRequires: zlib-static
cec64641 73Requires: libnet >= 1:1.1.2.1-7
8eca2e89 74%endif
768882cc 75Requires(post): fileutils
cc4597b5 76Requires(post,preun): /sbin/chkconfig
5461d50b 77Requires: glib2 >= 1:%{glib2_ver}
0471c4e3 78Requires: psmisc >= 20.1
622aa91c 79Requires: rc-scripts >= 0.4.3.0
18a2d4ea 80Provides: syslogdaemon
5db3c127 81Conflicts: klogd
1a409b7d 82Conflicts: msyslog
0baee825 83Conflicts: syslog
8a78073d 84BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
db55bc6c 85
35907845
AM
86# syslog-ng has really crazy linking rules (see their bugzilla).
87# Some rules, according to syslog-ng devs, are like this:
88# - libsyslog-ng.so has undefined symbols for third party libraries
89# and these symbols should go via main syslog-ng binary
90# - same applies for modules
bb38cad4
JR
91%if %{without dynamic}
92%define no_install_post_check_so 1
35907845
AM
93# filterout_ld - see comment few lines above
94%define filterout_ld -Wl,--as-needed -Wl,--no-copy-dt-needed-entries
bb38cad4
JR
95%define _sbindir /sbin
96%define _libdir /%{_lib}
97%endif
98
db55bc6c 99%description
a42dcc7c 100syslog-ng is a syslogd replacement for Unix and Unix-like systems. It
70c1937a 101has been tested on Solaris, BSDi and Linux, and were found to run
102reliably. syslog-ng gives you a much enhanced configuration scheme,
103which lets you filter messages based on not only priority/facility
104pairs, but also on message content. You can use regexps to direct log
105stream to different destinations. A destination can be anything from a
106simple file to a network connection. syslog-ng supports TCP
107logforwarding, together with hashing to prevent unauthorized
108modification on the line.
db55bc6c 109
6ab9000c
JR
110%description -l pl.UTF-8
111Syslog-ng jest zamiennikiem dla standardowo używanych programów typu
a42dcc7c 112syslog. Działa w systemie SunOS, BSD, Linux. Daje znacznie większe
6ab9000c 113możliwości logowania i kontrolowania zbieranych informacji.
db55bc6c 114
6ab9000c
JR
115%description -l pt_BR.UTF-8
116Syslog-ng é um substituto para o syslog tradicional, mas com diversas
02e7b20a 117melhorias, como, por exemplo, a habilidade de filtrar mensagens de log
6ab9000c 118por seu conteúdo (usando expressões regulares) e não apenas pelo par
02e7b20a 119facility/prioridade como o syslog original.
120
c3d7f31f
JK
121%package upstart
122Summary: Upstart job description for syslog-ng
1337adb4 123Summary(pl.UTF-8): Opis zadania Upstart dla syslog-ng
c3d7f31f
JK
124Group: Daemons
125Requires: %{name} = %{version}-%{release}
126Requires: upstart >= 0.6
127
128%description upstart
129Upstart job description for syslog-ng.
130
131%description upstart -l pl.UTF-8
1337adb4 132Opis zadania Upstart dla syslog-ng.
c3d7f31f 133
db55bc6c 134%prep
40b3220e 135%setup -q
489ceddf 136%patch0 -p1
0872fe7c 137cp -a %{SOURCE4} doc
f83d4749 138cp -a %{SOURCE5} contrib/syslog-ng.conf.simple
b6fee34c 139
cec64641
JR
140%{__sed} -i -e 's|/usr/bin/awk|/bin/awk|' scl/syslogconf/convert-syslogconf.awk
141
db55bc6c 142%build
1fe2e76c
AM
143%{__libtoolize}
144%{__aclocal} -I m4
4ce65bfa 145%{__autoconf}
146%{__automake}
c67bc54f 147%configure \
8eca2e89 148 --sysconfdir=%{_sysconfdir}/syslog-ng \
303be384 149 --datadir=%{_datadir}/syslog-ng \
bb38cad4 150 --with-module-dir=%{_libdir}/syslog-ng \
808ca97e
JR
151 --with-timezone-dir=%{_datadir}/zoneinfo \
152 --with-pidfile-dir=/var/run \
153 --enable-ssl \
154 --enable-ipv6 \
155 --enable-tcp-wrapper \
156 --enable-spoof-source \
157 --enable-linux-caps \
158 --enable-pcre \
1fe2e76c 159 --enable-pacct \
808ca97e
JR
160%if %{with sql}
161 --enable-sql \
162%endif
8eca2e89
JB
163%if %{with dynamic}
164 --enable-dynamic-linking
bb38cad4
JR
165%else
166 --enable-mixed-linking
8eca2e89 167%endif
4298f6c0 168
84ad47e7 169%{__make}
db55bc6c 170
f3688193
AM
171%{?with_tests:%{__make} check}
172
db55bc6c 173%install
db55bc6c 174rm -rf $RPM_BUILD_ROOT
303be384
JR
175install -d $RPM_BUILD_ROOT/etc/{init,sysconfig,logrotate.d,rc.d/init.d} \
176 $RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/patterndb.d \
cd6284ba 177 $RPM_BUILD_ROOT/var/{log,lib/%{name}/xsd}
db55bc6c 178
1fe2e76c 179%{__make} -j1 install \
4d7c194a 180 DESTDIR=$RPM_BUILD_ROOT
db55bc6c 181
544d8db5 182%{__sed} -e 's|@@SBINDIR@@|%{_sbindir}|g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/syslog-ng
306cd2c9
ER
183cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/syslog-ng.conf
184cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/syslog-ng
db55bc6c 185
306cd2c9 186for n in daemon debug iptables kernel lpr maillog messages secure spooler syslog user xferlog; do
3fb60e3b
JR
187 > $RPM_BUILD_ROOT/var/log/$n
188done
2a14aff2 189touch $RPM_BUILD_ROOT/etc/sysconfig/%{name}
db55bc6c 190
bb38cad4
JR
191%{__rm} $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}/loggen*
192%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.{so,la}
193%{__rm} $RPM_BUILD_ROOT%{_libdir}/syslog-ng/*.la
f2972fae 194
306cd2c9 195%if "%{pld_release}" == "th"
59aab0b4 196%{__sed} -e 's|@@SBINDIR@@|%{_sbindir}|g' %{SOURCE6} > $RPM_BUILD_ROOT/etc/init/%{name}.conf
306cd2c9 197%endif
c3d7f31f 198
80a87a81
JB
199%clean
200rm -rf $RPM_BUILD_ROOT
201
db55bc6c 202%post
bb38cad4 203/sbin/ldconfig
1519c9ad
ER
204if [ "$1" = "1" ]; then
205 # disable /proc/kmsg from config on first install on vserver
206 {
207 while read f ctx; do
208 [ "$f" = "VxID:" -o "$f" = "s_context:" ] && break
209 done </proc/self/status
210 } 2>/dev/null
211 if [ -z "$ctx" -o "$ctx" = "0" ]; then
212 VSERVER=no
213 else
214 VSERVER=yes
215 fi
216 if [ "$VSERVER" = "yes" ]; then
217 %{__sed} -i -e '/\/proc\/kmsg/ s/^[^#]/#&/' %{_sysconfdir}/%{name}/%{name}.conf
218 fi
219fi
220
0b833f9b 221/sbin/chkconfig --add syslog-ng
da4f5bde 222%service syslog-ng restart "syslog-ng daemon"
db55bc6c 223
224%preun
0b833f9b 225if [ "$1" = "0" ]; then
da4f5bde 226 %service syslog-ng stop
0b833f9b 227 /sbin/chkconfig --del syslog-ng
228fi
db55bc6c 229
bb38cad4
JR
230%postun -p /sbin/ldconfig
231
c3d7f31f
JK
232%post upstart
233%upstart_post %{name}
234
235%postun upstart
236%upstart_postun %{name}
237
31446e62 238%triggerun -- syslog-ng < 3.0
60bdc15a 239sed -i -e 's#sync(\(.*\))#flush_lines(\1)#g' /etc/syslog-ng/syslog-ng.conf
31446e62
AM
240sed -i -e 's#pipe ("/proc/kmsg"#file ("/proc/kmsg"#g' /etc/syslog-ng/syslog-ng.conf
241sed -i -e 's#log_prefix#program_override#g' /etc/syslog-ng/syslog-ng.conf
242sed -i -e 's#^destination #destination d_#g' /etc/syslog-ng/syslog-ng.conf
243sed -i -e 's#destination(#destination(d_#g' /etc/syslog-ng/syslog-ng.conf
01113c19 244sed -i -e 's,\bstats\b,stats_freq,' /etc/syslog-ng/syslog-ng.conf
31446e62
AM
245sed -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
246sed -i -e "1 s#\(.*\)\$#@version: 3.0\n\1#g" /etc/syslog-ng/syslog-ng.conf
247rm -f %{_var}/lib/%{name}/syslog-ng.persist
e3a52627 248%service -q syslog-ng restart
31446e62
AM
249exit 0
250
db55bc6c 251%files
a25388f3 252%defattr(644,root,root,755)
0091ccbb 253%doc AUTHORS ChangeLog NEWS debian/syslog-ng.conf* contrib/relogger.pl
f83d4749 254%doc doc/examples/syslog-ng.conf.sample contrib/syslog-ng.conf.{doc,simple,RedHat}
0ef001bb 255%doc contrib/{apparmor,selinux,syslog2ng} doc/syslog-ng-ose-v3.2-guide-admin-en_0.pdf
2a14aff2 256%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
a25388f3 257%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng
303be384 258%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng/patterndb.d
bb38cad4
JR
259%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/syslog-ng/modules.conf
260%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/syslog-ng/scl.conf
cc4597b5
ER
261%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/syslog-ng/syslog-ng.conf
262%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/syslog-ng
a25388f3 263%attr(754,root,root) /etc/rc.d/init.d/syslog-ng
bb38cad4
JR
264%attr(755,root,root) %{_libdir}/libsyslog-ng.so.*.*.*
265%attr(755,root,root) %ghost %{_libdir}/libsyslog-ng.so.0
bb38cad4
JR
266%dir %{_libdir}/syslog-ng
267%attr(755,root,root) %{_libdir}/syslog-ng/lib*.so
302dff3f 268%attr(755,root,root) %{_sbindir}/syslog-ng
bb38cad4 269%attr(755,root,root) %{_sbindir}/syslog-ng-ctl
303be384
JR
270%attr(755,root,root) %{_bindir}/pdbtool
271%attr(755,root,root) %{_bindir}/update-patterndb
a0237816
JR
272
273%dir %{_datadir}/syslog-ng
274%dir %{_datadir}/syslog-ng/include
275%dir %{_datadir}/syslog-ng/include/scl
276%dir %{_datadir}/syslog-ng/include/scl/pacct
277%{_datadir}/syslog-ng/include/scl/pacct/plugin.conf
278%dir %{_datadir}/syslog-ng/include/scl/syslogconf
279%{_datadir}/syslog-ng/include/scl/syslogconf/README
280%attr(755,root,root) %{_datadir}/syslog-ng/include/scl/syslogconf/convert-syslogconf.awk
281%{_datadir}/syslog-ng/include/scl/syslogconf/plugin.conf
282%dir %{_datadir}/syslog-ng/include/scl/system
283%attr(755,root,root) %{_datadir}/syslog-ng/include/scl/system/generate-system-source.sh
284%{_datadir}/syslog-ng/include/scl/system/plugin.conf
285%dir %{_datadir}/syslog-ng/xsd
286%{_datadir}/syslog-ng/xsd/patterndb-*.xsd
287
4d910d4c 288%dir %{_var}/lib/%{name}
cd6284ba 289%dir %{_var}/lib/%{name}/xsd
303be384 290%{_mandir}/man1/pdbtool.1*
bb38cad4 291%{_mandir}/man1/syslog-ng-ctl.1*
81f47e04
JB
292%{_mandir}/man5/syslog-ng.conf.5*
293%{_mandir}/man8/syslog-ng.8*
822b8fbf 294
3fb60e3b 295%attr(640,root,root) %ghost /var/log/*
c3d7f31f 296
306cd2c9 297%if "%{pld_release}" == "th"
c3d7f31f
JK
298%files upstart
299%defattr(644,root,root,755)
300%config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf
306cd2c9 301%endif
This page took 3.973427 seconds and 4 git commands to generate.