- Upgrade to rsyslog 8.2106.0: * NOTE: the prime new feature is support for TLS and non-TLS connections via imtcp in parallel. Furthermore, most TLS parameters can now be overriden at the input() level. The notable exceptions are certificate files, something that is due to be implemented as next step. * 2021-06-14: new global option "parser.supportCompressionExtension" This permits to turn off rsyslog's single-message compression extension when it interferes with non-syslog message processing (the parser subsystem expects syslog messages, not generic text) closes https://github.com/rsyslog/rsyslog/issues/4598 * 2021-05-12: imtcp: add more override config params to input() It is now possible to override all module parameters at the input() level. Module parameters serve as defaults. Existing configs need no modification. * 2021-05-06: imtcp: add stream driver parameter to input() configuration This permits to have different inputs use different stream drivers and stream driver parameters. closes https://github.com/rsyslog/rsyslog/issues/3727 * 2021-04-29: imtcp: permit to run multiple inputs in parallel Previously, a single server was used to run all imtcp inputs. This had a couple of drawsbacks. First and foremost, we could not use different stream drivers in the varios inputs. This patch now provides a baseline to do that, but does still not implement the capability (in this sense it is a staging patch). Secondly, we now ensure that each input has at least one exclusive thread for processing, untangling the performance of multiple inputs from each other. see also: https://github.com/rsyslog/rsyslog/issues/3727 * 2021-04-27: tcpsrv bugfix: potential sluggishnes and hang on shutdown tcpsrv is used by multiple other modules (imtcp, imdiag, imgssapi, and, in theory, also others - even ones we do not know about). However, the internal synchornization did not properly take multiple tcpsrv users in consideration. As such, a single user could hang under some circumstances. This was caused by improperly awaking all users from a pthread condition wait. That in turn could lead to some sluggish behaviour and, in rare cases, a hang at shutdown. Note: it was highly unlikely to experience real problems with the officially provided modules. * 2021-04-22: refactoring of syslog/tcp driver parameter passing This has now been generalized to a parameter block, which makes it much cleaner and also easier to add new parameters in the future. * 2021-04-22: config script: add re_match_i() and re_extract_i() functions This provides case-insensitive regex functionality. closes https://github.com/rsyslog/rsyslog/issues/4429 OBS-URL: https://build.opensuse.org/request/show/900213 OBS-URL: https://build.opensuse.org/package/show/Base:System/rsyslog?expand=0&rev=337
1160 lines
29 KiB
RPMSpec
1160 lines
29 KiB
RPMSpec
#
|
|
# spec file for package rsyslog
|
|
#
|
|
# Copyright (c) 2021 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/
|
|
#
|
|
|
|
|
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
|
%if ! %{defined _fillupdir}
|
|
%define _fillupdir /var/adm/fillup-templates
|
|
%endif
|
|
|
|
Name: rsyslog
|
|
Summary: The enhanced syslogd for Linux and Unix
|
|
License: Apache-2.0 AND GPL-3.0-or-later
|
|
Group: System/Daemons
|
|
Version: 8.2106.0
|
|
Release: 0
|
|
%bcond_with udpspoof
|
|
%bcond_with dbi
|
|
%bcond_with pkgconfig
|
|
%if 0%{?suse_version} > 1230
|
|
%bcond_without journal
|
|
%else
|
|
%bcond_with journal
|
|
%endif
|
|
%bcond_without gssapi
|
|
%bcond_without gnutls
|
|
%bcond_without openssl
|
|
%bcond_without gcrypt
|
|
%bcond_without mysql
|
|
%bcond_without pgsql
|
|
%bcond_without relp
|
|
%bcond_without rfc3195
|
|
%bcond_without snmp
|
|
%bcond_without diagtools
|
|
%bcond_without mmnormalize
|
|
%bcond_without elasticsearch
|
|
%bcond_without omhttpfs
|
|
%bcond_without omamqp1
|
|
%bcond_without tcl
|
|
%bcond_without kafka
|
|
# https://github.com/rsyslog/rsyslog/issues/1355
|
|
%bcond_with maxminddb
|
|
# contributed modules not built for various reasons
|
|
# --enable-mmgrok - grok not in factory
|
|
# TODO: ... doesnt have a proper configure check but wants hdfs.h
|
|
%bcond_with hdfs
|
|
%bcond_with mongodb
|
|
%bcond_with hiredis
|
|
%bcond_with zeromq
|
|
|
|
%define rsyslogdocdir %{_docdir}/%{name}
|
|
%if %{defined _rundir}
|
|
%define rsyslog_rundir %{_rundir}/rsyslog
|
|
%else
|
|
%define rsyslog_rundir %{_localstatedir}/run/rsyslog
|
|
%endif
|
|
%define rsyslog_sockets_cfg %{rsyslog_rundir}/additional-log-sockets.conf
|
|
%define rsyslog_module_dir_nodeps %{_libdir}/rsyslog/
|
|
%define rsyslog_module_dir_withdeps %{_libdir}/rsyslog/
|
|
URL: http://www.rsyslog.com/
|
|
# Upstream library deprecated and we want to support migration
|
|
Obsoletes: %{name}-module-guardtime <= 8.38.0
|
|
Provides: syslog
|
|
Provides: sysvinit(syslog)
|
|
Conflicts: otherproviders(syslog)
|
|
Requires(pre): %fillup_prereq
|
|
Requires(pre): syslog-service >= 2.0
|
|
%{?systemd_ordering}
|
|
BuildRequires: pkgconfig(systemd) >= 209
|
|
%if %{with journal}
|
|
BuildRequires: pkgconfig(libsystemd) >= 234
|
|
%endif
|
|
# for patch1
|
|
BuildRequires: autoconf
|
|
BuildRequires: automake
|
|
BuildRequires: libtool
|
|
#
|
|
BuildRequires: bison
|
|
BuildRequires: curl-devel
|
|
BuildRequires: flex
|
|
BuildRequires: pcre-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: zlib-devel
|
|
%if %{with rfc3195}
|
|
%if %{with pkgconfig}
|
|
BuildRequires: pkgconfig(liblogging-rfc3195) >= 1.0.1
|
|
%else
|
|
BuildRequires: liblogging-devel
|
|
%endif
|
|
%endif
|
|
%if %{with pkgconfig}
|
|
BuildRequires: pkgconfig(liblogging-stdlog) >= 1.0.1
|
|
%else
|
|
BuildRequires: liblogging-devel
|
|
%endif
|
|
%if %{with omhttpfs}
|
|
BuildRequires: curl-devel >= 7.0.0
|
|
%endif
|
|
%if %{with omamqp1}
|
|
%if %{with pkgconfig}
|
|
BuildRequires: pkgconfig(libqpid-proton) >= 0.9
|
|
%else
|
|
BuildRequires: qpid-proton-devel >= 0.9
|
|
%endif
|
|
%endif
|
|
%if %{with hiredis}
|
|
BuildRequires: hiredis-devel >= 0.10.1
|
|
%endif
|
|
%if %{with mongodb}
|
|
# TODO: PKG_CHECK_MODULES(LIBMONGO_CLIENT, libmongo-client >= 0.1.4)
|
|
%endif
|
|
%if %{with zeromq}
|
|
BuildRequires: czmq-devel >= 3.0.2
|
|
%endif
|
|
%if %{with kafka}
|
|
BuildRequires: librdkafka-devel
|
|
Requires: librdkafka1
|
|
%endif
|
|
%if %{with gssapi}
|
|
BuildRequires: krb5-devel
|
|
%endif
|
|
%if %{with gnutls}
|
|
BuildRequires: libgnutls-devel
|
|
%endif
|
|
%if %{with openssl}
|
|
BuildRequires: pkgconfig(openssl)
|
|
%endif
|
|
%if %{with gcrypt}
|
|
BuildRequires: libgcrypt-devel
|
|
%endif
|
|
%if %{with dbi}
|
|
BuildRequires: libdbi-devel
|
|
%endif
|
|
%if %{with mysql}
|
|
BuildRequires: mysql-devel
|
|
%endif
|
|
%if %{with snmp}
|
|
BuildRequires: net-snmp-devel
|
|
%endif
|
|
%if %{with pgsql}
|
|
BuildRequires: postgresql-devel
|
|
%endif
|
|
%if %{with relp}
|
|
# RELP support
|
|
%if %{with pkgconfig}
|
|
BuildRequires: pkgconfig(relp) >= 1.2.14
|
|
%else
|
|
BuildRequires: librelp-devel >= 1.2.14
|
|
%endif
|
|
%endif
|
|
%if %{with udpspoof}
|
|
# UDP spoof support
|
|
BuildRequires: libnet-devel
|
|
%endif
|
|
%if %{with mmnormalize}
|
|
# mmnormalize support
|
|
%if %{with pkgconfig}
|
|
BuildRequires: pkgconfig(lognorm) >= 2.0.3
|
|
%else
|
|
BuildRequires: liblognorm-devel >= 2.0.3
|
|
%endif
|
|
%endif
|
|
%if %{with maxminddb}
|
|
BuildRequires: pkgconfig(libmaxminddb)
|
|
%endif
|
|
#
|
|
# mmjsonparse needs liblognorm,
|
|
# but json check is unconditional
|
|
%if %{with pkgconfig}
|
|
BuildRequires: pkgconfig(libestr) >= 0.1.9
|
|
BuildRequires: pkgconfig(libfastjson) >= 0.99.8
|
|
BuildRequires: pkgconfig(uuid) >= 2.21.0
|
|
%else
|
|
BuildRequires: libestr-devel
|
|
BuildRequires: libfastjson-devel >= 0.99.7
|
|
BuildRequires: libuuid-devel
|
|
%endif
|
|
%if %{with tcl}
|
|
%if %{with pkgconfig}
|
|
BuildRequires: pkgconfig(tcl)
|
|
%else
|
|
BuildRequires: tcl-devel
|
|
%endif
|
|
%endif
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
Source0: https://www.rsyslog.com/files/download/%{name}/%{name}-%{version}.tar.gz
|
|
Source1: rsyslog.sysconfig
|
|
Source2: rsyslog.conf.in
|
|
Source3: rsyslog.service
|
|
Source4: rsyslog.d.remote.conf.in
|
|
Source5: rsyslog-service-prepare.in
|
|
Source6: usr.sbin.rsyslogd
|
|
Source7: module-mysql
|
|
Source8: module-snmp
|
|
Source9: module-udpspoof
|
|
Source14: https://www.rsyslog.com/files/download/rsyslog/rsyslog-doc-%{version}.tar.gz
|
|
Source16: journald-rsyslog.conf
|
|
Source17: acpid.frule
|
|
Source18: firewall.frule
|
|
Source19: NetworkManager.frule
|
|
|
|
# this is a dirty hack since % dir does only work for the specified directory and nothing above
|
|
# but I want to be able to switch this to /etc/apparmor.d once the profiles received more testing
|
|
%define APPARMOR_PROFILE_PATH /usr/share/apparmor/extra-profiles
|
|
%define APPARMOR_PROFILE_PATH_DIR_COMMANDS %dir /usr/share/apparmor \
|
|
%dir /usr/share/apparmor/extra-profiles \
|
|
%dir /usr/share/apparmor/extra-profiles/rsyslog.d
|
|
|
|
%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 doc
|
|
Summary: Additional documentation for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description doc
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This package provides additional documentation for rsyslog.
|
|
|
|
%if %{with diagtools}
|
|
|
|
%package diag-tools
|
|
Requires: %{name} = %{version}
|
|
Summary: Diagnostic tools
|
|
Group: System/Daemons
|
|
|
|
%description diag-tools
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This package provides additional diagnostic tools (small helpers,
|
|
usually not needed).
|
|
|
|
%endif
|
|
|
|
%if %{with gssapi}
|
|
|
|
%package module-gssapi
|
|
Requires: %{name} = %{version}
|
|
Summary: GSS-API support module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-gssapi
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides the support to receive syslog messages from the
|
|
network protected via Kerberos 5 encryption and authentication.
|
|
|
|
%endif
|
|
|
|
%if %{with mysql}
|
|
|
|
%package module-mysql
|
|
Requires: %{name} = %{version}
|
|
Summary: MySQL support module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-mysql
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This package provides a module with the support for logging into MySQL
|
|
databases.
|
|
|
|
%endif
|
|
|
|
%if %{with pgsql}
|
|
|
|
%package module-pgsql
|
|
Requires: %{name} = %{version}
|
|
Summary: PostgreSQL support module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-pgsql
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides the support for logging into PostgreSQL databases.
|
|
|
|
%endif
|
|
|
|
%if %{with dbi}
|
|
|
|
%package module-dbi
|
|
Requires: %{name} = %{version}
|
|
Summary: Database support via DBI
|
|
Group: System/Daemons
|
|
|
|
%description module-dbi
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This package provides a module with the support for logging into DBI
|
|
supported databases.
|
|
|
|
%endif
|
|
|
|
%if %{with snmp}
|
|
|
|
%package module-snmp
|
|
Requires: %{name} = %{version}
|
|
Summary: SNMP support module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-snmp
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides the ability to send syslog messages as an SNMPv1 &
|
|
v2c traps.
|
|
|
|
%endif
|
|
|
|
%if %{with gnutls}
|
|
|
|
%package module-gtls
|
|
Requires: %{name} = %{version}
|
|
Summary: TLS encryption support module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-gtls
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides the ability for TLS encrypted TCP logging using
|
|
the GnuTLS library.
|
|
%endif
|
|
|
|
%if %{with openssl}
|
|
|
|
%package module-ossl
|
|
Requires: %{name} = %{version}
|
|
Summary: TLS encryption support module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-ossl
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides the ability for TLS encrypted TCP logging using
|
|
the OpenSSL library.
|
|
%endif
|
|
|
|
%if %{with gcrypt}
|
|
|
|
%package module-gcrypt
|
|
Requires: %{name} = %{version}
|
|
Summary: Libgcrypt log file encryption support module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-gcrypt
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides log file encryption support using libgcrypt and
|
|
a rsgtutil utility to manage the files.
|
|
%endif
|
|
|
|
%if %{with relp}
|
|
|
|
%package module-relp
|
|
Requires: %{name} = %{version}
|
|
Summary: RELP protocol support module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-relp
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides Reliable Event Logging Protocol support.
|
|
|
|
%endif
|
|
|
|
%if %{with mmnormalize}
|
|
|
|
%package module-mmnormalize
|
|
Requires: %{name} = %{version}
|
|
Summary: Contains the mmnormalize support module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-mmnormalize
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides log normalizing support.
|
|
|
|
%endif
|
|
|
|
%if %{with udpspoof}
|
|
|
|
%package module-udpspoof
|
|
Requires: %{name} = %{version}
|
|
Summary: UDP spoof support module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-udpspoof
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides a UDP forwarder that allows changing the sender address.
|
|
|
|
%endif
|
|
|
|
%if %{with elasticsearch}
|
|
|
|
%package module-elasticsearch
|
|
Requires: %{name} = %{version}
|
|
Summary: ElasticSearch output module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-elasticsearch
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support to output to an ElasticSearch database.
|
|
|
|
%endif
|
|
|
|
%if %{with omhttpfs}
|
|
|
|
%package module-omhttpfs
|
|
Requires: %{name} = %{version}
|
|
Summary: HDFS via HTTP output module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-omhttpfs
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support to output to HDFS via HTTP.
|
|
|
|
%endif
|
|
|
|
%if %{with hdfs}
|
|
|
|
%package module-hdfs
|
|
Requires: %{name} = %{version}
|
|
Summary: HDFS output module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-hdfs
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support to output to an HDFS database.
|
|
|
|
%endif
|
|
|
|
%if %{with mongodb}
|
|
|
|
%package module-mongodb
|
|
Requires: %{name} = %{version}
|
|
Summary: MongoDB output module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-mongodb
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support to output to a MongoDB database.
|
|
|
|
%endif
|
|
|
|
%if %{with hiredis}
|
|
|
|
%package module-hiredis
|
|
Requires: %{name} = %{version}
|
|
Summary: Redis output module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-hiredis
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support to output to a Redis database.
|
|
|
|
%endif
|
|
|
|
%if %{with zeromq}
|
|
|
|
%package module-zeromq
|
|
Requires: %{name} = %{version}
|
|
Summary: ZeroMQ support module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-zeromq
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support for ZeroMQ.
|
|
|
|
%endif
|
|
|
|
%if %{with kafka}
|
|
|
|
%package module-kafka
|
|
Requires: %{name} = %{version}
|
|
Summary: Kafka support module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-kafka
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support for Kafka.
|
|
|
|
%endif
|
|
|
|
%if %{with omamqp1}
|
|
%package module-omamqp1
|
|
Requires: %{name} = %{version}
|
|
Summary: AMQP support module for syslog
|
|
Group: System/Daemons
|
|
|
|
%description module-omamqp1
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides support for AMQP.
|
|
%endif
|
|
|
|
%if %{with tcl}
|
|
%package module-omtcl
|
|
Requires: %{name} = %{version}
|
|
Summary: TCL output module for rsyslog
|
|
Group: System/Daemons
|
|
|
|
%description module-omtcl
|
|
Rsyslog is an enhanced multi-threaded syslog daemon. See rsyslog
|
|
package.
|
|
|
|
This module provides an output module for TCL.
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q -a 14
|
|
#
|
|
for file in rsyslog-service-prepare; do
|
|
sed \
|
|
-e 's;RUN_DIR;%{rsyslog_rundir};g' \
|
|
-e 's;ADDITIONAL_SOCKETS;%{rsyslog_sockets_cfg};g' \
|
|
"%{_sourcedir}/${file}.in" > "${file}"
|
|
done
|
|
|
|
%build
|
|
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -W -Wall -I../grammar -I../../grammar"
|
|
# needs java
|
|
# --enable-gui \
|
|
|
|
# for patch1
|
|
autoreconf -fiv
|
|
|
|
%configure \
|
|
--with-moddirs=%{rsyslog_module_dir_withdeps} \
|
|
--enable-option-checking \
|
|
--enable-largefile \
|
|
--enable-regexp \
|
|
--enable-klog \
|
|
--enable-kmsg \
|
|
--enable-inet \
|
|
--enable-unlimited-select \
|
|
--enable-rsyslogd \
|
|
--enable-liblogging-stdlog \
|
|
%if %{with elasticsearch}
|
|
--enable-elasticsearch \
|
|
%endif
|
|
%if %{with kafka}
|
|
--enable-imkafka \
|
|
--enable-omkafka \
|
|
%endif
|
|
%if %{with omhttpfs}
|
|
--enable-omhttpfs \
|
|
%endif
|
|
%if %{with gnutls}
|
|
--enable-gnutls \
|
|
%endif
|
|
%if %{with openssl}
|
|
--enable-openssl \
|
|
%endif
|
|
%if %{with gssapi}
|
|
--enable-gssapi-krb5 \
|
|
%endif
|
|
%if %{with dbi}
|
|
--enable-libdbi \
|
|
%endif
|
|
%if %{with mysql}
|
|
--enable-mysql \
|
|
%endif
|
|
%if %{with pgsql}
|
|
--enable-pgsql \
|
|
%endif
|
|
%if %{with relp}
|
|
--enable-relp \
|
|
%endif
|
|
%if %{with rfc3195}
|
|
--enable-rfc3195 \
|
|
%endif
|
|
%if %{with snmp}
|
|
--enable-snmp \
|
|
--enable-mmsnmptrapd \
|
|
%endif
|
|
--enable-mail \
|
|
--enable-imfile \
|
|
--enable-imptcp \
|
|
--enable-impstats \
|
|
--enable-omprog \
|
|
--enable-omuxsock \
|
|
%if %{with udpspoof}
|
|
--enable-omudpspoof \
|
|
%endif
|
|
--enable-omstdout \
|
|
--enable-pmlastmsg \
|
|
--enable-pmcisconames \
|
|
--enable-pmaixforwardedfrom \
|
|
--enable-pmsnare \
|
|
--enable-pmnull \
|
|
--enable-pmnormalize \
|
|
--enable-omruleset \
|
|
--enable-omhttp \
|
|
%if %{with mmnormalize}
|
|
--enable-mmnormalize \
|
|
--enable-mmjsonparse \
|
|
--enable-mmaudit \
|
|
%endif
|
|
%if %{with hdfs}
|
|
--enable-omhdfs \
|
|
%endif
|
|
%if %{with mongodb}
|
|
--enable-ommongodb \
|
|
%endif
|
|
%if %{with omamqp1}
|
|
--enable-omamqp1 \
|
|
%endif
|
|
%if %{with hiredis}
|
|
--enable-omhiredis \
|
|
%endif
|
|
%if %{with zeromq}
|
|
--enable-imzmq3 \
|
|
--enable-omzmq3 \
|
|
%endif
|
|
%if %{with diagtools}
|
|
--enable-imdiag \
|
|
--enable-diagtools \
|
|
%endif
|
|
%if %{with journal}
|
|
--enable-imjournal \
|
|
--enable-omjournal \
|
|
%endif
|
|
--enable-mmanon \
|
|
--enable-mmaudit \
|
|
--enable-mmkubernetes \
|
|
--enable-mmjsonparse \
|
|
--enable-mmutf8fix \
|
|
--enable-mmcount \
|
|
--enable-mmsequence \
|
|
--enable-mmfields \
|
|
--enable-mmpstrucdata \
|
|
--enable-mmrfc5424addhmac \
|
|
--enable-mmrm1stspace \
|
|
--enable-pmciscoios \
|
|
--enable-pmpanngfw \
|
|
%if %{with gcrypt}
|
|
--enable-libgcrypt \
|
|
%else
|
|
--disable-libgcrypt \
|
|
%endif
|
|
%if %{with tcl}
|
|
--enable-omtcl \
|
|
%endif
|
|
%if %{with maxminddb}
|
|
--enable-mmdblookup \
|
|
%endif
|
|
--enable-usertools \
|
|
--disable-static
|
|
|
|
make %{?_smp_mflags:%{_smp_mflags}} V=1
|
|
|
|
%install
|
|
make install DESTDIR="%{buildroot}" V=1
|
|
#
|
|
rm -f %{buildroot}%{rsyslog_module_dir_nodeps}/*.la
|
|
#
|
|
# move all modules linking libraries in /usr to /usr/lib[64]
|
|
# the user has to specify them with full path then...
|
|
install -d -m0755 %{buildroot}%{rsyslog_module_dir_withdeps}
|
|
if test "%{rsyslog_module_dir_nodeps}" != "%{rsyslog_module_dir_withdeps}" ; then
|
|
for mod in \
|
|
%if %{with gnutls}
|
|
lmnsd_gtls.so \
|
|
%endif
|
|
%if %{with openssl}
|
|
lmnsd_ossl.so \
|
|
%endif
|
|
%if %{with gcrypt}
|
|
lmcry_gcry.so \
|
|
%endif
|
|
%if %{with gssapi}
|
|
omgssapi.so imgssapi.so lmgssutil.so \
|
|
%endif
|
|
%if %{with dbi}
|
|
omlibdbi.so \
|
|
%endif
|
|
%if %{with mysql}
|
|
ommysql.so \
|
|
%endif
|
|
%if %{with pgsql}
|
|
ompgsql.so \
|
|
%endif
|
|
%if %{with relp}
|
|
imrelp.so omrelp.so \
|
|
%endif
|
|
%if %{with snmp}
|
|
omsnmp.so \
|
|
%endif
|
|
%if %{with mmnormalize}
|
|
mmnormalize.so \
|
|
mmjsonparse.so \
|
|
mmaudit.so \
|
|
%endif
|
|
%if %{with elasticsearch}
|
|
omelasticsearch.so \
|
|
%endif
|
|
%if %{with omhttpfs}
|
|
omhttpfs.so \
|
|
%endif
|
|
%if %{with kafka}
|
|
imkafka.so \
|
|
omkafka.so \
|
|
%endif
|
|
; do
|
|
mv -f %{buildroot}%{rsyslog_module_dir_nodeps}/$mod \
|
|
%{buildroot}%{rsyslog_module_dir_withdeps}
|
|
done
|
|
fi
|
|
%if !0%{?usrmerged}
|
|
install -d -m0755 %{buildroot}/sbin
|
|
ln -sf %{_sbindir}/rsyslogd $RPM_BUILD_ROOT/sbin/rsyslogd
|
|
%endif
|
|
# it is simply broken (bnc#890228)
|
|
rm -f $RPM_BUILD_ROOT%{_sbindir}/zpipe
|
|
#
|
|
install -m755 rsyslog-service-prepare %{buildroot}%{_sbindir}/
|
|
ln -svf service %buildroot/%{_sbindir}/rc%{name}
|
|
#
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/rsyslog.d
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/run/rsyslog
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/spool/rsyslog
|
|
for file in rsyslog.conf rsyslog.d.remote.conf ; do
|
|
sed \
|
|
%ifarch s390 s390x
|
|
-e 's;tty10;console;g' \
|
|
%endif
|
|
-e 's;ADDITIONAL_SOCKETS;%{rsyslog_sockets_cfg};g' \
|
|
-e 's;ETC_RSYSLOG_CONF;%{_sysconfdir}/rsyslog.conf;g' \
|
|
-e 's;ETC_RSYSLOG_D_DIR;%{_sysconfdir}/rsyslog.d;g' \
|
|
-e 's;ETC_RSYSLOG_D_GLOB;%{_sysconfdir}/rsyslog.d/*.conf;g' \
|
|
-e 's;RSYSLOG_SPOOL_DIR;%{_localstatedir}/spool/rsyslog;g' \
|
|
%{_sourcedir}/${file}.in > ${file}.$$
|
|
done
|
|
install -m0600 rsyslog.conf.$$ \
|
|
%{buildroot}%{_sysconfdir}/rsyslog.conf
|
|
install -m0600 rsyslog.d.remote.conf.$$ \
|
|
%{buildroot}%{_sysconfdir}/rsyslog.d/remote.conf
|
|
#
|
|
install -d -m0755 %{buildroot}%{_fillupdir}
|
|
install -m0600 %{_sourcedir}/rsyslog.sysconfig \
|
|
%{buildroot}%{_fillupdir}/sysconfig.syslog-rsyslog
|
|
#
|
|
rm -f doc/Makefile*
|
|
install -d -m0755 %{buildroot}%{rsyslogdocdir}/html/
|
|
find ChangeLog README AUTHORS \
|
|
\( -type d -exec install -m755 -d %{buildroot}%{rsyslogdocdir}/\{\} \; \) \
|
|
-o \( -type f -exec install -m644 \{\} %{buildroot}%{rsyslogdocdir}/\{\} \; \)
|
|
cp -av build/* %{buildroot}%{rsyslogdocdir}/html/
|
|
#
|
|
%if %{with mysql}
|
|
install -m644 plugins/ommysql/createDB.sql \
|
|
%{buildroot}%{rsyslogdocdir}/mysql-createDB.sql
|
|
%endif
|
|
%if %{with pgsql}
|
|
install -m644 plugins/ompgsql/createDB.sql \
|
|
%{buildroot}%{rsyslogdocdir}/pgsql-createDB.sql
|
|
%endif
|
|
install -d -m0755 %{buildroot}%{_unitdir}
|
|
install -m644 %{SOURCE3} %{buildroot}%{_unitdir}/
|
|
install -d -m0755 %{buildroot}%{_prefix}/lib/systemd/journald.conf.d
|
|
install -m644 %{SOURCE16} %{buildroot}%{_prefix}/lib/systemd/journald.conf.d/30-rsyslog.conf
|
|
# create ghosts
|
|
install -d -m0755 %{buildroot}%{rsyslog_rundir}
|
|
touch %{buildroot}%{rsyslog_sockets_cfg}
|
|
chmod 644 %{buildroot}%{rsyslog_sockets_cfg}
|
|
mkdir -p %{buildroot}%{APPARMOR_PROFILE_PATH}/rsyslog.d/
|
|
install -m0640 %{SOURCE6} %{buildroot}%{APPARMOR_PROFILE_PATH}/
|
|
install -m0600 %{SOURCE17} %{buildroot}%{_sysconfdir}/rsyslog.d/
|
|
install -m0600 %{SOURCE18} %{buildroot}%{_sysconfdir}/rsyslog.d/
|
|
install -m0600 %{SOURCE19} %{buildroot}%{_sysconfdir}/rsyslog.d/
|
|
|
|
%if %{with mysql}
|
|
install -m0640 %{SOURCE7} %{buildroot}%{APPARMOR_PROFILE_PATH}/rsyslog.d/
|
|
%endif
|
|
%if %{with snmp}
|
|
install -m0640 %{SOURCE8} %{buildroot}%{APPARMOR_PROFILE_PATH}/rsyslog.d/
|
|
%endif
|
|
%if %{with udpspoof}
|
|
install -m0640 %{SOURCE9} %{buildroot}%{APPARMOR_PROFILE_PATH}/rsyslog.d/
|
|
%endif
|
|
|
|
%clean
|
|
if [ -n "%{buildroot}" ] && [ "%{buildroot}" != "/" ] ; then
|
|
rm -rf "%{buildroot}"
|
|
fi
|
|
|
|
%pre
|
|
%{service_add_pre rsyslog.service}
|
|
|
|
%post
|
|
#
|
|
# update linker caches
|
|
#
|
|
/sbin/ldconfig
|
|
#
|
|
# remove obsolete variables
|
|
#
|
|
%{remove_and_set -n syslog SYSLOG_DAEMON SYSLOG_REQUIRES_NETWORK}
|
|
%{remove_and_set -n syslog RSYSLOGD_COMPAT_VERSION RSYSLOGD_NATIVE_VERSION}
|
|
#
|
|
# add RSYSLOGD_* variables
|
|
#
|
|
%{fillup_only -ns syslog rsyslog}
|
|
#
|
|
# Do not use multiple facilities with the same priority pattern.
|
|
# It causes start failure since rsyslog-6.4.x (bnc#780607).
|
|
#
|
|
# FIXME: it seems to be a valid syntax -> rsyslog bug?
|
|
#
|
|
if grep -qs '^local[0246],' etc/rsyslog.conf ; then
|
|
sed -i -e 's/^local\([0246]\),/local\1.*;/g' etc/rsyslog.conf
|
|
fi
|
|
#
|
|
# create dirs, touch log default files
|
|
#
|
|
if [ "$1" = "1" ] ; then # first install
|
|
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
|
|
#
|
|
# 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
|
|
#
|
|
# touch the additional log sockets config file
|
|
#
|
|
mkdir -p -m750 ".%{rsyslog_rundir}"
|
|
touch ".%{rsyslog_sockets_cfg}"
|
|
chmod 640 ".%{rsyslog_sockets_cfg}"
|
|
fi # first install
|
|
#
|
|
# Enable the rsyslogservice to be started by systemd
|
|
#
|
|
# This macro enables based on a systemctl preset config file only
|
|
%{service_add_post rsyslog.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 rsyslog.service >/dev/null 2>&1 || :
|
|
|
|
%preun
|
|
#
|
|
# stop the rsyslogd daemon when it is running
|
|
#
|
|
%{service_del_preun syslog.socket}
|
|
%{service_del_preun rsyslog.service}
|
|
|
|
%postun
|
|
#
|
|
# update linker caches
|
|
#
|
|
/sbin/ldconfig
|
|
#
|
|
# cleanup init scripts
|
|
#
|
|
%{service_del_postun rsyslog.service}
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%dir %{_sysconfdir}/rsyslog.d
|
|
%config(noreplace) %attr(600,root,root) %{_sysconfdir}/rsyslog.conf
|
|
%config(noreplace) %attr(600,root,root) %{_sysconfdir}/rsyslog.d/remote.conf
|
|
%config(noreplace) %attr(600,root,root) %{_sysconfdir}/rsyslog.d/*.frule
|
|
%{_sbindir}/rsyslogd
|
|
%if !0%{?usrmerged}
|
|
/sbin/rsyslogd
|
|
%endif
|
|
%dir %{rsyslog_module_dir_nodeps}
|
|
%{rsyslog_module_dir_nodeps}/fmhash.so
|
|
%{rsyslog_module_dir_nodeps}/fmhttp.so
|
|
%{rsyslog_module_dir_nodeps}/imfile.so
|
|
%{rsyslog_module_dir_nodeps}/imklog.so
|
|
%{rsyslog_module_dir_nodeps}/imkmsg.so
|
|
%{rsyslog_module_dir_nodeps}/immark.so
|
|
%{rsyslog_module_dir_nodeps}/impstats.so
|
|
%{rsyslog_module_dir_nodeps}/imtcp.so
|
|
%{rsyslog_module_dir_nodeps}/imudp.so
|
|
%{rsyslog_module_dir_nodeps}/imuxsock.so
|
|
%{rsyslog_module_dir_nodeps}/lmnet.so
|
|
%{rsyslog_module_dir_nodeps}/lmnetstrms.so
|
|
%{rsyslog_module_dir_nodeps}/lmnsd_ptcp.so
|
|
%{rsyslog_module_dir_nodeps}/imptcp.so
|
|
%{rsyslog_module_dir_nodeps}/lmregexp.so
|
|
%{rsyslog_module_dir_nodeps}/lmtcpclt.so
|
|
%{rsyslog_module_dir_nodeps}/lmtcpsrv.so
|
|
%{rsyslog_module_dir_nodeps}/lmzlibw.so
|
|
%{rsyslog_module_dir_nodeps}/mmanon.so
|
|
%{rsyslog_module_dir_nodeps}/mmcount.so
|
|
%{rsyslog_module_dir_nodeps}/mmexternal.so
|
|
%{rsyslog_module_dir_nodeps}/mmfields.so
|
|
%{rsyslog_module_dir_nodeps}/mmkubernetes.so
|
|
%{rsyslog_module_dir_nodeps}/mmpstrucdata.so
|
|
%{rsyslog_module_dir_nodeps}/mmrfc5424addhmac.so
|
|
%{rsyslog_module_dir_nodeps}/mmsequence.so
|
|
%{rsyslog_module_dir_nodeps}/mmutf8fix.so
|
|
%{rsyslog_module_dir_nodeps}/mmrm1stspace.so
|
|
%{rsyslog_module_dir_nodeps}/ommail.so
|
|
%{rsyslog_module_dir_nodeps}/omhttp.so
|
|
%{rsyslog_module_dir_nodeps}/omprog.so
|
|
%{rsyslog_module_dir_nodeps}/omruleset.so
|
|
%{rsyslog_module_dir_nodeps}/omstdout.so
|
|
%{rsyslog_module_dir_nodeps}/omtesting.so
|
|
%{rsyslog_module_dir_nodeps}/omuxsock.so
|
|
%{rsyslog_module_dir_nodeps}/pmlastmsg.so
|
|
%{rsyslog_module_dir_nodeps}/pmaixforwardedfrom.so
|
|
%{rsyslog_module_dir_nodeps}/pmcisconames.so
|
|
%{rsyslog_module_dir_nodeps}/pmciscoios.so
|
|
%{rsyslog_module_dir_nodeps}/pmsnare.so
|
|
%{rsyslog_module_dir_nodeps}/pmnull.so
|
|
%{rsyslog_module_dir_nodeps}/pmnormalize.so
|
|
%{rsyslog_module_dir_nodeps}/pmpanngfw.so
|
|
%if %{with rfc3195}
|
|
%{rsyslog_module_dir_nodeps}/im3195.so
|
|
%endif
|
|
%if %{with journal}
|
|
%{rsyslog_module_dir_nodeps}/imjournal.so
|
|
%{rsyslog_module_dir_nodeps}/omjournal.so
|
|
%dir %{_prefix}/lib/systemd/journald.conf.d/
|
|
%{_prefix}/lib/systemd/journald.conf.d/30-rsyslog.conf
|
|
%endif
|
|
%dir %{rsyslog_module_dir_withdeps}
|
|
%{_mandir}/man5/rsyslog.conf.5*
|
|
%{_mandir}/man8/rsyslogd.8*
|
|
%license COPYING COPYING.ASL20 COPYING.LESSER
|
|
%dir %{rsyslogdocdir}
|
|
%doc %{rsyslogdocdir}/ChangeLog
|
|
%doc %{rsyslogdocdir}/README
|
|
%doc %{rsyslogdocdir}/AUTHORS
|
|
%dir %{_localstatedir}/spool/rsyslog
|
|
%{_fillupdir}/sysconfig.syslog-rsyslog
|
|
%attr(0755,root,root) %dir %ghost %{rsyslog_rundir}
|
|
%attr(0644,root,root) %ghost %{rsyslog_sockets_cfg}
|
|
%{_sbindir}/rsyslog-service-prepare
|
|
%{_unitdir}/rsyslog.service
|
|
%{_sbindir}/rc%{name}
|
|
%{APPARMOR_PROFILE_PATH_DIR_COMMANDS}
|
|
%config %{APPARMOR_PROFILE_PATH}/usr.sbin.rsyslogd
|
|
|
|
%files doc
|
|
%defattr(-,root,root)
|
|
%dir %{rsyslogdocdir}/
|
|
%doc %{rsyslogdocdir}/html/
|
|
|
|
%if %{with diagtools}
|
|
|
|
%files diag-tools
|
|
%defattr(-,root,root)
|
|
%{_sbindir}/msggen
|
|
%{_sbindir}/rsyslog_diag_hostname
|
|
%{rsyslog_module_dir_nodeps}/imdiag.so
|
|
%endif
|
|
|
|
%if %{with gssapi}
|
|
|
|
%files module-gssapi
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omgssapi.so
|
|
%{rsyslog_module_dir_withdeps}/imgssapi.so
|
|
%{rsyslog_module_dir_withdeps}/lmgssutil.so
|
|
%endif
|
|
|
|
%if %{with mysql}
|
|
|
|
%files module-mysql
|
|
%defattr(-,root,root)
|
|
%doc %{rsyslogdocdir}/mysql-createDB.sql
|
|
%{rsyslog_module_dir_withdeps}/ommysql.so
|
|
%config %{APPARMOR_PROFILE_PATH}/rsyslog.d/module-mysql
|
|
%endif
|
|
|
|
%if %{with pgsql}
|
|
|
|
%files module-pgsql
|
|
%defattr(-,root,root)
|
|
%doc %{rsyslogdocdir}/pgsql-createDB.sql
|
|
%{rsyslog_module_dir_withdeps}/ompgsql.so
|
|
%endif
|
|
|
|
%if %{with dbi}
|
|
|
|
%files module-dbi
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omlibdbi.so
|
|
%endif
|
|
|
|
%if %{with snmp}
|
|
|
|
%files module-snmp
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omsnmp.so
|
|
%{rsyslog_module_dir_nodeps}/mmsnmptrapd.so
|
|
%config %{APPARMOR_PROFILE_PATH}/rsyslog.d/module-snmp
|
|
%endif
|
|
|
|
%if %{with gnutls}
|
|
|
|
%files module-gtls
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/lmnsd_gtls.so
|
|
%endif
|
|
|
|
%if %{with openssl}
|
|
|
|
%files module-ossl
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/lmnsd_ossl.so
|
|
%endif
|
|
|
|
%if %{with relp}
|
|
|
|
%files module-relp
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/imrelp.so
|
|
%{rsyslog_module_dir_withdeps}/omrelp.so
|
|
%endif
|
|
|
|
%if %{with mmnormalize}
|
|
|
|
%files module-mmnormalize
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/mmnormalize.so
|
|
%{rsyslog_module_dir_withdeps}/mmjsonparse.so
|
|
%{rsyslog_module_dir_withdeps}/mmaudit.so
|
|
%endif
|
|
|
|
%if %{with udpspoof}
|
|
|
|
%files module-udpspoof
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_nodeps}/omudpspoof.so
|
|
%config %{APPARMOR_PROFILE_PATH}/rsyslog.d/module-udpspoof
|
|
%endif
|
|
|
|
%if %{with elasticsearch}
|
|
|
|
%files module-elasticsearch
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omelasticsearch.so
|
|
%endif
|
|
|
|
%if %{with omhttpfs}
|
|
|
|
%files module-omhttpfs
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omhttpfs.so
|
|
%endif
|
|
|
|
%if %{with hdfs}
|
|
|
|
%files module-hdfs
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omhdfs.so
|
|
%endif
|
|
|
|
%if %{with mongodb}
|
|
|
|
%files module-mongodb
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/ommongodb.so
|
|
%endif
|
|
|
|
%if %{with hiredis}
|
|
|
|
%files module-hiredis
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omhiredis.so
|
|
%endif
|
|
|
|
%if %{with zeromq}
|
|
|
|
%files module-zeromq
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/imzmq3.so
|
|
%{rsyslog_module_dir_withdeps}/omzmq3.so
|
|
%endif
|
|
|
|
%if %{with kafka}
|
|
|
|
%files module-kafka
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/imkafka.so
|
|
%{rsyslog_module_dir_withdeps}/omkafka.so
|
|
%endif
|
|
|
|
%if %{with omamqp1}
|
|
%files module-omamqp1
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omamqp1.so
|
|
%endif
|
|
|
|
%if %{with gcrypt}
|
|
|
|
%files module-gcrypt
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/lmcry_gcry.so
|
|
%{_bindir}/rscryutil
|
|
%endif
|
|
|
|
%if %{with tcl}
|
|
%files module-omtcl
|
|
%defattr(-,root,root)
|
|
%{rsyslog_module_dir_withdeps}/omtcl.so*
|
|
%endif
|
|
|
|
%changelog
|