commit:     ebf1b5e6970029bc70c5ed27420c6780fde85f76
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 25 21:28:18 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 25 21:33:36 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebf1b5e6

app-admin/syslog-ng: add 4.10.2

There's a bunch of refactoring in the build system but I don't think we
needed any changes in the end.

No LTO because:
```
modules/add-contextual-data/tests/.libs/test_context_info_dbS.c:54:12: error: 
type of 'context_info_db_insert' does not match original declaration 
[-Werror=lto-type-mismatch]
   44 | void context_info_db_insert(ContextInfoDB *self,
      |      ^
./modules/add-contextual-data/context-info-db.h:44:6: note: type 'void' should 
match type 'int'
./modules/add-contextual-data/context-info-db.h:44:6: note: 
'context_info_db_insert' was previously declared here
modules/add-contextual-data/tests/.libs/test_context_info_dbS.c:48:12: error: 
type of 'context_info_db_contains' does not match original declaration 
[-Werror=lto-type-mismatch]
./modules/add-contextual-data/context-info-db.h:47:10: note: type mismatch in 
parameter 1
   47 | gboolean context_info_db_contains(ContextInfoDB *self,
      |          ^
```

Bug: https://bugs.gentoo.org/964557
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-admin/syslog-ng/Manifest                |   1 +
 app-admin/syslog-ng/syslog-ng-4.10.2.ebuild | 201 ++++++++++++++++++++++++++++
 2 files changed, 202 insertions(+)

diff --git a/app-admin/syslog-ng/Manifest b/app-admin/syslog-ng/Manifest
index 6e3d11301fc1..e31ea9de7d81 100644
--- a/app-admin/syslog-ng/Manifest
+++ b/app-admin/syslog-ng/Manifest
@@ -1,3 +1,4 @@
+DIST syslog-ng-4.10.2.tar.gz 7005387 BLAKE2B 
1589b100b57f0eb0b1f28acfb503fff6600cefb5903ded4ff0a6ef71c7e5bf34e2bb56c17510225da89a880640c64969b5ee84abb4d807d5d352f4404283cab5
 SHA512 
626d245cf85496e9f62ed35bb1e298b9cbd3a927eaac2e7a16d634d8641cfff24fb221cf6cecf9a9ee02e0c9ae9ddfb6273e9613934dbdc48e5c05e5586c9821
 DIST syslog-ng-4.6.0.tar.gz 6671746 BLAKE2B 
44efa3efa4e65744318a314adbefc11e7faa68876bca7be7d053262d8effecb80ecd1efc21af653db8e8f2c16496b5a64ea245a8adaa16e845954a13dedfd5c5
 SHA512 
7c4fbf1ac5377240afa7a1db8d72772399d2c62657fffc3c59e82b2dea6f12031f02320c4f567f981311bd1d8bbfd98962aeb59720ca857867a51b6bf83afb4b
 DIST syslog-ng-4.7.1.tar.gz 6877191 BLAKE2B 
b4a8fa1fe691b96d7e799e57542001829b327a2e8a13237654535ff339a6474bf047408f7fa3939a9e9108d993ebde70fc5d87f4eef9e0d5544ee204aee12a0a
 SHA512 
2f1e0dea4c0ecfc3c77df7e6ac231ee8436c9c78fcb4df8ccdc417fea7d56791fdeb0844ac35f0342ce7c2bea5618d8723b6b54319c556120099eb809873082e
 DIST syslog-ng-4.8.1.tar.gz 6956412 BLAKE2B 
e545107a714e37b51f3c6f652c23a61615b7d3767b3d98ef364e630634c7512b4b08d6790e2635fdb5dab850a45808cd945629e838d3c66b07dfa63ee4d1d35a
 SHA512 
5e20c28aa24deab95dac44edad1855d35d6f9ce474ff4249b3b5492405ff64c9694f40119fdc95b9db53f1aac6b598acc8096e26443caa53c27f7ad32528f9ea

diff --git a/app-admin/syslog-ng/syslog-ng-4.10.2.ebuild 
b/app-admin/syslog-ng/syslog-ng-4.10.2.ebuild
new file mode 100644
index 000000000000..4eaf58075036
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.10.2.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit autotools dot-a flag-o-matic python-single-r1 systemd
+
+DESCRIPTION="syslog replacement with advanced filtering features"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/";
+SRC_URI="https://github.com/syslog-ng/syslog-ng/releases/download/${P}/${P}.tar.gz";
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 grpc http json kafka mongodb mqtt pacct python 
redis smtp snmp test spoof-source systemd tcpd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+       test? ( python )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=dev-libs/glib-2.10.1:2
+       >=dev-libs/ivykis-0.42.4
+       >=dev-libs/libpcre2-10.0:=
+       dev-libs/openssl:0=
+       !dev-libs/eventlog
+       >=dev-libs/json-c-0.9:=
+       amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
+       caps? ( sys-libs/libcap )
+       dbi? ( >=dev-db/libdbi-0.9.0 )
+       geoip2? ( dev-libs/libmaxminddb:= )
+       grpc? (
+               dev-libs/protobuf:=
+               net-libs/grpc:=
+       )
+       http? ( net-misc/curl )
+       kafka? ( >=dev-libs/librdkafka-1.0.0:= )
+       mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
+       mqtt? ( net-libs/paho-mqtt-c:1.3 )
+       python? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep '
+                       dev-python/setuptools[${PYTHON_USEDEP}]
+               ')
+       )
+       redis? ( >=dev-libs/hiredis-0.11.0:= )
+       smtp? ( net-libs/libesmtp:= )
+       snmp? ( net-analyzer/net-snmp:0= )
+       spoof-source? ( net-libs/libnet:1.1 )
+       systemd? ( sys-apps/systemd:= )
+       tcpd? ( >=sys-apps/tcp-wrappers-7.6 )"
+DEPEND="${RDEPEND}
+       test? ( dev-libs/criterion )"
+BDEPEND="
+       >=sys-devel/bison-3.7.6
+       sys-devel/flex
+       virtual/pkgconfig
+       grpc? ( dev-libs/protobuf:= )"
+
+DOCS=( AUTHORS NEWS.md CONTRIBUTING.md 
contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
+       contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
+       "${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
+)
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       local f
+
+       # disable python-modules test as it requires additional python modules 
not
+       # packaged in Gentoo
+       sed -i '/MAKE/s/.*/exit 0/g' modules/python-modules/test_pymodules.sh 
|| die
+
+       use python && python_fix_shebang .
+
+       # remove bundled libs
+       rm -r lib/ivykis || die
+
+       # drop scl modules requiring json
+       if use !json; then
+               sed -i -r 
'/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d'
 scl/Makefile.am || die
+       fi
+
+       # drop scl modules requiring http
+       if use !http; then
+               sed -i -r '/slack|telegram/d' scl/Makefile.am || die
+       fi
+
+       # use gentoo default path
+       if use systemd; then
+               sed -e 
's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
+                       -i contrib/systemd/syslog-ng@default || die
+       fi
+
+       for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
+               sed \
+                       -e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill 
-s HUP syslog-ng@default" \
+                               "/etc/init.d/syslog-ng reload")#g" \
+                       "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
+       done
+
+       for f in syslog-ng.conf.gentoo.hardened.in-r1 \
+                       syslog-ng.conf.gentoo.in-r2; do
+               sed -e "s/@SYSLOGNG_VERSION@/$(ver_cut 1-2)/g" 
"${FILESDIR}/${f}" > "${T}/${f/.in*/}" || die
+       done
+
+       default
+       eautoreconf
+}
+
+src_configure() {
+       # Type mismatches in tests
+       filter-lto
+       lto-guarantee-fat
+
+       # Needs bison/flex.
+       unset YACC LEX
+
+       local myconf=(
+               --disable-docs
+               --disable-java
+               --disable-java-modules
+               --disable-riemann
+               --disable-stackdump  # 963387
+               --enable-ipv6
+               --enable-manpages
+               --localstatedir=/var/lib/syslog-ng
+               --sysconfdir=/etc/syslog-ng
+               --with-embedded-crypto
+               --with-ivykis=system
+               --with-module-dir=/usr/$(get_libdir)/syslog-ng
+               --with-pidfile-dir=/var/run
+               --with-python-packages=none
+               --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+               $(use_enable amqp)
+               $(use_with amqp librabbitmq-client system)
+               $(use_enable caps linux-caps)
+               $(use_enable dbi sql)
+               $(use_enable geoip2)
+               $(use_enable grpc)
+               $(use_enable grpc cpp)
+               $(use_enable http)
+               $(use_enable json)
+               $(use_enable kafka)
+               $(use_enable mongodb)
+               $(use_enable mqtt)
+               $(usex mongodb --with-mongoc=system "--without-mongoc 
--disable-legacy-mongodb-options")
+               $(use_enable pacct)
+               $(use_enable python)
+               $(use_enable redis)
+               $(use_enable smtp)
+               $(use_enable snmp afsnmp)
+               $(use_enable spoof-source)
+               $(use_enable systemd)
+               $(use_enable tcpd tcp-wrapper)
+       )
+
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       default
+
+       strip-lto-bytecode
+
+       # Install default configuration
+       insinto /etc/default
+       doins contrib/systemd/syslog-ng@default
+
+       insinto /etc/syslog-ng
+       newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
+
+       insinto /etc/logrotate.d
+       newins "${T}/syslog-ng.logrotate" syslog-ng
+
+       newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
+       newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
+       keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
+       find "${D}" -name '*.la' -delete || die
+
+       use python && python_optimize "${ED}/usr/$(get_libdir)/syslog-ng/python"
+}
+
+pkg_postinst() {
+       # bug #355257
+       if ! has_version app-admin/logrotate ; then
+               elog "It is highly recommended that app-admin/logrotate be 
emerged to"
+               elog "manage the log files. ${PN} installs a file in 
/etc/logrotate.d"
+               elog "for logrotate to use."
+       fi
+
+       if use systemd; then
+               ewarn "The service file for systemd has changed to support 
multiple instances."
+               ewarn "To start the default instance issue:"
+               ewarn "# systemctl start syslog-ng@default"
+       fi
+}

Reply via email to