Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
syslog-ng
syslog-ng.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File syslog-ng.spec of Package syslog-ng
# # spec file for package syslog-ng # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: syslog-ng %define syslog_ng_rundir %{_localstatedir}/run/syslog-ng %define syslog_ng_sockets_cfg %{syslog_ng_rundir}/additional-log-sockets.conf Version: 3.6.4 Release: 0 Summary: The new-generation syslog-daemon License: GPL-2.0-only Group: System/Daemons URL: http://www.balabit.com/products/syslog_ng/ #Source0: http://www.balabit.com/downloads/files/syslog-ng/sources/%%{version}/source/syslog-ng_%%{version}.tar.gz Source0: syslog-ng_%{version}.tar.gz Source1: syslog-ng.sysconfig Source2: syslog-ng.conf.default Source3: syslog-ng.service Source4: syslog-ng-service-prepare Patch0: syslog-ng-link_librt.patch Patch1: fix-zoneinfo-parser.patch Patch2: CVE-2022-38725-Fix-buffer-handling-of-syslog-parsers.patch %if 0%{?suse_version} >= 1210 %bcond_without systemd %bcond_without dbi %else %bcond_with systemd %bcond_with dbi %endif %if 0%{?suse_version} >= 1230 %bcond_with systemv %else %bcond_without systemv %endif %define with_smtp %suse_version >= 1210 %define with_geoip %suse_version >= 1210 %if %{with systemd} Provides: syslog Provides: sysvinit(syslog) Conflicts: otherproviders(syslog) Requires(pre): %fillup_prereq %if %{with systemv} Requires(pre): %insserv_prereq Requires(pre): syslog-service < 2.0 Requires(pre): /etc/init.d/syslog %else Requires(pre): syslog-service >= 2.0 %endif %{?systemd_requires} BuildRequires: systemd-devel %else Requires(pre): %insserv_prereq %fillup_prereq /etc/init.d/syslog BuildRequires: klogd %endif %if 0%{with_smtp} BuildRequires: libesmtp-devel %endif BuildRequires: bison BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: glib2-devel %if 0%{?with_geoip} BuildRequires: libGeoIP-devel %endif BuildRequires: libevtlog-devel BuildRequires: libjson-devel BuildRequires: libopenssl-devel BuildRequires: pcre-devel BuildRequires: pkgconfig BuildRequires: python BuildRequires: tcpd-devel %if %{with dbi} BuildRequires: libdbi-devel %endif %if 0%{?suse_version} >= 1210 BuildRequires: libcap-devel BuildRequires: libnet-devel %else BuildRequires: libcap BuildRequires: libnet %endif # uncomment, if you want to run "make check" (local builds only) # BuildRequires: timezone BuildRoot: %{_tmppath}/%{name}-%{version}-build %description syslog-ng is a "new-generation" syslogd (replacement) for Unix and Unix-like systems. It tries to fill the gaps in the original syslogd: * powerful configurability * filtering based on message content * portability * better network forwarding The official home page of syslog-ng is: http://www.balabit.com/network-security/syslog-ng/ Authors: -------- Balázs Scheidler <bazsi@balabit.hu> BalaBit IT Ltd. <info@balabit.hu> %if %{with dbi} %package sql Summary: SQL support using DBI Group: System/Daemons Requires: %{name} = %{version} %description sql This package provides the libafsql module providing support for logging into a SQL database using DBI. Authors: -------- Balázs Scheidler <bazsi@balabit.hu> BalaBit IT Ltd. <info@balabit.hu> %endif %if 0%{?with_smtp} %package smtp Summary: SMTP output support Group: System/Daemons Requires: %{name} = %{version} %description smtp This package provides the afsmtp module providing support for logging into SMTP. Authors: -------- Balázs Scheidler <bazsi@balabit.hu> BalaBit IT Ltd. <info@balabit.hu> %endif %if 0%{?with_geoip} %package geoip Summary: GeoIP support Group: System/Daemons Requires: %{name} = %{version} %description geoip This package provides the tfgeoip module providing support for logging country information. Authors: -------- Balázs Scheidler <bazsi@balabit.hu> BalaBit IT Ltd. <info@balabit.hu> %endif %package json Summary: JSON output support Group: System/Daemons Requires: %{name} = %{version} %description json This package provides the tfjson module providing support for logging in JSON format. Authors: -------- Balázs Scheidler <bazsi@balabit.hu> BalaBit IT Ltd. <info@balabit.hu> %prep %setup -q -n syslog-ng-%{version} # fill out placeholders in the config, # systemd service and prepare script. for file in \ syslog-ng.conf.default \ syslog-ng.service \ syslog-ng-service-prepare \ ; do sed \ -e 's;@sbindir@;%{_sbindir};g' \ -e 's;RUN_DIR;%{syslog_ng_rundir};g' \ -e 's;ADDITIONAL_SOCKETS;%{syslog_ng_sockets_cfg};g' \ "%{_sourcedir}/${file}" > "${file}" done %ifarch s390 s390x sed -i -e 's/tty10/console/g' syslog-ng.conf.default %endif %patch0 -p1 %patch1 -p1 %patch2 -p1 %build ## ## build #################################################### ## export CFLAGS="$RPM_OPT_FLAGS" %if 0%{?with_geoip} export GEOIP_LIBS="-lGeoIP" %endif %configure \ --enable-ipv6 \ --enable-manpages \ --enable-tcp-wrapper \ --enable-spoof-source \ --sysconfdir=/etc/syslog-ng \ --localstatedir=%{_localstatedir}/lib/syslog-ng \ --with-pidfile-dir=%{_localstatedir}/run \ --with-module-dir="%{_libdir}/syslog-ng" \ --with-module-path="%{_libdir}/syslog-ng" \ --with-default-modules="affile,afprog,afsocket,afuser,basicfuncs,csvparser,dbparser,syslogformat" \ --datadir="%{_datadir}/syslog-ng" \ --without-compile-date \ --enable-ssl \ --enable-pcre \ %if 0%{?with_smtp} --with-libesmtp=/usr/lib \ %endif %if %{with systemd} --enable-systemd \ --with-systemd-journal=system \ %endif %if %{with dbi} --enable-sql \ %endif --enable-json \ --enable-capabilities \ --enable-amqp \ %if 0%{?with_geoip} --enable-geoip \ %endif --enable-mongodb \ --enable-dynamic-linking # # - build syslog-ng # make %_smp_mflags #%check ## ## check #################################################### ## #make check %install ## ## install ################################################## ## export RPM_BUILD_ROOT for dir in /sbin \ %{_sysconfdir}/syslog-ng \ %{_localstatedir}/lib/syslog-ng \ %{_localstatedir}/run/syslog-ng \ %{_localstatedir}/adm/fillup-templates ; do test -d ${RPM_BUILD_ROOT}${dir} || \ install -d -m755 ${RPM_BUILD_ROOT}${dir} done # make DESTDIR=${RPM_BUILD_ROOT} install # %if %{with systemd} && ! %{with systemv} install -d -m755 %{buildroot}%{_unitdir}/ install -c -m644 syslog-ng.service %{buildroot}%{_unitdir}/ install -c -m755 syslog-ng-service-prepare %{buildroot}%{_sbindir}/ %endif # install configs install -m644 syslog-ng.conf.default \ $RPM_BUILD_ROOT%{_sysconfdir}/syslog-ng/syslog-ng.conf install -m644 $RPM_SOURCE_DIR/syslog-ng.sysconfig \ $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.syslog-ng # create a compatibility link in /sbin ln -sf %{_sbindir}/syslog-ng %{buildroot}/sbin/ # don't package update-patterndb now rm %{buildroot}/usr/bin/update-patterndb # remove devel files rm %{buildroot}/%{_libdir}/libsyslog-ng.{la,so} rm %{buildroot}/%{_libdir}/syslog-ng/*.la rm %{buildroot}/%{_libdir}/pkgconfig/syslog-ng.pc rm -fr %{buildroot}%{_includedir}/syslog-ng rm -fr %{buildroot}%{_datadir}/syslog-ng/tools # decide which to keep rm %{buildroot}/%{_libdir}/syslog-ng/libafsocket.so rm %{buildroot}/%{_libdir}/syslog-ng/libafsocket-notls.so mv %{buildroot}/%{_libdir}/syslog-ng/libafsocket-tls.so \ %{buildroot}/%{_libdir}/syslog-ng/libafsocket.so # create ghosts install -d -m755 %{buildroot}%{syslog_ng_rundir} touch %{buildroot}%{syslog_ng_sockets_cfg} chmod 644 %{buildroot}%{syslog_ng_sockets_cfg} # remove some extra testing related files rm %{buildroot}/%{_libdir}/pkgconfig/syslog-ng-test.pc rm %{buildroot}/%{_libdir}/syslog-ng/libtest/libsyslog-ng-test.a install -d ${RPM_BUILD_ROOT}/var/log/news for file in news.crit news.err news.notice; do touch ${RPM_BUILD_ROOT}/var/log/news/$file done %clean ## ## clean build root ######################################### ## if [ -n "%{buildroot}" ] && [ "%{buildroot}" != "/" ] ; then rm -rf "%{buildroot}" fi %if %{with systemd} && ! %{with systemv} %pre %{service_add_pre syslog-ng.service} %endif %post ## ## post install ############################################# ## /sbin/ldconfig # # remove obsolete variables # %{remove_and_set -n syslog SYSLOG_DAEMON SYSLOG_REQUIRES_NETWORK} %if %{with systemv} %{fillup_and_insserv -ny syslog syslog} %endif # # add SYSLOG_NG_* variables if needed # %{fillup_only -ans syslog ng} %if %{with systemv} # # switch SYSLOG_DAEMON to outself # if test -f etc/sysconfig/syslog ; then sed -i \ -e 's/^SYSLOG_DAEMON=.*/SYSLOG_DAEMON="syslog-ng"/g' \ etc/sysconfig/syslog fi %endif # # create dirs, touch log default files # mkdir -p var/log touch var/log/messages; chmod 640 var/log/messages touch var/log/mail; chmod 640 var/log/mail touch var/log/mail.info; chmod 640 var/log/mail.info touch var/log/mail.warn; chmod 640 var/log/mail.warn touch var/log/mail.err; chmod 640 var/log/mail.err test -f var/log/news && mv -f var/log/news var/log/news.bak # touch the additional log files we are using # touch var/log/acpid; chmod 640 var/log/acpid touch var/log/firewall; chmod 640 var/log/firewall touch var/log/NetworkManager; chmod 640 var/log/NetworkManager # # generate empty additional-log-sockets.conf file # see also syslog-ng.conf.default in pkg src dir. # additional_sockets="%{syslog_ng_sockets_cfg}" install -d -m750 ${additional_sockets%/*} cat >$additional_sockets <<EOF source chroots { }; EOF chmod 640 "${additional_sockets#/}" # # Enable the syslog-ng systemd service # %if %{with systemd} && ! %{with systemv} # This macro enables based on a systemctl preset config file only %{service_add_post syslog-ng.service} # But we want to enable a syslog-daemon regardless of the preset; # force the creation of a syslog.service alias link (bnc#790805). # We do not check the obsolete SYSLOG_DAEMON variable as we want # to switch when installing it and there is a provider conflict. /usr/bin/systemctl -f enable syslog-ng.service >/dev/null 2>&1 || : %endif %preun ## ## pre uninstall ############################################ ## %if %{with systemd} && ! %{with systemv} %{service_del_preun syslog-ng.service} %else if test -x /etc/init.d/syslog ; then %{stop_on_removal syslog} fi # # reset SYSLOG_DAEMON variable on removal # if test "$1" = "0" -a -f etc/sysconfig/syslog ; then sed -i \ -e 's/^SYSLOG_DAEMON=.*/SYSLOG_DAEMON=""/g' \ etc/sysconfig/syslog fi %endif %postun ## ## post uninstall ########################################### ## # # update linker caches # /sbin/ldconfig %if %{with systemd} && ! %{with systemv} # # cleanup init scripts # %{service_del_postun syslog-ng.service} %else # # stop the rsyslogd daemon when it is running # if test -x /etc/init.d/syslog ; then %{restart_on_update syslog} fi # # cleanup init scripts # %{insserv_cleanup} %endif %files ## ## file list ################################################ ## %defattr(-,root,root) %doc COPYING AUTHORS NEWS.md %doc syslog-ng.conf.default %attr(755,root,root) /sbin/syslog-ng %attr(755,root,root) %{_sbindir}/syslog-ng %attr(755,root,root) %{_sbindir}/syslog-ng-ctl %if %{with systemd} && ! %{with systemv} %attr(755,root,root) %{_sbindir}/syslog-ng-service-prepare %endif %attr(755,root,root) %{_bindir}/loggen %attr(755,root,root) %{_bindir}/pdbtool %{_mandir}/man5/syslog-ng.conf.5* %{_mandir}/man8/syslog-ng.8* %{_mandir}/man1/pdbtool.1* %{_mandir}/man1/loggen.1* %{_mandir}/man1/syslog-ng-ctl.1* %dir %{_libdir}/syslog-ng %dir %{_datadir}/syslog-ng %dir %{_datadir}/syslog-ng/include %dir %{_datadir}/syslog-ng/include/scl %dir %{_datadir}/syslog-ng/include/scl/graphite %dir %{_datadir}/syslog-ng/include/scl/nodejs %dir %{_datadir}/syslog-ng/include/scl/rewrite %dir %{_datadir}/syslog-ng/include/scl/pacct %dir %{_datadir}/syslog-ng/include/scl/syslogconf %dir %{_datadir}/syslog-ng/include/scl/system %dir %{_datadir}/syslog-ng/xsd %dir %{_sysconfdir}/syslog-ng %config(noreplace) %{_sysconfdir}/syslog-ng/syslog-ng.conf %config(noreplace) %{_sysconfdir}/syslog-ng/scl.conf %if %{with systemd} && ! %{with systemv} %{_unitdir}/syslog-ng.service %endif %dir %{_localstatedir}/lib/syslog-ng %attr(0755,root,root) %dir %ghost %{syslog_ng_rundir} %attr(0644,root,root) %ghost %{syslog_ng_sockets_cfg} %{_localstatedir}/adm/fillup-templates/sysconfig.syslog-ng %attr(755,root,root) %{_libdir}/libsyslog-ng-*.so* %attr(755,root,root) %{_libdir}/syslog-ng/libafamqp.so %attr(755,root,root) %{_libdir}/syslog-ng/libaffile.so %attr(755,root,root) %{_libdir}/syslog-ng/libafprog.so %attr(755,root,root) %{_libdir}/syslog-ng/libafmongodb.so %attr(755,root,root) %{_libdir}/syslog-ng/libafsocket.so %attr(755,root,root) %{_libdir}/syslog-ng/libafstomp.so %attr(755,root,root) %{_libdir}/syslog-ng/libafuser.so %attr(755,root,root) %{_libdir}/syslog-ng/libbasicfuncs.so %attr(755,root,root) %{_libdir}/syslog-ng/libconfgen.so %attr(755,root,root) %{_libdir}/syslog-ng/libcsvparser.so %attr(755,root,root) %{_libdir}/syslog-ng/libcryptofuncs.so %attr(755,root,root) %{_libdir}/syslog-ng/libdbparser.so %attr(755,root,root) %{_libdir}/syslog-ng/libgraphite.so %attr(755,root,root) %{_libdir}/syslog-ng/liblinux-kmsg-format.so %attr(755,root,root) %{_libdir}/syslog-ng/libpseudofile.so %attr(755,root,root) %{_libdir}/syslog-ng/libsdjournal.so %attr(755,root,root) %{_libdir}/syslog-ng/libsyslog-ng-crypto.so %attr(755,root,root) %{_libdir}/syslog-ng/libsyslogformat.so %attr(755,root,root) %{_libdir}/syslog-ng/libsystem-source.so %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/pacct/plugin.conf %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/system/plugin.conf %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/nodejs/plugin.conf %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/graphite/plugin.conf %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/rewrite/cc-mask.conf %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/syslogconf/README %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/graphite/README %attr(755,root,root) %{_datadir}/syslog-ng/include/scl/syslogconf/convert-syslogconf.awk %attr(644,root,root) %{_datadir}/syslog-ng/include/scl/syslogconf/plugin.conf %attr(644,root,root) %{_datadir}/syslog-ng/xsd/* %dir /var/log/news %attr(750,news,news) /var/log/news %config(noreplace) /var/log/news/news* %attr(640,news,news) /var/log/news/news* %if %{with dbi} %files sql %defattr(-,root,root) %dir %{_libdir}/syslog-ng %attr(755,root,root) %{_libdir}/syslog-ng/libafsql.so %endif %files json %defattr(-,root,root) %dir %{_libdir}/syslog-ng %attr(755,root,root) %{_libdir}/syslog-ng/libjson-plugin.so %if 0%{?with_smtp} %files smtp %defattr(-,root,root) %dir %{_libdir}/syslog-ng %attr(755,root,root) %{_libdir}/syslog-ng/libafsmtp.so %endif %if 0%{?with_geoip} %files geoip %defattr(-,root,root) %dir %{_libdir}/syslog-ng %attr(755,root,root) %{_libdir}/syslog-ng/libtfgeoip.so %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor