+# TODO
+# - without gssapi still generates dep on heimdal-libs
#
# Conditional build:
+%bcond_without dbi # database support via libdbi
%bcond_without gssapi # GSSAPI Kerberos 5 support
-%bcond_without mysql # MySQL database support
+%bcond_without mysql # MySQL database support
%bcond_without pgsql # PostgreSQL database support
%bcond_without snmp # SNMP support
-#
+
Summary: Linux system and kernel logger
Summary(de.UTF-8): Linux-System- und Kerner-Logger
Summary(es.UTF-8): Registrador de log del sistema linux
Summary(pt_BR.UTF-8): Registrador de log do sistema linux
Summary(tr.UTF-8): Linux sistem ve çekirdek kayıt süreci
Name: rsyslog
-Version: 4.5.5
-Release: 2
-License: GPL v3
+Version: 8.26.0
+Release: 3
+License: GPL v3+
Group: Daemons
-Source0: http://download.rsyslog.com/rsyslog/%{name}-%{version}.tar.gz
-# Source0-md5: bde2d013a0a3680c060c33de428bced9
+Source0: http://www.rsyslog.com/files/download/rsyslog/%{name}-%{version}.tar.gz
+# Source0-md5: abe20d1621d1e73326c08b964a556ed7
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.sysconfig
Source4: %{name}.logrotate
+Patch0: rsyslog-systemd.patch
URL: http://www.rsyslog.com/
%{?with_gssapi:BuildRequires: heimdal-devel}
+BuildRequires: libdbi-devel
%{?with_mysql:BuildRequires: mysql-devel}
%{?with_snmp:BuildRequires: net-snmp-devel}
BuildRequires: pkgconfig
%{?with_pgsql:BuildRequires: postgresql-devel}
+BuildRequires: libestr-devel >= 0.1.9
+BuildRequires: libfastjson-devel >= 0.99.3
+BuildRequires: liblogging-stdlog-devel >= 1.0.3
+BuildRequires: libnet-devel
+BuildRequires: gnutls-devel
+BuildRequires: rpmbuild(macros) >= 1.626
Requires(post): fileutils
Requires(post,preun): /sbin/chkconfig
Requires(post,preun): rc-scripts >= 0.2.0
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
Requires(pre): /usr/sbin/usermod
+Requires(post,preun,postun): systemd-units >= 38
Requires(triggerpostun): sed >= 4.0
# for vservers we don't need klogd and syslog works without klogd
# (just it doesn't log kernel buffer into syslog)
# Requires: klogd
Requires: logrotate >= 3.2-3
Requires: psmisc >= 20.1
+Requires: systemd-units >= 38
Provides: group(syslog)
+Provides: service(klogd)
+Provides: service(syslog)
Provides: syslogdaemon
Provides: user(syslog)
Obsoletes: msyslog
+Obsoletes: rsyslog-systemd
Obsoletes: sysklogd
Obsoletes: syslog-ng
+Conflicts: cronie < 1.5.0-3
+Conflicts: fcron < 3.1.2-5
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
logów, a jednocześnie jest przy tym łatwy do skonfigurowania dla
początkującego użytkownika.
-%package klogd
-Summary: Linux kernel logger
-Summary(de.UTF-8): Linux-Kerner-Logger
-Summary(pl.UTF-8): Program logujący zdarzenia w jądrze Linuksa
-Group: Daemons
-Requires(post,preun): /sbin/chkconfig
-Requires(post,preun): rc-scripts >= 0.2.0
-Requires(postun): /usr/sbin/groupdel
-Requires(postun): /usr/sbin/userdel
-Requires(pre): /bin/id
-Requires(pre): /usr/bin/getgid
-Requires(pre): /usr/lib/rpm/user_group.sh
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(pre): /usr/sbin/usermod
-Provides: group(syslog)
-Provides: user(syslog)
-Obsoletes: sysklogd
-
-%description klogd
-This is the Linux kernel logging program. It is run as a daemon
-(background process) to log messages from kernel.
-
-%description klogd -l pl.UTF-8
-Pakiet ten zawiera program, który jest uruchamiany jako demon i służy
-do logowania komunikatów jądra Linuksa.
-
%package mysql
Summary: MySQL support for rsyslog
Summary(pl.UTF-8): Obsługa MySQL-a do rsysloga
uwierzytelnianie GSSAPI i bezpieczne połączenia. GSSAPI jest
powszechnie używane do uwierzytelniania Kerberos.
+%package dbi
+Summary: libdbi database support for rsyslog
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description dbi
+This module supports a large number of database systems via
+libdbi. Libdbi abstracts the database layer and provides drivers for
+many systems. Drivers are available via the libdbi-drivers project.
+
+%package udpspoof
+Summary: Provides the omudpspoof module
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description udpspoof
+This module is similar to the regular UDP forwarder, but permits to
+spoof the sender address. Also, it enables to circle through a number
+of source ports.
+
+%package snmp
+Summary: SNMP protocol support for rsyslog
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description snmp
+The rsyslog-snmp package contains the rsyslog plugin that provides the
+ability to send syslog messages as SNMPv1 and SNMPv2c traps.
+
+%package gnutls
+Summary: TLS protocol support for rsyslog
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description gnutls
+The rsyslog-gnutls package contains the rsyslog plugins that provide the
+ability to receive syslog messages via upcoming syslog-transport-tls
+IETF standard protocol.
+
%prep
%setup -q
+%patch0 -p1
%build
%configure \
+ --disable-silent-rules \
+ --enable-gnutls \
+ --enable-imdiag \
+ --enable-imfile \
+ --enable-impstats \
+ --enable-imptcp \
+ --enable-imtemplate \
+ --enable-mail \
+ --enable-mmsnmptrapd \
+ --enable-omdbalerting \
+ --enable-omprog \
+ --enable-omruleset \
+ --enable-omstdout \
+ --enable-omtemplate \
+ --enable-omudpspoof \
+ --enable-omuxsock \
+ --enable-pmaixforwardedfrom \
+ --enable-pmcisconames \
+ --enable-pmlastmsg \
+ --enable-pmrfc3164sd \
+ --enable-pmsnare \
+ --enable-smcustbindcdr \
+ --enable-unlimited-select \
%{?with_gssapi:--enable-gssapi-krb5} \
%{?with_mysql:--enable-mysql} \
%{?with_pgsql:--enable-pgsql} \
- %{?with_snmp:--enable-snmp}
+ %{?with_snmp:--enable-snmp} \
+ %{?with_dbi:--enable-libdbi} \
+ --with-systemdsystemunitdir=/lib/systemd/system
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/rsyslog
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rsyslog.d/rsyslog.conf
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/rsyslog
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/rsyslog
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/rsyslog
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rsyslog.conf
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/rsyslog
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/rsyslog
-for n in debug kernel maillog messages secure syslog user spooler lpr daemon
-do
+for n in cron daemon debug kernel lpr maillog messages secure spooler syslog user; do
> $RPM_BUILD_ROOT/var/log/$n
done
%post
for n in /var/log/{cron,daemon,debug,kernel,lpr,maillog,messages,secure,spooler,syslog,user}; do
if [ -f $n ]; then
- chown syslog:syslog $n
+ chown root:logs $n
continue
else
touch $n
chmod 000 $n
- chown syslog:syslog $n
+ chown root:logs $n
chmod 640 $n
fi
done
/sbin/chkconfig --add %{name}
%service rsyslog restart "%{name} daemon"
-%service -q %{name}-klogd restart
+
+%systemd_post rsyslog.service
+ln -sf /lib/systemd/system/rsyslog.service /etc/systemd/system/syslog.service || :
%preun
if [ "$1" = "0" ]; then
%service %{name} stop
/sbin/chkconfig --del %{name}
fi
+%systemd_preun rsyslog.service
%postun
if [ "$1" = "0" ]; then
%userremove syslog
%groupremove syslog
fi
+%systemd_reload
-%pre klogd
-%groupadd -P klogd -g 18 syslog
-%useradd -P klogd -u 18 -g syslog -c "Syslog User" syslog
-%addusertogroup syslog logs
-
-%post klogd
-/sbin/chkconfig --add %{name}-klogd
-%service %{name}-klogd restart "kernel logger daemon"
-
-%preun klogd
-if [ "$1" = "0" ]; then
- %service %{name}-klogd stop
- /sbin/chkconfig --del %{name}-klogd
-fi
-
-%postun klogd
-if [ "$1" = "0" ]; then
- %userremove syslog
- %groupremove syslog
-fi
+%triggerpostun -- %{name} < 5.8.6-4
+%systemd_trigger rsyslog.service
%triggerpostun -- inetutils-syslogd
/sbin/chkconfig --del syslog
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog NEWS README
%dir %{_sysconfdir}/rsyslog.d
-%attr(640,root,syslog) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyslog.d/rsyslog.conf
+%attr(640,root,syslog) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rsyslog.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rsyslog
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/rsyslog
%attr(754,root,root) /etc/rc.d/init.d/rsyslog
-%attr(640,root,root) %ghost /var/log/*
+%attr(640,root,logs) %ghost /var/log/*
+/lib/systemd/system/rsyslog.service
%attr(755,root,root) %{_sbindir}/rsyslogd
%dir %{_libdir}/rsyslog
-%attr(755,root,root) %{_libdir}/rsyslog/omsnmp.so
+%attr(755,root,root) %{_libdir}/rsyslog/imdiag.so
+%attr(755,root,root) %{_libdir}/rsyslog/imfile.so
%attr(755,root,root) %{_libdir}/rsyslog/imklog.so
%attr(755,root,root) %{_libdir}/rsyslog/immark.so
+%attr(755,root,root) %{_libdir}/rsyslog/impstats.so
+%attr(755,root,root) %{_libdir}/rsyslog/imptcp.so
%attr(755,root,root) %{_libdir}/rsyslog/imtcp.so
%attr(755,root,root) %{_libdir}/rsyslog/imudp.so
%attr(755,root,root) %{_libdir}/rsyslog/imuxsock.so
-%attr(755,root,root) %{_libdir}/rsyslog/lmgssutil.so
+%attr(755,root,root) %{_libdir}/rsyslog/lmcry_gcry.so
%attr(755,root,root) %{_libdir}/rsyslog/lmnet.so
%attr(755,root,root) %{_libdir}/rsyslog/lmnetstrms.so
%attr(755,root,root) %{_libdir}/rsyslog/lmnsd_ptcp.so
%attr(755,root,root) %{_libdir}/rsyslog/lmtcpclt.so
%attr(755,root,root) %{_libdir}/rsyslog/lmtcpsrv.so
%attr(755,root,root) %{_libdir}/rsyslog/lmzlibw.so
+%attr(755,root,root) %{_libdir}/rsyslog/mmexternal.so
+%attr(755,root,root) %{_libdir}/rsyslog/mmsnmptrapd.so
+%attr(755,root,root) %{_libdir}/rsyslog/ommail.so
+%attr(755,root,root) %{_libdir}/rsyslog/omprog.so
+%attr(755,root,root) %{_libdir}/rsyslog/omruleset.so
+%attr(755,root,root) %{_libdir}/rsyslog/omstdout.so
%attr(755,root,root) %{_libdir}/rsyslog/omtesting.so
+%attr(755,root,root) %{_libdir}/rsyslog/omuxsock.so
+%attr(755,root,root) %{_libdir}/rsyslog/pmaixforwardedfrom.so
+%attr(755,root,root) %{_libdir}/rsyslog/pmcisconames.so
+%attr(755,root,root) %{_libdir}/rsyslog/pmlastmsg.so
+%attr(755,root,root) %{_libdir}/rsyslog/pmsnare.so
%{_mandir}/man5/*
%{_mandir}/man8/*
-#%files klogd
-#%defattr(644,root,root,755)
-#%attr(754,root,root) /etc/rc.d/init.d/klogd
-#%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/klogd
-#%attr(755,root,root) %{_sbindir}/klogd
-
%if %{with mysql}
%files mysql
%defattr(644,root,root,755)
%files gssapi
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/rsyslog/imgssapi.so
+%attr(755,root,root) %{_libdir}/rsyslog/lmgssutil.so
%attr(755,root,root) %{_libdir}/rsyslog/omgssapi.so
%endif
+
+%if %{with dbi}
+%files dbi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rsyslog/omlibdbi.so
+%endif
+
+%files udpspoof
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rsyslog/omudpspoof.so
+
+%if %{with snmp}
+%files snmp
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rsyslog/omsnmp.so
+%endif
+
+%files gnutls
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/rsyslog/lmnsd_gtls.so