rebase to upstream version 8.2102.0

resolves: rhbz#1905363
  add additional plugin imkafka
This commit is contained in:
alakatos 2021-03-03 11:25:18 +01:00 committed by Cropi
parent 70ab8c4473
commit d8cfafacf9
3 changed files with 153 additions and 75 deletions

3
.gitignore vendored
View File

@ -77,3 +77,6 @@ rsyslog-4.6.3.tar.gz
/rsyslog-doc-8.2008.0.tar.gz
/rsyslog-8.2010.0.tar.gz
/rsyslog-doc-8.2010.0.tar.gz
/qpid-proton-0.31.0.tar.gz
/rsyslog-8.2102.0.tar.gz
/rsyslog-doc-8.2102.0.tar.gz

View File

@ -1,15 +1,14 @@
%define rsyslog_statedir %{_sharedstatedir}/rsyslog
%define rsyslog_pkidir %{_sysconfdir}/pki/rsyslog
%define rsyslog_docdir %{_docdir}/rsyslog
#due to multiple failures of extensive testbench on various archs
#and module requirements of certain tests need to have it disabled,
#tests execution possible locally on properly set up workstation
%global want_testbench 0
# The following packages are not enabled on rhel:
# hiredis, libdbi, mongodb, rabbitmq
# The omamqp1 plugin is built differently as qpid-proton is not available on rhel
Summary: Enhanced system logging and kernel message trapping daemon
Name: rsyslog
Version: 8.2010.0
Release: 4%{?dist}
Version: 8.2102.0
Release: 1%{?dist}
License: (GPLv3+ and ASL 2.0)
URL: http://www.rsyslog.com/
Source0: http://www.rsyslog.com/files/download/rsyslog/%{name}-%{version}.tar.gz
@ -18,6 +17,13 @@ Source2: rsyslog.conf
Source3: rsyslog.sysconfig
Source4: rsyslog.log
Source5: rsyslog.service
# Add qpid-proton as another source, enable omamqp1 module in a
# separatae sub-package with it statically linked(see rhbz#1713427)
%if 0%{?rhel} != 0
Source6: qpid-proton-0.31.0.tar.gz
%else
BuildRequires: qpid-proton-c-devel
%endif
BuildRequires: make
BuildRequires: gcc
@ -36,7 +42,6 @@ BuildRequires: python3-docutils
# make sure systemd is in a version that isn't affected by rhbz#974132
BuildRequires: systemd-devel >= 204-8
BuildRequires: zlib-devel
BuildRequires: qpid-proton-c-devel
Requires: logrotate >= 3.5.2
Requires: bash >= 2.0
@ -58,11 +63,6 @@ Summary: ElasticSearch output module for rsyslog
Requires: %name = %version-%release
BuildRequires: libcurl-devel
%package hiredis
Summary: Redis support for rsyslog
Requires: %name = %version-%release
BuildRequires: hiredis-devel
%package mmjsonparse
Summary: JSON enhanced logging support
Requires: %name = %version-%release
@ -80,31 +80,16 @@ Requires: %name = %version-%release
Summary: Message modification module for snmptrapd generated messages
Requires: %name = %version-%release
%package libdbi
Summary: Libdbi database support for rsyslog
Requires: %name = %version-%release
BuildRequires: libdbi-devel
%package mysql
Summary: MySQL support for rsyslog
Requires: %name = %version-%release
BuildRequires: mariadb-connector-c-devel
%package mongodb
Summary: MongoDB support for rsyslog
Requires: %name = %version-%release
BuildRequires: mongo-c-driver-devel snappy-devel cyrus-sasl-devel
%package pgsql
Summary: PostgresSQL support for rsyslog
Requires: %name = %version-%release
BuildRequires: libpq-devel
%package rabbitmq
Summary: RabbitMQ support for rsyslog
Requires: %name = %version-%release
BuildRequires: librabbitmq-devel >= 0.2
%package gssapi
Summary: GSSAPI authentication and encryption support for rsyslog
Requires: %name = %version-%release
@ -133,7 +118,19 @@ BuildRequires: libnet-devel
%package omamqp1
Summary: Provides the omamqp1 module
Requires: %name = %version-%release
%if 0%{?rhel} != 0
Requires: cyrus-sasl-lib
Requires: openssl-libs
BuildRequires: cmake
BuildRequires: make
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cyrus-sasl-devel
BuildRequires: openssl-devel
BuildRequires: python3
%else
BuildRequires: qpid-proton-c-devel
%endif
%package kafka
Summary: Provides the omkafka module
@ -145,6 +142,29 @@ Summary: Provides the mmkubernetes module
Requires: %name = %version-%release
BuildRequires: libcurl-devel
%if 0%{?rhel} == 0
%package hiredis
Summary: Redis support for rsyslog
Requires: %name = %version-%release
BuildRequires: hiredis-devel
%package libdbi
Summary: Libdbi database support for rsyslog
Requires: %name = %version-%release
BuildRequires: libdbi-devel
%package mongodb
Summary: MongoDB support for rsyslog
Requires: %name = %version-%release
BuildRequires: mongo-c-driver-devel snappy-devel cyrus-sasl-devel
%package rabbitmq
Summary: RabbitMQ support for rsyslog
Requires: %name = %version-%release
BuildRequires: librabbitmq-devel >= 0.2
%endif
%description
Rsyslog is an enhanced, multi-threaded syslog daemon. It supports MySQL,
syslog/TCP, RFC 3195, permitted sender lists, filtering on any message part,
@ -164,9 +184,6 @@ This subpackage contains documentation for rsyslog.
This module provides the capability for rsyslog to feed logs directly into
Elasticsearch.
%description hiredis
This module provides output to Redis.
%description mmjsonparse
This module provides the capability to recognize and parse JSON enhanced
syslog messages.
@ -182,26 +199,14 @@ in various settings.
This message modification module takes messages generated from snmptrapd and
modifies them so that they look like they originated from the read originator.
%description libdbi
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.
%description mysql
The rsyslog-mysql package contains a dynamic shared object that will add
MySQL database support to rsyslog.
%description mongodb
The rsyslog-mongodb package contains a dynamic shared object that will add
MongoDB database support to rsyslog.
%description pgsql
The rsyslog-pgsql package contains a dynamic shared object that will add
PostgreSQL database support to rsyslog.
%description rabbitmq
This module allows rsyslog to send messages to a RabbitMQ server.
%description gssapi
The rsyslog-gssapi package contains the rsyslog plugins which support GSSAPI
authentication and secure connections. GSSAPI is commonly used for Kerberos
@ -237,6 +242,23 @@ The rsyslog-kafka package provides module for Apache Kafka output.
The rsyslog-mmkubernetes package provides module for adding kubernetes
container metadata.
%if 0%{?rhel} == 0
%description hiredis
This module provides output to Redis.
%description libdbi
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.
%description mongodb
The rsyslog-mongodb package contains a dynamic shared object that will add
MongoDB database support to rsyslog.
%description rabbitmq
This module allows rsyslog to send messages to a RabbitMQ server.
%endif
%prep
# set up rsyslog-doc sources
%setup -q -a 1 -T -c
@ -244,10 +266,39 @@ rm -r LICENSE README.md source build/objects.inv
mv build doc
# set up rsyslog sources
%setup -q -D
autoreconf -iv
# Unpack qpid-proton for rhel
%if 0%{?rhel} != 0
%setup -q -D -T -b 6
%endif
%build
%if 0%{?rhel} != 0
%ifarch sparc64
#sparc64 need big PIC
export CFLAGS="$RPM_OPT_FLAGS -fPIC"
%else
export CFLAGS="$RPM_OPT_FLAGS -fpic"
%endif
# build the proton first
(
cd %{_builddir}/qpid-proton-0.31.0
mkdir bld
cd bld
# Need ENABLE_FUZZ_TESTING=NO to avoid a link failure
# Find python include dir and python library from
# https://stackoverflow.com/questions/24174394/cmake-is-not-able-to-find-python-libraries
cmake .. \
-DBUILD_BINDINGS="" \
-DBUILD_STATIC_LIBS=YES \
-DENABLE_FUZZ_TESTING=NO \
-DPYTHON_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
-DPYTHON_LIBRARY=$(python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))") \
-DCMAKE_AR="/usr/bin/gcc-ar" -DCMAKE_NM="/usr/bin/gcc-nm" -DCMAKE_RANLIB="/usr/bin/gcc-ranlib"
make -j8
)
%endif
%ifarch sparc64
#sparc64 need big PIE
export CFLAGS="$RPM_OPT_FLAGS -fPIE"
@ -257,27 +308,37 @@ export CFLAGS="$RPM_OPT_FLAGS -fpie"
export LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now"
# the hiredis-devel package doesn't provide a pkg-config file
%if 0%{?rhel} == 0
export HIREDIS_CFLAGS=-I/usr/include/hiredis
export HIREDIS_LIBS="-L%{_libdir} -lhiredis"
%endif
sed -i 's/%{version}/%{version}-%{release}/g' configure.ac
autoreconf -if
%configure \
--prefix=/usr \
--disable-static \
%if %{want_testbench}
--enable-testbench \
--disable-testbench \
%if 0%{?rhel} == 0
--enable-clickhouse \
--enable-imdocker \
--enable-improg \
--enable-libdbi \
--enable-omamqp1 \
--enable-omhiredis \
--enable-ommongodb \
--enable-omrabbitmq \
%else
--enable-omamqp1 PROTON_LIBS="%{_builddir}/qpid-proton-0.31.0/bld/c/libqpid-proton-core-static.a %{_builddir}/qpid-proton-0.31.0/bld/c/libqpid-proton-proactor-static.a %{_builddir}/qpid-proton-0.31.0/bld/c/libqpid-proton-static.a -lssl -lsasl2 -lcrypto" PROTON_CFLAGS="-I%{_builddir}/qpid-proton-0.31.0/bld/c/include" \
%endif
--enable-elasticsearch \
--enable-clickhouse \
--enable-generate-man-pages \
--enable-gnutls \
--enable-gssapi-krb5 \
--enable-imdiag \
--enable-imdocker \
--enable-imfile \
--enable-imjournal \
--enable-improg \
--enable-imkafka \
--enable-impstats \
--enable-imptcp \
--enable-libdbi \
--enable-mail \
--enable-mmanon \
--enable-mmaudit \
@ -286,14 +347,11 @@ export HIREDIS_LIBS="-L%{_libdir} -lhiredis"
--enable-mmjsonparse \
--enable-mmnormalize \
--enable-mmsnmptrapd \
--enable-mmutf8fix \
--enable-mysql \
--enable-omamqp1 \
--enable-omhiredis \
--enable-omhttp \
--enable-omjournal \
--enable-ommongodb \
--enable-omprog \
--enable-omrabbitmq \
--enable-omstdout \
--enable-omudpspoof \
--enable-omuxsock \
@ -341,6 +399,9 @@ rm -f %{buildroot}%{_libdir}/rsyslog/*.la
rm -f %{buildroot}%{_libdir}/rsyslog/imdiag.so
rm -f %{buildroot}%{_libdir}/rsyslog/liboverride_gethostname.so
# convert line endings from "\r\n" to "\n"
cat tools/recover_qi.pl | tr -d '\r' > %{buildroot}%{_bindir}/rsyslog-recover-qi.pl
%post
for n in /var/log/{messages,secure,maillog,spooler}
do
@ -368,6 +429,7 @@ done
%dir %{rsyslog_statedir}
%dir %{rsyslog_pkidir}
%{_sbindir}/rsyslogd
%attr(755,root,root) %{_bindir}/rsyslog-recover-qi.pl
%{_mandir}/man5/rsyslog.conf.5.gz
%{_mandir}/man8/rsyslogd.8.gz
%{_unitdir}/rsyslog.service
@ -375,12 +437,12 @@ done
%config(noreplace) %{_sysconfdir}/sysconfig/rsyslog
%config(noreplace) %{_sysconfdir}/logrotate.d/rsyslog
# plugins
%{_libdir}/rsyslog/imdocker.so
%{_libdir}/rsyslog/fmhash.so
%{_libdir}/rsyslog/fmhttp.so
%{_libdir}/rsyslog/imfile.so
%{_libdir}/rsyslog/imjournal.so
%{_libdir}/rsyslog/imklog.so
%{_libdir}/rsyslog/immark.so
%{_libdir}/rsyslog/improg.so
%{_libdir}/rsyslog/impstats.so
%{_libdir}/rsyslog/imptcp.so
%{_libdir}/rsyslog/imtcp.so
@ -396,7 +458,7 @@ done
%{_libdir}/rsyslog/mmanon.so
%{_libdir}/rsyslog/mmcount.so
%{_libdir}/rsyslog/mmexternal.so
%{_libdir}/rsyslog/omclickhouse.so
%{_libdir}/rsyslog/mmutf8fix.so
%{_libdir}/rsyslog/omhttp.so
%{_libdir}/rsyslog/omjournal.so
%{_libdir}/rsyslog/ommail.so
@ -408,8 +470,11 @@ done
%{_libdir}/rsyslog/pmcisconames.so
%{_libdir}/rsyslog/pmlastmsg.so
%{_libdir}/rsyslog/pmsnare.so
%{_libdir}/rsyslog/fmhttp.so
%{_libdir}/rsyslog/fmhash.so
%if 0%{?rhel} == 0
%{_libdir}/rsyslog/imdocker.so
%{_libdir}/rsyslog/improg.so
%{_libdir}/rsyslog/omclickhouse.so
%endif
%files crypto
%{_bindir}/rscryutil
@ -422,12 +487,6 @@ done
%files elasticsearch
%{_libdir}/rsyslog/omelasticsearch.so
%files hiredis
%{_libdir}/rsyslog/omhiredis.so
%files libdbi
%{_libdir}/rsyslog/omlibdbi.so
%files mmaudit
%{_libdir}/rsyslog/mmaudit.so
@ -444,17 +503,10 @@ done
%doc %{rsyslog_docdir}/mysql-createDB.sql
%{_libdir}/rsyslog/ommysql.so
%files mongodb
%{_bindir}/logctl
%{_libdir}/rsyslog/ommongodb.so
%files pgsql
%doc %{rsyslog_docdir}/pgsql-createDB.sql
%{_libdir}/rsyslog/ompgsql.so
%files rabbitmq
%{_libdir}/rsyslog/omrabbitmq.so
%files gssapi
%{_libdir}/rsyslog/lmgssutil.so
%{_libdir}/rsyslog/imgssapi.so
@ -477,6 +529,7 @@ done
%{_libdir}/rsyslog/omamqp1.so
%files kafka
%{_libdir}/rsyslog/imkafka.so
%{_libdir}/rsyslog/omkafka.so
%files mmkubernetes
@ -484,7 +537,28 @@ done
%doc %{rsyslog_docdir}/k8s_filename.rulebase
%doc %{rsyslog_docdir}/k8s_container_name.rulebase
%if 0%{?rhel} == 0
%files hiredis
%{_libdir}/rsyslog/omhiredis.so
%files libdbi
%{_libdir}/rsyslog/omlibdbi.so
%files mongodb
%{_bindir}/logctl
%{_libdir}/rsyslog/ommongodb.so
%files rabbitmq
%{_libdir}/rsyslog/omrabbitmq.so
%endif
%changelog
* Wed Mar 03 2021 Attila Lakatos <alakatos@redhat.com> - 8.2102.0-1
- rebase to upstream version 8.2102.0
resolves: rhbz#1905363
- enable additional plugins: imkafka, mmutf8fix
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.2010.0-4
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.

View File

@ -1,2 +1,3 @@
SHA512 (rsyslog-8.2010.0.tar.gz) = e3c8ed6b631053e38abfe8ce183a1544d04a0207dc988d36f5141a7ea8c987915f4c0429ccd094b7e374c277b7ee5b50e65e7205c156af01ffe9bdf8338831c8
SHA512 (rsyslog-doc-8.2010.0.tar.gz) = 072fb05a0117dc0970a4e5e302abbaf5dc065c2a0962c4160e7efb86fedad89a2caa546cd2bf4af07b7f5e2fa5267cf02889d911f7a6916725e6aea1760ab253
SHA512 (qpid-proton-0.31.0.tar.gz) = 39487c34ae6ae1cc0c2f57f2ffb2bdf48a554e9ba8439a5c3f9776205cdb138f71284c9fc7626e4bbee3110ccce7da61ddb45f51ebddfede981ada0872074202
SHA512 (rsyslog-8.2102.0.tar.gz) = 281b0e5d5cb548c39a6e514e5fd5b1bdbe8ca0bdd9234f4fea581ed7679f76d2d75b65d14c3c5e799f86f91600074ff75b467aa1ff27cdbec0f4197261c5aec0
SHA512 (rsyslog-doc-8.2102.0.tar.gz) = a5dc4fb9bd8892fac693c5692b926c8d7d9fa36667d6b4c6eccba750713af88d4317f6232efc2a16de38c2e58c4a8bc4d04c9ebb2e7ebc3b0878d53eef20dd2e