X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rsyslog.spec;h=4bcbb99660cd2a61be567f32850a231d012a5e6a;hb=d30c87483a1dc763ba245a03e7f6f5edec8b4f2c;hp=3a932808da6aa7ab4732d663442c1f7f1bc0eedf;hpb=284a559dd00a8e8dbe16ac4c6ea4737839ab78f4;p=packages%2Frsyslog.git diff --git a/rsyslog.spec b/rsyslog.spec index 3a93280..4bcbb99 100644 --- a/rsyslog.spec +++ b/rsyslog.spec @@ -1,3 +1,10 @@ +# +# 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 @@ -6,50 +13,28 @@ Summary(pl.UTF-8): Programy logujące zdarzenia w systemie i jądrze Linuksa 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 @@ -65,22 +50,18 @@ Provides: user(syslog) 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 @@ -89,9 +70,9 @@ 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 @@ -99,31 +80,53 @@ Provides: group(syslog) 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 @@ -132,36 +135,24 @@ install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d,logrotate.d} \ $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 @@ -174,38 +165,38 @@ for n in /var/log/{cron,daemon,debug,kernel,lpr,maillog,messages,secure,spooler, 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 @@ -221,34 +212,57 @@ if [ -f /etc/syslog.conf.rpmsave ]; then 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