X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=syslog-ng.spec;h=a6c181a95fa03be088a10177142778fb0c301d2b;hb=3f07814813d0326c2d8126748c6d77aad205b6fe;hp=20317cd9afffca99fcc162b7bcf56d818278a37b;hpb=1519c9ade7619933b3733e9759cfd301dd38b9b7;p=packages%2Fsyslog-ng.git diff --git a/syslog-ng.spec b/syslog-ng.spec index 20317cd..a6c181a 100644 --- a/syslog-ng.spec +++ b/syslog-ng.spec @@ -1,8 +1,12 @@ # +# TODO: +# - move SQL module to a separate package +# - relies on libs in /usr/ which is wrong +# # Conditional build: %bcond_with dynamic # link dynamically with glib, eventlog, pcre, openssl %if "%{pld_release}" == "ac" -%bcond_with sql # build with support for logging to SQL DB +%bcond_with sql # build with support for logging to SQL DB %else %bcond_without sql # build without support for logging to SQL DB %endif @@ -17,25 +21,21 @@ Summary: Syslog-ng - new generation of the system logger Summary(pl.UTF-8): Syslog-ng - zamiennik syskloga Summary(pt_BR.UTF-8): Daemon de log nova geração Name: syslog-ng -Version: 3.0.8 -Release: 4 +Version: 3.2.4 +Release: 2 License: GPL v2 Group: Daemons Source0: http://www.balabit.com/downloads/files/syslog-ng/sources/%{version}/source/%{name}_%{version}.tar.gz -# Source0-md5: 7107f5758dec4b774136f0f827b35258 +# Source0-md5: 5995f7dad0053a478b60a63f6f754203 Source1: %{name}.init Source2: %{name}.conf Source3: %{name}.logrotate -Source4: http://www.balabit.com/dl/guides/%{name}-v3.0-guide-admin-en.pdf -# Source4-md5: 1a801f138a9a2245009ecb617be4338b +Source4: http://www.balabit.com/support/documentation/syslog-ng-ose-v3.2-guide-admin-en_0.pdf +# Source4-md5: 4fa86dc863ed0206c004b3be7292bcbf Source5: %{name}-simple.conf Source6: %{name}.upstart -Patch0: %{name}-link.patch -Patch1: %{name}-datadir.patch -Patch2: %{name}-pyssl.patch -Patch3: bug-15.patch -Patch4: fix-unix-stream-caps.patch -Patch5: fix-dac_override.patch +Patch0: %{name}-datadir.patch +Patch1: cap_syslog.patch URL: http://www.balabit.com/products/syslog_ng/ BuildRequires: autoconf >= 2.53 BuildRequires: automake @@ -52,7 +52,7 @@ BuildRequires: python-modules BuildRequires: tzdata %endif %if %{with dynamic} -BuildRequires: eventlog-devel >= 0.2 +BuildRequires: eventlog-devel >= 0.2.12 BuildRequires: glib2-devel >= 1:%{glib2_ver} BuildRequires: libcap-devel %{?with_sql:BuildRequires: libdbi-devel >= 0.8.3-2} @@ -61,7 +61,7 @@ BuildRequires: libwrap-devel BuildRequires: openssl-devel BuildRequires: pcre-devel %else -BuildRequires: eventlog-static >= 0.2 +BuildRequires: eventlog-static >= 0.2.12 BuildRequires: glib2-static >= 1:%{glib2_ver} BuildRequires: glibc-static BuildRequires: libcap-static @@ -71,6 +71,7 @@ BuildRequires: libwrap-static BuildRequires: openssl-static BuildRequires: pcre-static BuildRequires: zlib-static +Requires: libnet >= 1:1.1.2.1-7 %endif Requires(post): fileutils Requires(post,preun): /sbin/chkconfig @@ -83,6 +84,19 @@ Conflicts: msyslog Conflicts: syslog BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +# syslog-ng has really crazy linking rules (see their bugzilla). +# Some rules, according to syslog-ng devs, are like this: +# - libsyslog-ng.so has undefined symbols for third party libraries +# and these symbols should go via main syslog-ng binary +# - same applies for modules +%if %{without dynamic} +%define no_install_post_check_so 1 +# filterout_ld - see comment few lines above +%define filterout_ld -Wl,--as-needed -Wl,--no-copy-dt-needed-entries +%define _sbindir /sbin +%define _libdir /%{_lib} +%endif + %description syslog-ng is a syslogd replacement for Unix and Unix-like systems. It has been tested on Solaris, BSDi and Linux, and were found to run @@ -111,6 +125,9 @@ Summary(pl.UTF-8): Opis zadania Upstart dla syslog-ng Group: Daemons Requires: %{name} = %{version}-%{release} Requires: upstart >= 0.6 +Conflicts: avahi-upstart < 0.6.30-2 +Conflicts: openssh-server-upstart < 2:5.8p2-2 +Conflicts: postgresql-upstart < 9.0.4-2 %description upstart Upstart job description for syslog-ng. @@ -122,19 +139,20 @@ Opis zadania Upstart dla syslog-ng. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 cp -a %{SOURCE4} doc cp -a %{SOURCE5} contrib/syslog-ng.conf.simple +%{__sed} -i -e 's|/usr/bin/awk|/bin/awk|' scl/syslogconf/convert-syslogconf.awk + %build -%{__aclocal} +%{__libtoolize} +%{__aclocal} -I m4 %{__autoconf} %{__automake} %configure \ --sysconfdir=%{_sysconfdir}/syslog-ng \ + --datadir=%{_datadir}/syslog-ng \ + --with-module-dir=%{_libdir}/syslog-ng \ --with-timezone-dir=%{_datadir}/zoneinfo \ --with-pidfile-dir=/var/run \ --enable-ssl \ @@ -143,26 +161,30 @@ cp -a %{SOURCE5} contrib/syslog-ng.conf.simple --enable-spoof-source \ --enable-linux-caps \ --enable-pcre \ + --enable-pacct \ %if %{with sql} --enable-sql \ %endif %if %{with dynamic} --enable-dynamic-linking +%else + --enable-mixed-linking %endif %{__make} -%{?with_tests:%{__make} check} +%{?with_tests:LD_LIBRARY_PATH=$PWD/lib/.libs %{__make} check} %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/{init,sysconfig,logrotate.d,rc.d/init.d},%{_sysconfdir}/syslog-ng} \ - $RPM_BUILD_ROOT/var/{log,lib/%{name}} +install -d $RPM_BUILD_ROOT/etc/{init,sysconfig,logrotate.d,rc.d/init.d} \ + $RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/patterndb.d \ + $RPM_BUILD_ROOT/var/{log,lib/%{name}/xsd} -%{__make} install \ +%{__make} -j1 install \ DESTDIR=$RPM_BUILD_ROOT -install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/syslog-ng +%{__sed} -e 's|@@SBINDIR@@|%{_sbindir}|g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/syslog-ng cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/syslog-ng.conf cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/syslog-ng @@ -171,16 +193,19 @@ for n in daemon debug iptables kernel lpr maillog messages secure spooler syslog done touch $RPM_BUILD_ROOT/etc/sysconfig/%{name} -rm $RPM_BUILD_ROOT%{_bindir}/loggen +%{__rm} $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}/loggen* +%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.{so,la} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/syslog-ng/*.la %if "%{pld_release}" == "th" -cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/init/%{name}.conf +%{__sed} -e 's|@@SBINDIR@@|%{_sbindir}|g' %{SOURCE6} > $RPM_BUILD_ROOT/etc/init/%{name}.conf %endif %clean rm -rf $RPM_BUILD_ROOT %post +/sbin/ldconfig if [ "$1" = "1" ]; then # disable /proc/kmsg from config on first install on vserver { @@ -207,6 +232,8 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del syslog-ng fi +%postun -p /sbin/ldconfig + %post upstart %upstart_post %{name} @@ -228,16 +255,45 @@ exit 0 %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog NEWS debian/syslog-ng.conf* contrib/{relogger.pl,syslog-ng.vim} +%doc AUTHORS ChangeLog NEWS debian/syslog-ng.conf* contrib/relogger.pl %doc doc/examples/syslog-ng.conf.sample contrib/syslog-ng.conf.{doc,simple,RedHat} -%doc contrib/{apparmor,selinux,syslog2ng} doc/syslog-ng-v3.0-guide-admin-en.pdf +%doc contrib/{apparmor,selinux,syslog2ng} doc/syslog-ng-ose-v3.2-guide-admin-en_0.pdf %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} %attr(750,root,root) %dir %{_sysconfdir}/syslog-ng +%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng/patterndb.d +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/syslog-ng/modules.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/syslog-ng/scl.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/syslog-ng/syslog-ng.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/syslog-ng %attr(754,root,root) /etc/rc.d/init.d/syslog-ng +%attr(755,root,root) %{_libdir}/libsyslog-ng.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libsyslog-ng.so.0 +%dir %{_libdir}/syslog-ng +%attr(755,root,root) %{_libdir}/syslog-ng/lib*.so %attr(755,root,root) %{_sbindir}/syslog-ng +%attr(755,root,root) %{_sbindir}/syslog-ng-ctl +%attr(755,root,root) %{_bindir}/pdbtool +%attr(755,root,root) %{_bindir}/update-patterndb + +%dir %{_datadir}/syslog-ng +%dir %{_datadir}/syslog-ng/include +%dir %{_datadir}/syslog-ng/include/scl +%dir %{_datadir}/syslog-ng/include/scl/pacct +%{_datadir}/syslog-ng/include/scl/pacct/plugin.conf +%dir %{_datadir}/syslog-ng/include/scl/syslogconf +%{_datadir}/syslog-ng/include/scl/syslogconf/README +%attr(755,root,root) %{_datadir}/syslog-ng/include/scl/syslogconf/convert-syslogconf.awk +%{_datadir}/syslog-ng/include/scl/syslogconf/plugin.conf +%dir %{_datadir}/syslog-ng/include/scl/system +%attr(755,root,root) %{_datadir}/syslog-ng/include/scl/system/generate-system-source.sh +%{_datadir}/syslog-ng/include/scl/system/plugin.conf +%dir %{_datadir}/syslog-ng/xsd +%{_datadir}/syslog-ng/xsd/patterndb-*.xsd + %dir %{_var}/lib/%{name} +%dir %{_var}/lib/%{name}/xsd +%{_mandir}/man1/pdbtool.1* +%{_mandir}/man1/syslog-ng-ctl.1* %{_mandir}/man5/syslog-ng.conf.5* %{_mandir}/man8/syslog-ng.8*