The package rpms/rsyslog.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rsyslog.git/commit/?id=f01b7929c9....
Change:
+%ifarch sparc64
Thanks.
Full change:
============
commit f01b7929c9e7f0e11d7a86521e69e4852f644cf4
Author: alakatos <alakatos(a)redhat.com>
Date: Wed Mar 3 11:25:18 2021 +0100
rebase to upstream version 8.2102.0
resolves: rhbz#1905363
add additional plugin imkafka
diff --git a/.gitignore b/.gitignore
index 4d93b7d..c93e2fc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/rsyslog.spec b/rsyslog.spec
index dd232a4..c8e32b9 100644
--- a/rsyslog.spec
+++ b/rsyslog.spec
@@ -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: 3%{?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-py...
+ 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(a)redhat.com> - 8.2102.0-1
+- rebase to upstream version 8.2102.0
+ resolves: rhbz#1905363
+- enable additional plugins: imkafka, mmutf8fix
+
* Mon Feb 08 2021 Pavel Raiskup <praiskup(a)redhat.com> - 8.2010.0-3
- rebuild for libpq ABI fix rhbz#1908268
diff --git a/sources b/sources
index 3018386..ccff29d 100644
--- a/sources
+++ b/sources
@@ -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