%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
%bcond_with python # python module
%bcond_with java # java modules and support
%bcond_without system_libivykis # use system libivykis
%bcond_without system_rabbitmq # use system librabbitmq
+%if %{without amqp}
+%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.12
+%define mver 3.14
+%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.12.1
-Release: 0.1
+Version: 3.14.1
+Release: 5
License: GPL v2+ with OpenSSL exception
Group: Daemons
Source0: https://github.com/balabit/syslog-ng/archive/%{name}-%{version}.tar.gz
-# Source0-md5: 91bb7922f67837b8732f974bd482bda0
+# Source0-md5: 60c58c5e50860c5b81afb6e80abb0a04
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.logrotate
-Source4: http://www.balabit.com/support/documentation/syslog-ng-ose-%{mver}-guides/en/syslog-ng-ose-v%{mver}-guide-admin/pdf/%{name}-ose-v%{mver}-guide-admin.pdf
+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
+Patch7: am_deps.patch
URL: https://syslog-ng.org/
%{?with_geoip:BuildRequires: GeoIP-devel >= 1.5.1}
BuildRequires: autoconf >= 2.59
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
+%patch7 -p1
cp -p %{SOURCE4} doc
cp -p %{SOURCE5} contrib/syslog-ng.conf.simple
--enable-python%{!?with_python:=no} \
%if %{with mongodb}
--enable-mongodb \
- --with-libmongo-client=system \
+ --with-mongoc=system \
%else
--disable-mongodb \
%endif
--with-pidfile-dir=/var/run \
--with-systemdsystemunitdir=%{systemdunitdir} \
--with-timezone-dir=%{_datadir}/zoneinfo \
- --enable-amqp \
- --enable-geoip%{!?with_geoip:=no} \
+ %{__enable_disable amqp} \
+ %{__enable_disable geoip} \
+ %{__enable_disable geoip2} \
--enable-http%{!?with_http:=no} \
--enable-ipv6 \
--enable-json%{!?with_json:=no} \
install -d $RPM_BUILD_ROOT%{slibdir}
%{__mv} $RPM_BUILD_ROOT%{_libdir}/libsyslog-ng-%{mver}.so.* $RPM_BUILD_ROOT%{slibdir}
ln -snf %{slibdir}/$(basename $RPM_BUILD_ROOT%{slibdir}/libsyslog-ng-%{mver}.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libsyslog-ng.so
+
+%{__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}/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
%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
%{__rm} $RPM_BUILD_ROOT%{moduledir}/*.la
/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
%defattr(644,root,root,755)
%doc AUTHORS NEWS.md contrib/relogger.pl
%doc contrib/syslog-ng.conf.{doc,simple,RedHat}
-%doc contrib/{apparmor,selinux,syslog2ng} doc/syslog-ng-ose-v%{mver}-guide-admin.pdf
+%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(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) /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}/libafamqp.so
+%endif
%attr(755,root,root) %{moduledir}/libaffile.so
%attr(755,root,root) %{moduledir}/libafprog.so
%attr(755,root,root) %{moduledir}/libafsocket.so
%attr(755,root,root) %{moduledir}/libafstomp.so
%attr(755,root,root) %{moduledir}/libafuser.so
+%attr(755,root,root) %{moduledir}/libappmodel.so
%attr(755,root,root) %{moduledir}/libbasicfuncs.so
%attr(755,root,root) %{moduledir}/libcef.so
%attr(755,root,root) %{moduledir}/libconfgen.so
%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}/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}/libsnmptrapd-parser.so
+%attr(755,root,root) %{moduledir}/libstardate.so
+%attr(755,root,root) %{moduledir}/libtags-parser.so
+%attr(755,root,root) %{moduledir}/libtfgetent.so
+%attr(755,root,root) %{moduledir}/libxml.so
%if %{with systemd}
%attr(755,root,root) %{moduledir}/libsdjournal.so
%endif
%dir %{_datadir}/syslog-ng/include
%dir %{_datadir}/syslog-ng/include/scl
-%dir %{_datadir}/syslog-ng/include/scl/apache
-%{_datadir}/syslog-ng/include/scl/apache/apache.conf
+%{_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
-%dir %{_datadir}/syslog-ng/include/scl/graphite
-%{_datadir}/syslog-ng/include/scl/graphite/README
-%{_datadir}/syslog-ng/include/scl/graphite/plugin.conf
%{_datadir}/syslog-ng/include/scl/kafka
-%dir %{_datadir}/syslog-ng/include/scl/loggly
-%{_datadir}/syslog-ng/include/scl/loggly/loggly.conf
-%dir %{_datadir}/syslog-ng/include/scl/logmatic
-%{_datadir}/syslog-ng/include/scl/logmatic/logmatic.conf
+#%{_datadir}/syslog-ng/include/scl/iptables
+%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
-%dir %{_datadir}/syslog-ng/include/scl/nodejs
-%{_datadir}/syslog-ng/include/scl/nodejs/plugin.conf
-%dir %{_datadir}/syslog-ng/include/scl/pacct
-%{_datadir}/syslog-ng/include/scl/pacct/plugin.conf
-%dir %{_datadir}/syslog-ng/include/scl/rewrite
-%{_datadir}/syslog-ng/include/scl/rewrite/cc-mask.conf
+%{_datadir}/syslog-ng/include/scl/nodejs
+%{_datadir}/syslog-ng/include/scl/osquery
+%{_datadir}/syslog-ng/include/scl/pacct
+%{_datadir}/syslog-ng/include/scl/rewrite
+%{_datadir}/syslog-ng/include/scl/snmptrap
%{_datadir}/syslog-ng/include/scl/solaris
+#%{_datadir}/syslog-ng/include/scl/sudo
+%{_datadir}/syslog-ng/include/scl/windowseventlog
%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
-%{_datadir}/syslog-ng/include/scl/system/plugin.conf
-%dir %{_datadir}/syslog-ng/xsd
-%{_datadir}/syslog-ng/xsd/patterndb-*.xsd
+%{_datadir}/syslog-ng/include/scl/system
+%{_datadir}/syslog-ng/xsd
%dir %{_var}/lib/%{name}
%dir %{_var}/lib/%{name}/xsd
+%{_mandir}/man1/dqtool.1*
%{_mandir}/man1/loggen.1*
%{_mandir}/man1/pdbtool.1*
%{_mandir}/man1/syslog-ng-ctl.1*
%defattr(644,root,root,755)
%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/ewmm
+%{_datadir}/syslog-ng/include/scl/graylog2
%endif
%if %{with redis}
%files libs
%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}/libsecret-storage.so.*.*.*
+%attr(755,root,root) %{slibdir}/libsecret-storage.so.0
%attr(755,root,root) %{slibdir}/libsyslog-ng-%{mver}.so.*.*.*
%attr(755,root,root) %ghost %{slibdir}/libsyslog-ng-%{mver}.so.0
%dir %{_datadir}/syslog-ng
%files devel
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libevtlog.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
%endif
%{_includedir}/syslog-ng/logmsg
%{_includedir}/syslog-ng/logproto
+%dir %{_includedir}/syslog-ng/modules
+%{_includedir}/syslog-ng/modules/add-contextual-data
%{_includedir}/syslog-ng/parser
%{_includedir}/syslog-ng/rewrite
%{_includedir}/syslog-ng/scanner
%{_includedir}/syslog-ng/stats
+%{_includedir}/syslog-ng/str-repr
%{_includedir}/syslog-ng/template
%{_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
# test-devel ?