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