%bcond_without redis # support for Redis destination
%bcond_without smtp # support for logging into SMTP
%bcond_without geoip # support for GeoIP
+%bcond_without geoip2 # support for GeoIP2
%bcond_without riemann # support for Riemann monitoring system
%bcond_without systemd # systemd (daemon and journal) support
%bcond_without amqp # AMQP support
%undefine with_system_rabbitmq
%endif
+# as in git submodule
+%define libivykis_version 0.42.2
+
%if "%{pld_release}" == "ac"
%define glib2_ver 1:2.16.0
%else
%define glib2_ver 1:2.24.0
%endif
-%define mver 3.14
+%define mver 3.23
%define docmver 3.12
Summary: Syslog-ng - new generation of the system logger
Summary(pl.UTF-8): Syslog-ng - systemowy demon logujący nowej generacji
Summary(pt_BR.UTF-8): Daemon de log nova geração
Name: syslog-ng
-Version: 3.14.1
-Release: 0.1
+Version: 3.23.1
+Release: 1
License: GPL v2+ with OpenSSL exception
Group: Daemons
Source0: https://github.com/balabit/syslog-ng/archive/%{name}-%{version}.tar.gz
-# Source0-md5: 60c58c5e50860c5b81afb6e80abb0a04
+# Source0-md5: 05fbee31597a73148387e943a327fc95
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.logrotate
Source4: http://www.balabit.com/support/documentation/syslog-ng-ose-%{docmver}-guides/en/syslog-ng-ose-v%{docmver}-guide-admin/pdf/%{name}-ose-v%{docmver}-guide-admin.pdf
# Source4-md5: fce7075b03ba9501911b9812a553e680
Source5: %{name}-simple.conf
+Source6: https://github.com/buytenh/ivykis/archive/v%{libivykis_version}/ivykis-%{libivykis_version}.tar.gz
+# Source6-md5: aeafef422d8dafb84e1fcd16f9f4822e
+Source7: syslog-ng.service
Patch0: %{name}-datadir.patch
-Patch1: cap_syslog-vserver-workaround.patch
+
Patch2: %{name}-nolibs.patch
Patch3: %{name}-systemd.patch
Patch4: man-paths.patch
Patch5: %{name}-link.patch
+Patch6: no_shared_ivykis.patch
URL: https://syslog-ng.org/
%{?with_geoip:BuildRequires: GeoIP-devel >= 1.5.1}
BuildRequires: autoconf >= 2.59
%{?with_http:BuildRequires: curl-devel}
BuildRequires: docbook-style-xsl
BuildRequires: eventlog-devel >= 0.2.12
-%{?with_tests:BuildRequires: findutils}
+%if %{with tests}
+BuildRequires: criterion-devel
+BuildRequires: findutils
+%endif
BuildRequires: flex
BuildRequires: glib2-devel >= %{glib2_ver}
%{?with_redis:BuildRequires: hiredis-devel}
BuildRequires: libcap-devel
%{?with_sql:BuildRequires: libdbi-devel >= 0.8.3-2}
%{?with_smtp:BuildRequires: libesmtp-devel}
-%{?with_system_libivykis:BuildRequires: libivykis-devel >= 0.42}
+%{?with_system_libivykis:BuildRequires: libivykis-devel >= %{libivykis_version}}
%{?with_mongodb:BuildRequires: mongo-c-driver-devel}
+%{?with_geoip2:BuildRequires: libmaxminddb-devel}
BuildRequires: libnet-devel >= 1:1.1.2.1-3
BuildRequires: libtool >= 2:2.0
BuildRequires: libwrap-devel
%if %{without dynamic}
BuildRequires: eventlog-static >= 0.2.12
BuildRequires: glib2-static >= %{glib2_ver}
-%{?with_system_libivykis:BuildRequires: libivykis-static >= 0.42}
+%{?with_system_libivykis:BuildRequires: libivykis-static >= %{libivykis_version}}
BuildRequires: pcre-static >= 6.1
BuildRequires: zlib-static
%endif
Pliki nagłówkowe do tworzenia modułów dla sysloga-ng.
%prep
-%setup -q -n %{name}-%{name}-%{version}
+%setup -q -n %{name}-%{name}-%{version} -a 6
+
+rmdir lib/ivykis
+mv ivykis-%{libivykis_version} lib/ivykis
+
%patch0 -p1
-%patch1 -p1
+
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
cp -p %{SOURCE4} doc
cp -p %{SOURCE5} contrib/syslog-ng.conf.simple
--with-systemdsystemunitdir=%{systemdunitdir} \
--with-timezone-dir=%{_datadir}/zoneinfo \
%{__enable_disable amqp} \
- --enable-geoip%{!?with_geoip:=no} \
+ %{__enable_disable geoip} \
+ %{__enable_disable geoip2} \
--enable-http%{!?with_http:=no} \
--enable-ipv6 \
--enable-json%{!?with_json:=no} \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{sysconfig,logrotate.d,rc.d/init.d} \
+install -d $RPM_BUILD_ROOT/etc/{syslog-ng.d,sysconfig,logrotate.d,rc.d/init.d} \
$RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/patterndb.d \
$RPM_BUILD_ROOT/var/{log,lib/%{name}/xsd}
%{__mv} $RPM_BUILD_ROOT%{_libdir}/libevtlog-%{mver}.so.* $RPM_BUILD_ROOT%{slibdir}
ln -snf %{slibdir}/$(basename $RPM_BUILD_ROOT%{slibdir}/libevtlog-%{mver}.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libevtlog.so
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libloggen_helper-%{mver}.so.* $RPM_BUILD_ROOT%{slibdir}
+ln -snf %{slibdir}/$(basename $RPM_BUILD_ROOT%{slibdir}/libloggen_helper-%{mver}.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libloggen_helper.so
+
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libloggen_plugin-%{mver}.so.* $RPM_BUILD_ROOT%{slibdir}
+ln -snf %{slibdir}/$(basename $RPM_BUILD_ROOT%{slibdir}/libloggen_plugin-%{mver}.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libloggen_plugin.so
+
%{__mv} $RPM_BUILD_ROOT%{_libdir}/libsecret-storage.so.* $RPM_BUILD_ROOT%{slibdir}
ln -snf %{slibdir}/$(basename $RPM_BUILD_ROOT%{slibdir}/libsecret-storage.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libsecret-storage.so
%endif
%{__sed} -e 's|@@SBINDIR@@|%{_sbindir}|g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/syslog-ng
cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/syslog-ng.conf
cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/syslog-ng
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{systemdunitdir}
for n in cron daemon debug iptables kernel lpr maillog messages secure spooler syslog user xferlog; do
> $RPM_BUILD_ROOT/var/log/$n
done
touch $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+ln -s "%{name}" $RPM_BUILD_ROOT/etc/sysconfig/%{name}@default
%{__rm} $RPM_BUILD_ROOT%{_sbindir}/syslog-ng-debun
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/syslog-ng-debun.1
/sbin/chkconfig --add syslog-ng
%service syslog-ng restart "syslog-ng daemon"
-%systemd_post syslog-ng@.service
+%systemd_post syslog-ng@.service syslog-ng.service
%preun
if [ "$1" = "0" ]; then
%service syslog-ng stop
/sbin/chkconfig --del syslog-ng
fi
-%systemd_preun syslog-ng@.service
+%systemd_preun syslog-ng@.service syslog-ng.service
%postun
%systemd_reload
%triggerpostun -- syslog-ng < 3.3.4-3
-%systemd_trigger syslog-ng@.service
+%systemd_trigger syslog-ng@.service syslog-ng.service
%triggerun -- syslog-ng < 3.0
sed -i -e 's#sync(\(.*\))#flush_lines(\1)#g' /etc/syslog-ng/syslog-ng.conf
%service -q syslog-ng restart
exit 0
+%triggerun -- syslog-ng < 3.19.1
+grep -q '^@include "/etc/syslog-ng\.d/\*\.conf"' /etc/syslog-ng/syslog-ng.conf || echo '@include "/etc/syslog-ng.d/*.conf"' >> /etc/syslog-ng/syslog-ng.conf
+exit 0
+
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%doc contrib/syslog-ng.conf.{doc,simple,RedHat}
%doc contrib/{apparmor,selinux,syslog2ng} doc/syslog-ng-ose-v%{docmver}-guide-admin.pdf
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}@default
%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng
%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng/patterndb.d
+%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng.d
%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
%{systemdunitdir}/syslog-ng@.service
+%{systemdunitdir}/syslog-ng.service
%dir %{moduledir}
%attr(755,root,root) %{moduledir}/libadd-contextual-data.so
%if %{with amqp}
%attr(755,root,root) %{moduledir}/libdate.so
%attr(755,root,root) %{moduledir}/libdbparser.so
%attr(755,root,root) %{moduledir}/libdisk-buffer.so
+%if %{with geoip2}
%attr(755,root,root) %{moduledir}/libgeoip2-plugin.so
+%endif
%attr(755,root,root) %{moduledir}/libgraphite.so
+%attr(755,root,root) %{moduledir}/libhook-commands.so
%attr(755,root,root) %{moduledir}/libkvformat.so
%attr(755,root,root) %{moduledir}/liblinux-kmsg-format.so
%attr(755,root,root) %{moduledir}/libmap-value-pairs.so
%attr(755,root,root) %{moduledir}/libpacctformat.so
%attr(755,root,root) %{moduledir}/libpseudofile.so
+%attr(755,root,root) %{moduledir}/libsnmpdest.so
%attr(755,root,root) %{moduledir}/libsnmptrapd-parser.so
%attr(755,root,root) %{moduledir}/libstardate.so
%attr(755,root,root) %{moduledir}/libtags-parser.so
%endif
%attr(755,root,root) %{moduledir}/libsyslogformat.so
%attr(755,root,root) %{moduledir}/libsystem-source.so
+%dir %{moduledir}/loggen
+%attr(755,root,root) %{moduledir}/loggen/libloggen_socket_plugin.so
+%attr(755,root,root) %{moduledir}/loggen/libloggen_ssl_plugin.so
%attr(755,root,root) %{_sbindir}/syslog-ng
%attr(755,root,root) %{_sbindir}/syslog-ng-ctl
%attr(755,root,root) %{_bindir}/dqtool
%attr(755,root,root) %{_bindir}/loggen
%attr(755,root,root) %{_bindir}/pdbtool
+%attr(755,root,root) %{_bindir}/persist-tool
%attr(755,root,root) %{_bindir}/update-patterndb
%dir %{_datadir}/syslog-ng/include
%dir %{_datadir}/syslog-ng/include/scl
%{_datadir}/syslog-ng/include/scl/apache
%{_datadir}/syslog-ng/include/scl/default-network-drivers
-%{_datadir}/syslog-ng/include/scl/elasticsearch
%{_datadir}/syslog-ng/include/scl/graphite
%{_datadir}/syslog-ng/include/scl/hdfs
%{_datadir}/syslog-ng/include/scl/kafka
#%{_datadir}/syslog-ng/include/scl/iptables
+%{_datadir}/syslog-ng/include/scl/linux-audit
%dir %{_datadir}/syslog-ng/include/scl/loadbalancer
%attr(755,root,root) %{_datadir}/syslog-ng/include/scl/loadbalancer/gen-loadbalancer.sh
%{_datadir}/syslog-ng/include/scl/loadbalancer/plugin.conf
-%{_datadir}/syslog-ng/include/scl/loggly
-%{_datadir}/syslog-ng/include/scl/logmatic
%{_datadir}/syslog-ng/include/scl/mbox
%{_datadir}/syslog-ng/include/scl/nodejs
%{_datadir}/syslog-ng/include/scl/osquery
%attr(755,root,root) %{moduledir}/libjson-plugin.so
%{_datadir}/syslog-ng/include/scl/cim
%{_datadir}/syslog-ng/include/scl/cisco
+%{_datadir}/syslog-ng/include/scl/elasticsearch
+%{_datadir}/syslog-ng/include/scl/loggly
+%{_datadir}/syslog-ng/include/scl/logmatic
%{_datadir}/syslog-ng/include/scl/ewmm
%{_datadir}/syslog-ng/include/scl/graylog2
%endif
%defattr(644,root,root,755)
%attr(755,root,root) %{slibdir}/libevtlog-%{mver}.so.*.*.*
%attr(755,root,root) %{slibdir}/libevtlog-%{mver}.so.0
+%attr(755,root,root) %{slibdir}/libloggen_helper-%{mver}.so.*.*.*
+%attr(755,root,root) %{slibdir}/libloggen_helper-%{mver}.so.0
+%attr(755,root,root) %{slibdir}/libloggen_plugin-%{mver}.so.*.*.*
+%attr(755,root,root) %{slibdir}/libloggen_plugin-%{mver}.so.0
%attr(755,root,root) %{slibdir}/libsecret-storage.so.*.*.*
%attr(755,root,root) %{slibdir}/libsecret-storage.so.0
%attr(755,root,root) %{slibdir}/libsyslog-ng-%{mver}.so.*.*.*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libevtlog.so
+%attr(755,root,root) %{_libdir}/libloggen_helper.so
+%attr(755,root,root) %{_libdir}/libloggen_plugin.so
%attr(755,root,root) %{_libdir}/libsecret-storage.so
%attr(755,root,root) %{_libdir}/libsyslog-ng.so
%{_libdir}/libsyslog-ng-native-connector.a
%dir %{_includedir}/syslog-ng
%{_includedir}/syslog-ng/*.h
+%{_includedir}/syslog-ng/ack-tracker
%{_includedir}/syslog-ng/compat
%{_includedir}/syslog-ng/control
%{_includedir}/syslog-ng/debugger
%{_includedir}/syslog-ng/filter
+%{_includedir}/syslog-ng/http-auth
%if %{without system_libivykis}
%{_includedir}/syslog-ng/ivykis
%endif
%{_includedir}/syslog-ng/logmsg
%{_includedir}/syslog-ng/logproto
+%{_includedir}/syslog-ng/logthrdest
+%{_includedir}/syslog-ng/logthrsource
%dir %{_includedir}/syslog-ng/modules
%{_includedir}/syslog-ng/modules/add-contextual-data
%{_includedir}/syslog-ng/parser
%{_includedir}/syslog-ng/stats
%{_includedir}/syslog-ng/str-repr
%{_includedir}/syslog-ng/template
+%{_includedir}/syslog-ng/timeutils
%{_includedir}/syslog-ng/transport
%{_includedir}/syslog-ng/value-pairs
%{_datadir}/syslog-ng/tools
%{_pkgconfigdir}/syslog-ng.pc
-%{_pkgconfigdir}/syslog-ng-add-contextual-data.pc
%{_pkgconfigdir}/syslog-ng-native-connector.pc
+%if %{with tests}
# test-devel ?
%if "%{_libdir}/syslog-ng" != "{moduledir}"
%dir %{_libdir}/syslog-ng
%{_libdir}/syslog-ng/libtest/libsyslog-ng-test.a
%{_includedir}/syslog-ng/libtest
%{_pkgconfigdir}/syslog-ng-test.pc
+%endif