+#
+# Conditional build:
+%bcond_without gssapi # Enable GSSAPI Kerberos 5 support
+%bcond_without mysql # Enable MySql database support
+%bcond_without pgsql # Enable PostgreSQL database support
+%bcond_without snmp # Enable 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: 3.11.0
+Version: 3.16.2
Release: 0.1
-License: GPL v2+
+License: GPL v3
Group: Daemons
Source0: http://download.rsyslog.com/rsyslog/%{name}-%{version}.tar.gz
-# Source0-md5: e053094e8103165f98ddafe828f6ae4b
-#Source1: syslog.conf
-#Source2: syslog.init
-#Source3: syslog.logrotate
-#Source4: syslog.sysconfig
-#Source5: klogd.init
-#Source6: klogd.sysconfig
-#Source7: syslogd-listfiles.sh
-#Source8: syslogd-listfiles.8
+# Source0-md5: 568d0ad73a149974b9bcfcb9e64bfc0b
+Source1: %{name}.init
+Source2: %{name}.conf
+Source3: %{name}.sysconfig
URL: http://www.rsyslog.com/
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-
-#%define _exec_prefix /
-#%define _bindir /usr/sbin
-#%define _sbindir /sbin
-
-%description
-Rsyslog is an enhanced multi-threaded syslogd supporting, among others,
-MySQL, syslog/tcp, RFC 3195, permitted sender lists, filtering on any
-message part, and fine grain output format control. It is quite compatible
-to stock sysklogd and can be used as a drop-in replacement. Its advanced
-features make it suitable for enterprise-class, encryption protected
-syslog relay chains while at the same time being very easy to setup for
-the novice user.
-
-%package -n syslog
-Summary: Linux system logger
-Summary(de.UTF-8): Linux-System-Logger
-Summary(pl.UTF-8): Program logujący zdarzenia w systemie Linux
-License: BSD
-Group: Daemons
+%{?with_gssapi:BuildRequires: krb5-devel}
+%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_snmp:BuildRequires: net-snmp-devel}
+%{?with_pgsql:BuildRequires: postgresql-devel}
Requires(post): fileutils
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): /usr/lib/rpm/user_group.sh
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
Obsoletes: msyslog
Obsoletes: sysklogd
Obsoletes: syslog-ng
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%description -n syslog
-This is the Linux system logging program. It is run as a daemon
-(background process) to log messages to different places. These are
-usually things like sendmail logs, security logs, and errors from
-other daemons.
-
-%description -n syslog -l pl.UTF-8
-Pakiet ten zawiera program, który jest uruchamiany jako demon i służy
-do logowania zdarzeń w systemie Linux. Same logi mogą być składowane w
-różnych miejscach (zdalnie i lokalnie). Przeważnie do logów trafiają
-informacje o odbieranej i wysyłanej poczcie np. z sendmaila, zdarzenia
-dotyczące bezpieczeństwa systemu, a także informacje o błędach z
-innych demonów.
-
-%package -n klogd
+%description
+Rsyslog is an enhanced multi-threaded syslogd supporting, among
+others, MySQL, syslog/tcp, RFC 3195, permitted sender lists, filtering
+on any message part, and fine grain output format control. It is quite
+compatible to stock sysklogd and can be used as a drop-in replacement.
+Its advanced features make it suitable for enterprise-class,
+encryption protected syslog relay chains while at the same time being
+very easy to setup for the novice user.
+
+%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
Requires(post,preun): rc-scripts >= 0.2.0
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
-Requires(pre): /usr/lib/rpm/user_group.sh
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: user(syslog)
Obsoletes: sysklogd
-%description -n klogd
+%description klogd
This is the Linux kernel logging program. It is run as a daemon
(background process) to log messages from kernel.
-%description -n klogd -l pl.UTF-8
+%description -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
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description mysql
+The rsyslog-mysql package contains a dynamic shared object that will
+add MySQL database support to rsyslog.
+
+%package pgsql
+Summary: PostgresSQL support for rsyslog
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description pgsql
+The rsyslog-pgsql package contains a dynamic shared object that will
+add PostgreSQL database support to rsyslog.
+
+%package gssapi
+Summary: GSSAPI authentication and encryption support for rsyslog
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description gssapi
+The rsyslog-gssapi package contains the rsyslog plugins which support
+GSSAPI authentication and secure connections. GSSAPI is commonly used
+for Kerberos authentication.
+
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
%build
-%{__make} \
- CC="%{__cc}" \
- OPTIMIZE="%{rpmcflags}" \
- LDFLAGS="%{rpmldflags}"
+%configure \
+%{?with_gssapi:--enable-gssapi-krb5} \
+%{?with_mysql:--enable-mysql} \
+%{?with_pgsql:--enable-pgsql} \
+%{?with_snmp:--enable-snmp}
+
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
$RPM_BUILD_ROOT/{dev,var/log}
%{__make} install \
- BINDIR=$RPM_BUILD_ROOT%{_sbindir} \
- MANDIR=$RPM_BUILD_ROOT%{_mandir}
-
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/syslog.conf
-
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/syslog
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/syslog
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/syslog
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/klogd
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/klogd
+ DESTDIR=$RPM_BUILD_ROOT
-install %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/syslogd-listfiles
-install %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man8
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/rsyslog
+install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rsyslog.conf
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/rsyslog
+install redhat/rsyslog.log $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/rsyslog
for n in debug kernel maillog messages secure syslog user spooler lpr daemon
do
> $RPM_BUILD_ROOT/var/log/$n
done
-echo .so sysklogd.8 > $RPM_BUILD_ROOT%{_mandir}/man8/syslogd.8
-
-# our strip can't strip otherwise
-chmod u+w $RPM_BUILD_ROOT%{_sbindir}/{klogd,syslogd}
-
-%pre -n syslog
+%pre
%groupadd -P syslog -g 18 syslog
%useradd -P syslog -u 18 -g syslog -c "Syslog User" syslog
%addusertogroup syslog logs
-%post -n syslog
+%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
fi
done
-/sbin/chkconfig --add syslog
-%service syslog restart "syslog daemon"
-%service -q klogd restart
+/sbin/chkconfig --add %{name}
+%service syslog restart "%{name} daemon"
+%service -q %{name}-klogd restart
-%preun -n syslog
+%preun
if [ "$1" = "0" ]; then
- %service syslog stop
- /sbin/chkconfig --del syslog
+ %service %{name} stop
+ /sbin/chkconfig --del %{name}
fi
-%postun -n syslog
+%postun
if [ "$1" = "0" ]; then
%userremove syslog
%groupremove syslog
fi
-%pre -n klogd
+%pre klogd
%groupadd -P klogd -g 18 syslog
%useradd -P klogd -u 18 -g syslog -c "Syslog User" syslog
%addusertogroup syslog logs
-%post -n klogd
-/sbin/chkconfig --add klogd
-%service klogd restart "kernel logger daemon"
+%post klogd
+/sbin/chkconfig --add %{name}-klogd
+%service %{name}-klogd restart "kernel logger daemon"
-%preun -n klogd
+%preun klogd
if [ "$1" = "0" ]; then
- %service klogd stop
- /sbin/chkconfig --del klogd
+ %service %{name}-klogd stop
+ /sbin/chkconfig --del %{name}-klogd
fi
-%postun -n klogd
+%postun klogd
if [ "$1" = "0" ]; then
%userremove syslog
%groupremove syslog
echo "Original file from package is available as /etc/syslog.conf.rpmnew"
fi
-%triggerpostun -n syslog -- syslog < 1.4.1-17.7
-# remove any -a option from ADDITIONAL_SOCK
-cp -f /etc/sysconfig/syslog{,.rpmsave}
-sed -i -e '/^ADDITIONAL_SOCK=/s/-a //g' /etc/sysconfig/syslog
-
-# reset config file permission, so people running with syslog uid can
-# survive syslog reload
-chgrp syslog /etc/syslog.conf
-
%clean
rm -rf $RPM_BUILD_ROOT
-%files -n syslog
+%files
%defattr(644,root,root,755)
-%doc ANNOUNCE NEWS README* CHANGES
-%attr(640,root,syslog) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/syslog
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/syslog
-%attr(754,root,root) /etc/rc.d/init.d/syslog
+%doc AUTHORS ChangeLog NEWS README
+%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(755,root,root) %{_sbindir}/syslogd
-%attr(755,root,root) %{_bindir}/syslogd-listfiles
+%attr(755,root,root) %{_sbindir}/rsyslogd
+%dir %{_libdir}/rsyslog
+%{_libdir}/rsyslog/omsnmp.so
+%{_libdir}/rsyslog/imklog.so
+%{_libdir}/rsyslog/immark.so
+%{_libdir}/rsyslog/imtcp.so
+%{_libdir}/rsyslog/imudp.so
+%{_libdir}/rsyslog/imuxsock.so
+%{_libdir}/rsyslog/lmgssutil.so
+%{_libdir}/rsyslog/lmnet.so
+%{_libdir}/rsyslog/lmregexp.so
+%{_libdir}/rsyslog/lmtcpclt.so
+%{_libdir}/rsyslog/lmtcpsrv.so
+%{_libdir}/rsyslog/omtesting.so
%{_mandir}/man5/*
-%{_mandir}/man8/sys*
+%{_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)
+%doc plugins/ommysql/createDB.sql
+%{_libdir}/rsyslog/ommysql.so
+%endif
+
+%if %{with pgsql}
+%files pgsql
+%defattr(644,root,root,755)
+%doc plugins/ompgsql/createDB.sql
+%{_libdir}/rsyslog/ompgsql.so
+%endif
-%files -n klogd
+%if %{with gssapi}
+%files gssapi
%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
-%{_mandir}/man8/klog*
+%{_libdir}/rsyslog/imgssapi.so
+%{_libdir}/rsyslog/omgssapi.so
+%endif