]> git.pld-linux.org Git - packages/rsyslog.git/blobdiff - rsyslog.spec
- rebuild with net-snmp 5.8
[packages/rsyslog.git] / rsyslog.spec
index dcddc5dd84e6040a1649c1719c895dc4d0d66119..0f7f069ec4000fa31b6f42e06682b25fc6dff51e 100644 (file)
@@ -1,10 +1,13 @@
+# 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
@@ -13,20 +16,30 @@ 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.16.2
-Release:       0.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: 568d0ad73a149974b9bcfcb9e64bfc0b
+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:  krb5-devel}
+%{?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
@@ -38,18 +51,25 @@ Requires(pre):      /usr/lib/rpm/user_group.sh
 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
@@ -64,39 +84,12 @@ very easy to setup for the novice user.
 %description -l pl.UTF-8
 rsyslog to zaawansowany, wielowątkowy syslogd obsługujący m.in.
 MySQL-a, syslog/tcp, RFC 3195, listy dopuszczalnych nadawców,
-filtrowanie po częściach komunikatów i szczegółową kontrolę
-formatu wyjściowego. Jest w miarę kompatybilny ze zwykłym sysklogd
-i może być używany jako jego zamiennik. Jego zaawansowane
-możliwości czynią go odpowiednim do produkcyjnych, szyfrowanych
-łańcuchów przekazywania 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.
+filtrowanie po częściach komunikatów i szczegółową kontrolę formatu
+wyjściowego. Jest w miarę kompatybilny ze zwykłym sysklogd i może być
+używany jako jego zamiennik. Jego zaawansowane możliwości czynią go
+odpowiednim do produkcyjnych, szyfrowanych łańcuchów przekazywania
+logów, a jednocześnie jest przy tym łatwy do skonfigurowania dla
+początkującego użytkownika.
 
 %package mysql
 Summary:       MySQL support for rsyslog
@@ -109,8 +102,8 @@ The rsyslog-mysql package contains a dynamic shared object that will
 add MySQL database support to rsyslog.
 
 %description mysql -l pl.UTF-8
-Pakiet rsyslog-mysql zawiera moduł dynamiczny dodający obsługę
-bazy danych MySQL do rsysloga.
+Pakiet rsyslog-mysql zawiera moduł dynamiczny dodający obsługę bazy
+danych MySQL do rsysloga.
 
 %package pgsql
 Summary:       PostgresSQL support for rsyslog
@@ -123,8 +116,8 @@ The rsyslog-pgsql package contains a dynamic shared object that will
 add PostgreSQL database support to rsyslog.
 
 %description pgsql -l pl.UTF-8
-Pakiet rsyslog-pgsql zawiera moduł dynamiczny dodający obsługę
-bazy danych PostgreSQL do rsysloga.
+Pakiet rsyslog-pgsql zawiera moduł dynamiczny dodający obsługę bazy
+danych PostgreSQL do rsysloga.
 
 %package gssapi
 Summary:       GSSAPI authentication and encryption support for rsyslog
@@ -142,15 +135,80 @@ Pakiet rsyslog-gssapi zawiera wtyczki rsysloga obsługujące
 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}
 
@@ -163,16 +221,20 @@ install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d,logrotate.d,rsyslog.d} \
 %{__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%{_sysconfdir}/sysconfig/rsyslog
-install redhat/rsyslog.log $RPM_BUILD_ROOT%{_sysconfdir}/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
 
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/rsyslog/*.la
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
 %pre
 %groupadd -P syslog -g 18 syslog
 %useradd -P syslog -u 18 -g syslog -c "Syslog User" syslog
@@ -181,52 +243,38 @@ 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
@@ -238,41 +286,51 @@ if [ -f /etc/syslog.conf.rpmsave ]; then
        echo "Original file from package is available as /etc/syslog.conf.rpmnew"
 fi
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %files
 %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/lmregexp.so
+%attr(755,root,root) %{_libdir}/rsyslog/lmstrmsrv.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)
@@ -291,5 +349,26 @@ rm -rf $RPM_BUILD_ROOT
 %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
This page took 0.073286 seconds and 4 git commands to generate.