+++ /dev/null
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/logsource.c syslog-ng-syslog-ng-4.8.0/lib/logsource.c
---- syslog-ng-syslog-ng-4.8.0.org/lib/logsource.c 2024-07-23 13:41:56.000000000 +0200
-+++ syslog-ng-syslog-ng-4.8.0/lib/logsource.c 2024-08-18 17:12:24.901204805 +0200
-@@ -60,7 +60,7 @@ _take_reclaimed_window(LogSource *self,
- return window_size_increment;
- }
-
-- guint32 remaining_window_size_increment = MAX(window_size_increment - old, 0);
-+ guint32 remaining_window_size_increment = MAX((gssize)window_size_increment - old, 0);
- guint32 reclaimed = window_size_increment - remaining_window_size_increment;
- atomic_gssize_add(&self->pending_reclaimed, reclaimed);
-
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/tests/test_window_size_counter.c syslog-ng-syslog-ng-4.8.0/lib/tests/test_window_size_counter.c
---- syslog-ng-syslog-ng-4.8.0.org/lib/tests/test_window_size_counter.c 2024-07-23 13:41:56.000000000 +0200
-+++ syslog-ng-syslog-ng-4.8.0/lib/tests/test_window_size_counter.c 2024-08-18 17:12:24.901204805 +0200
-@@ -58,8 +58,8 @@ Test(test_window_size_counter, negative_
- WindowSizeCounter c;
- gboolean suspended = FALSE;
- window_size_counter_set(&c, -1);
-- gint v = (gint)window_size_counter_get(&c, &suspended);
-- cr_assert_eq(v, -1);
-+ gssize v = (gssize)window_size_counter_get(&c, &suspended);
-+ cr_assert_eq(v, G_MAXLONG);
- }
-
- Test(test_window_size_counter, suspend_resume_multiple_times)
+++ /dev/null
---- syslog-ng-4.10.2/modules/kafka/tests/Makefile.am~ 2025-10-14 13:43:46.000000000 +0200
-+++ syslog-ng-4.10.2/modules/kafka/tests/Makefile.am 2025-10-18 14:30:05.063327140 +0200
-@@ -1,4 +1,4 @@
--if ENABLE_KAFKA
-+if FALSE
-
- modules_kafka_tests_TESTS = \
- modules/kafka/tests/test_kafka_props \
---- syslog-ng-4.10.2/modules/python-modules/syslogng/modules/hypr/tests/test_hypr_audit_source.py~ 2025-10-14 13:43:46.000000000 +0200
-+++ syslog-ng-4.10.2/modules/python-modules/syslogng/modules/hypr/tests/test_hypr_audit_source.py 2025-10-18 14:31:26.263327169 +0200
-@@ -64,7 +64,7 @@
- assert sut.close() is None
- sut.deinit()
-
--
-+@pytest.mark.skip(reason="no way of currently testing this")
- def test_hypr_audit_source_complete_lifecycle(minimal_config, mocker):
-
- response_json = [
+++ /dev/null
---- syslog-ng-4.8.0/configure.ac~ 2024-08-01 19:27:51.000000000 +0200
-+++ syslog-ng-4.8.0/configure.ac 2024-08-01 19:28:54.109970068 +0200
-@@ -1036,15 +1036,17 @@ dnl GLib headers/libraries
- SAFE_C_CHECK_BEGIN
-
- GLIB_ADDONS="gmodule-2.0 gthread-2.0"
--PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION $GLIB_ADDONS,,)
-
- if test "$linking_mode" != "dynamic"; then
-+ PKG_CHECK_MODULES_STATIC(GLIB, glib-2.0 >= $GLIB_MIN_VERSION $GLIB_ADDONS,,)
- # strip out -ldl & -lrt as it cannot be linked statically
-- GLIB_LIBS=`echo $GLIB_LIBS | tr ' ' '\n' | egrep -v "^(-ldld?)|(-lrt)$" | tr '\n' ' '`
-+ GLIB_LIBS=`echo $GLIB_LIBS | tr ' ' '\n' | egrep -v "^(-ldld?)|(-lrt)|(-lm)|(-lpcre2-8)$" | tr '\n' ' '`
-
- LIBS="$LD_START_STATIC $GLIB_LIBS $LD_END_STATIC $BASE_LIBS"
- AC_CHECK_FUNC(g_hash_table_new, blb_cv_static_glib=yes, blb_cv_static_glib=no)
- LIBS=$LIBS_SAVE
-+else
-+ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION $GLIB_ADDONS,,)
- fi
-
- CPPFLAGS="$GLIB_CFLAGS"
+++ /dev/null
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/ivykis/configure.ac syslog-ng-syslog-ng-4.8.0/lib/ivykis/configure.ac
---- syslog-ng-syslog-ng-4.8.0.org/lib/ivykis/configure.ac 2019-05-17 00:41:51.000000000 +0200
-+++ syslog-ng-syslog-ng-4.8.0/lib/ivykis/configure.ac 2024-08-18 17:09:06.841565903 +0200
-@@ -22,7 +22,7 @@ aix7.*)
- esac
-
- # Checks for programs.
--LT_INIT
-+LT_INIT([disable-shared])
- AC_PROG_CC
- AC_PROG_LIBTOOL
-
+++ /dev/null
-diff -urNp -x '*.orig' syslog-ng-3.29.1.org/configure.ac syslog-ng-3.29.1/configure.ac
---- syslog-ng-4.8.0/configure.ac.orig 2024-08-01 19:24:08.129970075 +0200
-+++ syslog-ng-4.8.0/configure.ac 2024-08-01 19:26:09.006636741 +0200
-@@ -2164,7 +2164,7 @@ if test "x$linking_mode" = "xdynamic"; t
- # syslog-ng binary is linked with the default link command (e.g. libtool)
- SYSLOGNG_LINK='$(LINK)'
- else
-- SYSLOGNG_DEPS_LIBS="$LIBS $BASE_LIBS $RESOLV_LIBS $EVTLOG_NO_LIBTOOL_LIBS $SECRETSTORAGE_NO_LIBTOOL_LIBS $LD_START_STATIC -Wl,${WHOLE_ARCHIVE_OPT} $GLIB_LIBS $PCRE2_LIBS $REGEX_LIBS -Wl,${NO_WHOLE_ARCHIVE_OPT} $IVYKIS_NO_LIBTOOL_LIBS $LD_END_STATIC $LIBCAP_LIBS $DL_LIBS $LIBUNWIND_LIBS $JSON_LIBS"
-+ SYSLOGNG_DEPS_LIBS="$LIBS $BASE_LIBS $RESOLV_LIBS $EVTLOG_NO_LIBTOOL_LIBS $SECRETSTORAGE_NO_LIBTOOL_LIBS $LD_START_STATIC -Wl,${WHOLE_ARCHIVE_OPT} $GLIB_LIBS $PCRE2_LIBS $REGEX_LIBS -Wl,${NO_WHOLE_ARCHIVE_OPT} $LD_END_STATIC $IVYKIS_NO_LIBTOOL_LIBS $LIBCAP_LIBS $DL_LIBS $LIBUNWIND_LIBS $JSON_LIBS"
- TOOL_DEPS_LIBS="$LIBS $BASE_LIBS $GLIB_LIBS $EVTLOG_LIBS $SECRETSTORAGE_LIBS $RESOLV_LIBS $LIBCAP_LIBS $PCRE2_LIBS $REGEX_LIBS $IVYKIS_LIBS $DL_LIBS $JSON_LIBS"
- CORE_DEPS_LIBS=""
-
-diff -urNp -x '*.orig' syslog-ng-3.29.1.org/lib/logproto/tests/Makefile.am syslog-ng-3.29.1/lib/logproto/tests/Makefile.am
---- syslog-ng-3.29.1.org/lib/logproto/tests/Makefile.am 2020-08-10 20:04:39.000000000 +0200
-+++ syslog-ng-3.29.1/lib/logproto/tests/Makefile.am 2021-02-28 14:27:10.230296549 +0100
-@@ -23,7 +23,6 @@ lib_logproto_tests_test_findeom_CFLAGS =
- $(TEST_CFLAGS) \
- -I${top_srcdir}/libtest
- lib_logproto_tests_test_findeom_LDADD = \
-- ${top_builddir}/lib/libsyslog-ng.la \
- ${top_builddir}/libtest/libsyslog-ng-test.a \
- $(TEST_LDADD)
- lib_logproto_tests_test_findeom_SOURCES = \
---- syslog-ng-4.8.0/lib/Makefile.am~ 2024-07-23 13:42:10.000000000 +0200
-+++ syslog-ng-4.8.0/lib/Makefile.am 2024-08-01 19:36:57.976636728 +0200
-@@ -311,7 +311,7 @@ lib_libsyslog_ng_la_SOURCES = \
- lib_libsyslog_ng_la_CFLAGS = \
- $(AM_CFLAGS) \
- $(libsystemd_CFLAGS)
--lib_libsyslog_ng_la_LIBADD += @OPENSSL_LIBS@
-+lib_libsyslog_ng_la_LIBADD += @OPENSSL_LIBS@ @JSON_LIBS@ @LIBUNWIND_LIBS@
-
- # each line with closely related files (e.g. the ones generated from the same source)
- BUILT_SOURCES += lib/cfg-lex.c lib/cfg-lex.h \
---- syslog-ng-4.8.0/configure.ac~ 2024-07-23 13:42:10.000000000 +0200
-+++ syslog-ng-4.8.0/configure.ac 2024-08-01 19:20:42.196636751 +0200
-@@ -900,11 +900,10 @@ dnl ************************************
+--- syslog-ng-4.12.0/configure.ac.orig 2026-06-16 15:46:03.000000000 +0200
++++ syslog-ng-4.12.0/configure.ac 2026-07-21 22:05:12.346654595 +0200
+@@ -1259,11 +1259,10 @@ dnl ************************************
dnl Checks for libraries
AC_CHECK_LIB(m, round, BASE_LIBS="$BASE_LIBS -lm")
AC_CHECK_LIB(door, door_create, BASE_LIBS="$BASE_LIBS -ldoor")
+AC_CHECK_FUNC([gethostbyname], [:], [AC_CHECK_LIB(nsl, gethostbyname, BASE_LIBS="$BASE_LIBS -lnsl")])
+AC_CHECK_FUNC([regexec], [:], [AC_CHECK_LIB(regex, regexec, REGEX_LIBS="-lregex")])
- CHECK_FUNCS_AND_DEFINE([
- fmemopen
+ dnl ***************************************************************************
+ dnl jemalloc support
%bcond_without geoip2 # support for GeoIP2
%bcond_without kafka # support for Apache Kafka protocol
%bcond_without riemann # support for Riemann monitoring system
+%bcond_with tcp_wrappers # tcp_wrappers/libwrap support
%bcond_without amqp # AMQP support
%bcond_without python # python module
%bcond_with java # java modules and support
%define libivykis_version 0.43.2
%define glib2_ver 1:2.32.0
-%define mver 4.10
+%define mver 4.12
Summary: Syslog-ng - new generation of the system logger
Summary(pl.UTF-8): Syslog-ng - systemowy demon logujący nowej generacji
Summary(pt_BR.UTF-8): Daemon de log nova geração
Name: syslog-ng
-Version: 4.10.2
+Version: 4.12.0
Release: 1
License: GPL v2+ with OpenSSL exception
Group: Daemons
#Source0Download: https://github.com/syslog-ng/syslog-ng/releases
Source0: https://github.com/syslog-ng/syslog-ng/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 0c97637b266efcf932b5fdea5f40235e
+# Source0-md5: 16051c9ecf959df050d4d50f59069bac
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.logrotate
%endif
Patch0: %{name}-datadir.patch
Patch2: %{name}-nolibs.patch
-Patch5: %{name}-link.patch
-Patch6: no_shared_ivykis.patch
-Patch7: 32bit.patch
-Patch9: glib-static.patch
URL: https://syslog-ng.org/
BuildRequires: autoconf >= 2.59
BuildRequires: automake
BuildRequires: libnet-devel >= 1:1.1.2.1-3
%{?with_kafka:BuildRequires: librdkafka-devel >= 1.1.0}
BuildRequires: libtool >= 2:2.0
-BuildRequires: libwrap-devel
+%{?with_tcp_wrappers:BuildRequires: libwrap-devel}
BuildRequires: libxslt-progs
BuildRequires: lz4-devel >= r131-5
%{?with_mongodb:BuildRequires: mongo-c-driver-devel >= 1.0.0}
%{?with_python:BuildRequires: python3-devel >= 1:3.2}
BuildRequires: python3-pep8
BuildRequires: python3-ply
+BuildRequires: python3-pytest
BuildRequires: python3-pytest-mock
BuildRequires: python3-requests
BuildRequires: tzdata
# or just %%{_libdir}? modules seem to be always linked dynamically
%define moduledir %{slibdir}/syslog-ng
+# non-function symbols: absl::lts_20250814::cord_internal::cordz_next_sample, google::protobuf::internal::ThreadSafeArena::thread_cache_
+%define skip_post_check_so libgrpc-protos.so.*
+
%description
syslog-ng is a syslogd replacement for Unix and Unix-like systems. It
has been tested on Solaris, BSDi and Linux, and were found to run
%patch -P0 -p1
%patch -P2 -p1
-%patch -P5 -p1
-%patch -P6 -p1
-%patch -P7 -p1
-%patch -P9 -p1
%{__sed} -i -e 's|/usr/bin/awk|/bin/awk|' scl/syslogconf/convert-syslogconf.awk
%{__sed} -i -e '1s,/usr/bin/env python3$,%{__python3},' lib/merge-grammar.py
--enable-python%{!?with_python:=no} \
--enable-redis%{!?with_redis:=no} \
--enable-riemann%{!?with_riemann:=no} \
+ --enable-slog \
--enable-smtp%{!?with_smtp:=no} \
--enable-spoof-source \
--enable-ssl \
--disable-stackdump \
--enable-systemd=no \
--with-systemd-journal=auto \
- --enable-tcp-wrapper \
+ --enable-tcp-wrapper%{!?with_tcp_wrappers:=no} \
%if %{with sql}
--enable-sql \
%endif
%{__make}
%if %{with tests}
-LD_LIBRARY_PATH=$(find $PWD -name '*.so*' -printf "%h:")
-PYTHONPATH=$(pwd)/tests/functional
-export LD_LIBRARY_PATH PYTHONPATH
+export LD_LIBRARY_PATH=$(find $PWD -name '*.so*' -printf "%h:")
+export PYTHONPATH=$(pwd)/tests/functional
+export PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+export PYTEST_PLUGINS=pytest_mock.plugin
if ! %{__make} check; then
cat test-suite.log
exit 1
%{__rm} $RPM_BUILD_ROOT%{_sbindir}/syslog-ng-debun
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/syslog-ng-debun.1
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/syslog-ng/include/scl/freebsd-audit
%{__rm} $RPM_BUILD_ROOT%{moduledir}/libexamples.so
%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
%{__rm} $RPM_BUILD_ROOT%{moduledir}/*.la
%{_datadir}/syslog-ng/include/scl/fortigate
%{_datadir}/syslog-ng/include/scl/graphite
%{_datadir}/syslog-ng/include/scl/hdfs
-%{_datadir}/syslog-ng/include/scl/kafka
%{_datadir}/syslog-ng/include/scl/iptables
%{_datadir}/syslog-ng/include/scl/jellyfin
%{_datadir}/syslog-ng/include/scl/junos