summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/syslog-ng')
-rw-r--r--app-admin/syslog-ng/Manifest11
-rw-r--r--app-admin/syslog-ng/files/patches/syslog-ng-fno-common.patch320
-rw-r--r--app-admin/syslog-ng/files/patches/syslog-ng-glib-2.64-support.patch63
-rw-r--r--app-admin/syslog-ng/files/syslog-ng.conf.gentoo.hardened.in-r1115
-rw-r--r--app-admin/syslog-ng/files/syslog-ng.conf.gentoo.in-r136
-rw-r--r--app-admin/syslog-ng/metadata.xml10
-rw-r--r--app-admin/syslog-ng/syslog-ng-3.22.1.ebuild171
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.0.1.ebuild (renamed from app-admin/syslog-ng/syslog-ng-3.28.1-r2.ebuild)28
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.1.1-r1.ebuild (renamed from app-admin/syslog-ng/syslog-ng-3.25.1.ebuild)44
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.1.1-r2.ebuild (renamed from app-admin/syslog-ng/syslog-ng-3.26.1-r1.ebuild)50
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.2.0.ebuild (renamed from app-admin/syslog-ng/syslog-ng-3.24.1.ebuild)61
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.3.1-r1.ebuild185
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.4.0-r1.ebuild185
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.4.0-r2.ebuild192
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.4.0-r3.ebuild194
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.6.0-r1.ebuild194
-rw-r--r--app-admin/syslog-ng/syslog-ng-4.6.0.ebuild192
17 files changed, 1420 insertions, 631 deletions
diff --git a/app-admin/syslog-ng/Manifest b/app-admin/syslog-ng/Manifest
index a37a656f4284..6fa45b03cdb1 100644
--- a/app-admin/syslog-ng/Manifest
+++ b/app-admin/syslog-ng/Manifest
@@ -1,5 +1,6 @@
-DIST syslog-ng-3.22.1.tar.gz 4981746 BLAKE2B e4f7e47f1939fb07d204c4721ff558a606cf6c6ee072278ff7c9bc1db7406e6abf058ac8a96bd4df0b867272bdbc5401528d47c94e60d90ff5ebb1aaec49e223 SHA512 4f68c0b58c6b3df9a870fa0b627525b9599149374e805a665c5143be54f814a564a80cbe76c7d5aab093b58825a96411b13cd2ce0f1439298723bd008096807f
-DIST syslog-ng-3.24.1.tar.gz 4909513 BLAKE2B 4b8d05899f9767784b6d24008d55808bee0af4a29883b2cb67031d23f4937632ba00f2ed7a9e969984ebec2785243a9e60811c4c2ccb3c6188c66a71af004f36 SHA512 b5326193e20db16763d3e187292bf683ebb77032b800a6e54a4ce2dd3864dda48b3d0ffc4d442eff0261117ac7a76d7927f4c8d0d96fc59ce29b46da6bd052d5
-DIST syslog-ng-3.25.1.tar.gz 4938596 BLAKE2B bfcbd19b5a06c7ea15899bb919564661043bc7ab87bed147f77ab1aed153d70522aba9a42ab7dfa66d3b52a5f8432954b8a00594f428ddeb202979c5b9260da3 SHA512 79e09f1ba11080179c572016ce27328a28d479e68e663d39fb16624c03dc37d8439020ede922f78680e31e21629a6c13a4671464a31213c1dcf6acd2c5cd4b13
-DIST syslog-ng-3.26.1.tar.gz 5040993 BLAKE2B 235971547c8febe61191014d971b9e5d71560f51ebc3a74fbae1c95b86653f1de8d0b99788f5b00cc75926dc67e7a80f650e9d2d12f191a4400c5b8edbbd01b7 SHA512 2cf6a8bd70addec3bef0888539f4a4686c30655698835d0c211ea929a0cae91a6f3dc9903f29fe717fd9d48b5cdc9918796f196ca84af6f5733bedff09ffab5a
-DIST syslog-ng-3.28.1.tar.gz 5149671 BLAKE2B bfc33f2a595cb4fbcc5a69b60d283673922873434b21ca8ce9685a0f54b355f162b11242704419349a561f412573c84df30a49a4dc0cc95699e98720e3e65247 SHA512 d70b435a6c9d1d0d22ecebc051dc294b6e7f841159edabf229c772c40342a28014ea1599b2277f0514236f545bac63c9879988fd85d634e9ab4fe4f079c984cb
+DIST syslog-ng-4.0.1.tar.gz 5452824 BLAKE2B a5c0328f3c88a38dbc07bb7af2a74c0037a6679525a29fca58620a8ef6b05ec13f3942d26767aded0049376ed30ce6a525686501914648a509997c5de2b48eb4 SHA512 5f83ee3cc4935218feb19f3f5065a68099e3ee291d806ad8810499ded9f9ef3b326b4b22841cd736354ed6a2ebc1ce8ae73f6abe981aa6f64c42da9ee3b1e22f
+DIST syslog-ng-4.1.1.tar.gz 5556174 BLAKE2B 3e1a9c394b8a88cc7b39a026950760cbc7796d67b62bb3c0f2970fd80c296e9bd75d1057fe81a0d22ac8488789d13607f19abc6aa38b3a38a30ff450ee66e3a0 SHA512 89abb7a53570b6f7c0dc76905c97d207447117f1db1aa0c0da97c17366ea833b6404f9c7fc318436fd01be2bab032eccca9712063a7c683780026e7e52493dc8
+DIST syslog-ng-4.2.0.tar.gz 5763000 BLAKE2B 7dfa6a1aff896072cc742c6dba5dc1680955e06ce4400fde5b0ddecedd984c039a687f35286685d66e7a5580c7da94f00a14b10f6eb8c162233683bf170e37fb SHA512 85442b57b7934e8afbb4e7d8285ed1fd16aaad2a8d853e3765db4f885d88bee4910a3b5d271f1cbd100c2d3a3f81f1a4fe845bc948fe68c22d32bc9b730af04b
+DIST syslog-ng-4.3.1.tar.gz 6091641 BLAKE2B 7cd6b9831d7ad917ee3c7048d3944e9c9f8a100a51a08e4a9e93b117b7ed3725f91097c2e6e9a377c33ab28d92cdb1b3e6ac301d3cf75d84552dcd93e0fe7aa8 SHA512 571f6080765983326ee912f2a7e87cdc8527296ef555a0b16589c04ed332c0db58e24c70251dc39b1c79151ca7d463e6409835df99aa45c19734d7003a69ce61
+DIST syslog-ng-4.4.0.tar.gz 6208437 BLAKE2B 4d719c980f40437661014aa607b01952039694cc1a7e3173efdf1ae682af0e5956098f23009bbbba941c12e26fef515fba0664b170810e654f82f4ae2ac2afc8 SHA512 1cf18c43321e523d0f49b25a4839fd10ec301b207da1b2c407df5167dba557ac0a7781b07f1c1e5d18241376966b8099d9e41dffa55030f6a8052388139c4107
+DIST syslog-ng-4.6.0.tar.gz 6671746 BLAKE2B 44efa3efa4e65744318a314adbefc11e7faa68876bca7be7d053262d8effecb80ecd1efc21af653db8e8f2c16496b5a64ea245a8adaa16e845954a13dedfd5c5 SHA512 7c4fbf1ac5377240afa7a1db8d72772399d2c62657fffc3c59e82b2dea6f12031f02320c4f567f981311bd1d8bbfd98962aeb59720ca857867a51b6bf83afb4b
diff --git a/app-admin/syslog-ng/files/patches/syslog-ng-fno-common.patch b/app-admin/syslog-ng/files/patches/syslog-ng-fno-common.patch
deleted file mode 100644
index abec9213cd18..000000000000
--- a/app-admin/syslog-ng/files/patches/syslog-ng-fno-common.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e9b4183fc..1f8f16c13 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -331,8 +331,7 @@ endif()
- add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} -j $$(nproc) --output-on-failure)
-
- set(IMPORTANT_WARNINGS
-- -Wshadow
-- -fcommon)
-+ -Wshadow)
-
- set(ACCEPTABLE_WARNINGS
- -Wno-stack-protector
-diff --git a/Makefile.am b/Makefile.am
-index 8b24eeaed..86c090638 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -54,8 +54,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/modules -I$(top_builddir)/lib
-
- # Important warnings
- AM_CFLAGS = \
-- -Wshadow \
-- -fcommon
-+ -Wshadow
-
- # Acceptable warnings
- AM_CFLAGS += \
-diff --git a/lib/logmsg/tests/test_log_message.c b/lib/logmsg/tests/test_log_message.c
-index 245568ce5..e51d78b94 100644
---- a/lib/logmsg/tests/test_log_message.c
-+++ b/lib/logmsg/tests/test_log_message.c
-@@ -32,6 +32,8 @@
- #include <stdlib.h>
- #include <glib/gprintf.h>
-
-+MsgFormatOptions parse_options;
-+
- typedef struct _LogMessageTestParams
- {
- LogMessage *message;
-@@ -151,7 +153,7 @@ void
- setup(void)
- {
- app_startup();
-- init_and_load_syslogformat_module();
-+ init_parse_options_and_load_syslogformat(&parse_options);
- }
-
- void
-diff --git a/libtest/cr_template.c b/libtest/cr_template.c
-index 35e47aa3f..4f0913368 100644
---- a/libtest/cr_template.c
-+++ b/libtest/cr_template.c
-@@ -34,10 +34,12 @@
-
- #include "msg_parse_lib.h"
-
-+static MsgFormatOptions parse_options;
-+
- void
- init_template_tests(void)
- {
-- init_and_load_syslogformat_module();
-+ init_parse_options_and_load_syslogformat(&parse_options);
- }
-
- void
-diff --git a/libtest/msg_parse_lib.c b/libtest/msg_parse_lib.c
-index ae0d1654b..b3c7cb652 100644
---- a/libtest/msg_parse_lib.c
-+++ b/libtest/msg_parse_lib.c
-@@ -27,15 +27,13 @@
-
- #include <criterion/criterion.h>
-
--MsgFormatOptions parse_options;
--
- void
--init_and_load_syslogformat_module(void)
-+init_parse_options_and_load_syslogformat(MsgFormatOptions *parse_options)
- {
- configuration = cfg_new_snippet();
- cfg_load_module(configuration, "syslogformat");
-- msg_format_options_defaults(&parse_options);
-- msg_format_options_init(&parse_options, configuration);
-+ msg_format_options_defaults(parse_options);
-+ msg_format_options_init(parse_options, configuration);
- }
-
- void
-diff --git a/libtest/msg_parse_lib.h b/libtest/msg_parse_lib.h
-index d86f178c2..5a9b4277b 100644
---- a/libtest/msg_parse_lib.h
-+++ b/libtest/msg_parse_lib.h
-@@ -30,9 +30,7 @@
- #include "cfg.h"
- #include "logmsg/logmsg.h"
-
--extern MsgFormatOptions parse_options;
--
--void init_and_load_syslogformat_module(void);
-+void init_parse_options_and_load_syslogformat(MsgFormatOptions *parse_options);
- void deinit_syslogformat_module(void);
-
- void assert_log_messages_equal(LogMessage *log_message_a, LogMessage *log_message_b);
-diff --git a/libtest/proto_lib.c b/libtest/proto_lib.c
-index b69195865..105e390b9 100644
---- a/libtest/proto_lib.c
-+++ b/libtest/proto_lib.c
-@@ -23,7 +23,7 @@
- */
-
- #include "proto_lib.h"
--#include "msg_parse_lib.h"
-+#include "cfg.h"
-
- #include <string.h>
- #include <criterion/criterion.h>
-@@ -164,7 +164,8 @@ assert_proto_server_fetch_ignored_eof(LogProtoServer *proto)
- void
- init_proto_tests(void)
- {
-- init_and_load_syslogformat_module();
-+ configuration = cfg_new_snippet();
-+ cfg_load_module(configuration, "syslogformat");
- log_proto_server_options_defaults(&proto_server_options);
- }
-
-@@ -172,5 +173,7 @@ void
- deinit_proto_tests(void)
- {
- log_proto_server_options_destroy(&proto_server_options);
-- deinit_syslogformat_module();
-+
-+ if (configuration)
-+ cfg_free(configuration);
- }
-diff --git a/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c b/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c
-index 79a4b97ad..d4d0d45a9 100644
---- a/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c
-+++ b/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c
-@@ -31,6 +31,8 @@
-
- #include <criterion/criterion.h>
-
-+MsgFormatOptions parse_options;
-+
- static LogMessage *
- kmsg_parse_message(const gchar *raw_message_str)
- {
-diff --git a/modules/python/tests/test_python_logmsg.c b/modules/python/tests/test_python_logmsg.c
-index 9a0343b07..51651ee9d 100644
---- a/modules/python/tests/test_python_logmsg.c
-+++ b/modules/python/tests/test_python_logmsg.c
-@@ -30,6 +30,8 @@
- static PyObject *_python_main;
- static PyObject *_python_main_dict;
-
-+MsgFormatOptions parse_options;
-+
- static void
- _py_init_interpreter(void)
- {
-@@ -95,7 +97,7 @@ void setup(void)
- {
- app_startup();
-
-- init_and_load_syslogformat_module();
-+ init_parse_options_and_load_syslogformat(&parse_options);
-
- _py_init_interpreter();
- _init_python_main();
-diff --git a/modules/stardate/tests/test_stardate.c b/modules/stardate/tests/test_stardate.c
-index e48cfb6cd..7d55fc1d0 100644
---- a/modules/stardate/tests/test_stardate.c
-+++ b/modules/stardate/tests/test_stardate.c
-@@ -33,6 +33,8 @@
-
- #include "msg_parse_lib.h"
-
-+MsgFormatOptions parse_options;
-+
- void
- stardate_assert(const gchar *msg_str, const int precision, const gchar *expected)
- {
-@@ -58,6 +60,7 @@ void
- setup(void)
- {
- app_startup();
-+ init_parse_options_and_load_syslogformat(&parse_options);
- init_template_tests();
- cfg_load_module(configuration, "stardate");
- }
-@@ -66,6 +69,7 @@ void
- teardown(void)
- {
- deinit_template_tests();
-+ deinit_syslogformat_module();
- app_shutdown();
- }
-
-diff --git a/persist-tool/add.h b/persist-tool/add.h
-index 981e0cc61..2d3524cb0 100644
---- a/persist-tool/add.h
-+++ b/persist-tool/add.h
-@@ -32,8 +32,8 @@
- #include "cfg.h"
- #include "persist-tool.h"
-
--gchar *persist_state_dir;
--gchar *persist_state_name;
-+extern gchar *persist_state_dir;
-+extern gchar *persist_state_name;
-
- gint add_main(int argc, char *argv[]);
-
-diff --git a/persist-tool/generate.h b/persist-tool/generate.h
-index 237a8ae24..34f7dfec9 100644
---- a/persist-tool/generate.h
-+++ b/persist-tool/generate.h
-@@ -32,8 +32,8 @@
- #include "persist-state.h"
- #include "cfg.h"
-
--gboolean force_generate;
--gchar *generate_output_dir;
-+extern gboolean force_generate;
-+extern gchar *generate_output_dir;
-
- gint generate_main(int argc, char *argv[]);
-
-diff --git a/persist-tool/persist-tool.c b/persist-tool/persist-tool.c
-index fd96c856d..4e4adc88f 100644
---- a/persist-tool/persist-tool.c
-+++ b/persist-tool/persist-tool.c
-@@ -135,11 +135,17 @@ void persist_tool_free(PersistTool *self)
- g_free(self);
- }
-
-+gchar *persist_state_dir;
-+gchar *persist_state_name;
-+gboolean force_generate;
-+gchar *generate_output_dir;
-+
- static GOptionEntry dump_options[] =
- {
- { NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL }
- };
-
-+
- static GOptionEntry add_options[] =
- {
- { "output-dir", 'o', 0, G_OPTION_ARG_STRING, &persist_state_dir, "The directory where persist file is located.", "<directory>" },
-diff --git a/tests/unit/test_clone_logmsg.c b/tests/unit/test_clone_logmsg.c
-index 57c0b181f..7b738b1e5 100644
---- a/tests/unit/test_clone_logmsg.c
-+++ b/tests/unit/test_clone_logmsg.c
-@@ -38,6 +38,8 @@
- #include <stdlib.h>
- #include <stdio.h>
-
-+MsgFormatOptions parse_options;
-+
- void
- assert_new_log_message_attributes(LogMessage *log_message)
- {
-@@ -69,7 +71,7 @@ void
- setup(void)
- {
- app_startup();
-- init_and_load_syslogformat_module();
-+ init_parse_options_and_load_syslogformat(&parse_options);
- }
-
- void
-diff --git a/tests/unit/test_matcher.c b/tests/unit/test_matcher.c
-index a92c8e458..d43755bea 100644
---- a/tests/unit/test_matcher.c
-+++ b/tests/unit/test_matcher.c
-@@ -31,6 +31,8 @@
- #include <stdlib.h>
- #include <string.h>
-
-+MsgFormatOptions parse_options;
-+
- static LogMessage *
- _create_log_message(const gchar *log)
- {
-@@ -128,7 +130,7 @@ void
- setup(void)
- {
- app_startup();
-- init_and_load_syslogformat_module();
-+ init_parse_options_and_load_syslogformat(&parse_options);
- }
-
- void
-diff --git a/tests/unit/test_msgparse.c b/tests/unit/test_msgparse.c
-index 6b9e1045f..0ed91f638 100644
---- a/tests/unit/test_msgparse.c
-+++ b/tests/unit/test_msgparse.c
-@@ -49,6 +49,8 @@ struct sdata_pair
- struct sdata_pair ignore_sdata_pairs[] = { { NULL, NULL } };
- struct sdata_pair empty_sdata_pairs[] = { { NULL, NULL } };
-
-+MsgFormatOptions parse_options;
-+
- static unsigned long
- _absolute_value(signed long diff)
- {
-@@ -130,7 +132,7 @@ setup(void)
- app_startup();
- setenv("TZ", "MET-1METDST", TRUE);
- tzset();
-- init_and_load_syslogformat_module();
-+ init_parse_options_and_load_syslogformat(&parse_options);
- /* Fri Feb 8 09:37:49 CET 2019 */
- fake_time(1549615069);
- }
diff --git a/app-admin/syslog-ng/files/patches/syslog-ng-glib-2.64-support.patch b/app-admin/syslog-ng/files/patches/syslog-ng-glib-2.64-support.patch
deleted file mode 100644
index fdd98624a6ea..000000000000
--- a/app-admin/syslog-ng/files/patches/syslog-ng-glib-2.64-support.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff --git a/lib/compat/glib.c b/lib/compat/glib.c
-index 8b6e52447..5b8ed8891 100644
---- a/lib/compat/glib.c
-+++ b/lib/compat/glib.c
-@@ -315,3 +315,18 @@ slng_g_hash_table_insert(GHashTable *hash_table, gpointer key, gpointer value)
- return exists;
- }
- #endif
-+
-+
-+#if !GLIB_CHECK_VERSION(2, 64, 0)
-+gunichar
-+g_utf8_get_char_validated_fixed(const gchar *p, gssize max_len)
-+{
-+ // https://github.com/GNOME/glib/commit/1963821a57584b4674c20895e8a5adccd2d9effd
-+
-+#undef g_utf8_get_char_validated
-+ if (*p == '\0' && max_len > 0)
-+ return (gunichar)-2;
-+
-+ return g_utf8_get_char_validated(p, max_len);
-+}
-+#endif
-diff --git a/lib/compat/glib.h b/lib/compat/glib.h
-index a9782ed2d..0fbdbd12d 100644
---- a/lib/compat/glib.h
-+++ b/lib/compat/glib.h
-@@ -109,4 +109,9 @@ gchar *g_base64_encode_fixed(const guchar *data, gsize len);
- gboolean slng_g_hash_table_insert (GHashTable *hash_table, gpointer key, gpointer value);
- #endif
-
-+#if !GLIB_CHECK_VERSION(2, 64, 0)
-+#define g_utf8_get_char_validated g_utf8_get_char_validated_fixed
-+gunichar g_utf8_get_char_validated_fixed (const gchar *p, gssize max_len);
-+#endif
-+
- #endif
-diff --git a/modules/cef/tests/test-format-cef-extension.c b/modules/cef/tests/test-format-cef-extension.c
-index d7f6ee3c1..f4233f96f 100644
---- a/modules/cef/tests/test-format-cef-extension.c
-+++ b/modules/cef/tests/test-format-cef-extension.c
-@@ -104,7 +104,7 @@ Test(format_cef, test_null_in_value)
-
- configuration->template_options.on_error = ON_ERROR_DROP_MESSAGE | ON_ERROR_SILENT;
- log_msg_set_value_by_name(msg, ".cef.k", "a\0b", 3);
-- assert_template_format_msg("$(format-cef-extension --subkeys .cef.)", "k=a\\u0000b", msg);
-+ assert_template_format_msg("$(format-cef-extension --subkeys .cef.)", "k=a\\x00b", msg);
- log_msg_unref(msg);
- }
-
-diff --git a/modules/json/tests/test_format_json.c b/modules/json/tests/test_format_json.c
-index 92c61e9f1..1224ddb33 100644
---- a/modules/json/tests/test_format_json.c
-+++ b/modules/json/tests/test_format_json.c
-@@ -55,7 +55,7 @@ Test(format_json, test_format_json)
- assert_template_format("$(format-json MSG=$escaping)",
- "{\"MSG\":\"binary stuff follows \\\"\\\\xad árvíztűrőtükörfúrógép\"}");
- assert_template_format("$(format-json MSG=$escaping2)", "{\"MSG\":\"\\\\xc3\"}");
-- assert_template_format("$(format-json MSG=$null)", "{\"MSG\":\"binary\\u0000stuff\"}");
-+ assert_template_format("$(format-json MSG=$null)", "{\"MSG\":\"binary\\\\x00stuff\"}");
- assert_template_format_with_context("$(format-json MSG=$MSG)",
- "{\"MSG\":\"árvíztűrőtükörfúrógép\"}{\"MSG\":\"árvíztűrőtükörfúrógép\"}");
- assert_template_format("$(format-json --scope rfc3164)",
diff --git a/app-admin/syslog-ng/files/syslog-ng.conf.gentoo.hardened.in-r1 b/app-admin/syslog-ng/files/syslog-ng.conf.gentoo.hardened.in-r1
new file mode 100644
index 000000000000..fe3b6ee99a99
--- /dev/null
+++ b/app-admin/syslog-ng/files/syslog-ng.conf.gentoo.hardened.in-r1
@@ -0,0 +1,115 @@
+@version: @SYSLOGNG_VERSION@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# https://bugs.gentoo.org/426814
+@include "scl.conf"
+
+#
+# Syslog-ng configuration file, compatible with default hardened installations.
+#
+
+options {
+ threaded(yes);
+ chain_hostnames(no);
+ stats(freq(43200));
+};
+
+source src {
+ system();
+ internal();
+};
+
+source kernsrc {
+ file("/proc/kmsg");
+};
+
+#source net { udp(); };
+#log { source(net); destination(net_logs); };
+#destination net_logs { file("/var/log/HOSTS/$HOST/$YEAR$MONTH$DAY.log"); };
+
+destination authlog { file("/var/log/auth.log"); };
+destination _syslog { file("/var/log/syslog"); };
+destination cron { file("/var/log/cron.log"); };
+destination daemon { file("/var/log/daemon.log"); };
+destination kern { file("/var/log/kern.log"); };
+destination lpr { file("/var/log/lpr.log"); };
+destination user { file("/var/log/user.log"); };
+destination uucp { file("/var/log/uucp.log"); };
+#destination ppp { file("/var/log/ppp.log"); };
+destination mail { file("/var/log/mail.log"); };
+
+destination avc { file("/var/log/avc.log"); };
+destination audit { file("/var/log/audit.log"); };
+destination pax { file("/var/log/pax.log"); };
+destination grsec { file("/var/log/grsec.log"); };
+
+destination mailinfo { file("/var/log/mail.info"); };
+destination mailwarn { file("/var/log/mail.warn"); };
+destination mailerr { file("/var/log/mail.err"); };
+
+destination newscrit { file("/var/log/news/news.crit"); };
+destination newserr { file("/var/log/news/news.err"); };
+destination newsnotice { file("/var/log/news/news.notice"); };
+
+destination debug { file("/var/log/debug"); };
+destination messages { file("/var/log/messages"); };
+destination console { usertty("root"); };
+destination console_all { file("/dev/tty12"); };
+#destination loghost { udp("loghost" port(999)); };
+
+destination xconsole { pipe("/dev/xconsole"); };
+
+filter f_auth { facility(auth); };
+filter f_authpriv { facility(auth, authpriv); };
+filter f_syslog { not facility(authpriv, mail); };
+filter f_cron { facility(cron); };
+filter f_daemon { facility(daemon); };
+filter f_kern { facility(kern); };
+filter f_lpr { facility(lpr); };
+filter f_mail { facility(mail); };
+filter f_user { facility(user); };
+filter f_uucp { facility(uucp); };
+#filter f_ppp { facility(ppp); };
+filter f_news { facility(news); };
+filter f_debug { not facility(auth, authpriv, news, mail); };
+filter f_messages { level(info..warn)
+ and not facility(auth, authpriv, mail, news); };
+filter f_emergency { level(emerg); };
+
+filter f_info { level(info); };
+
+filter f_notice { level(notice); };
+filter f_warn { level(warn); };
+filter f_crit { level(crit); };
+filter f_err { level(err); };
+
+filter f_avc { message(".*avc: .*"); };
+filter f_audit { message("^(\\[.*\..*\] |)audit.*") and not message(".*avc: .*"); };
+filter f_pax { message("^(\\[.*\..*\] |)PAX:.*"); };
+filter f_grsec { message("^(\\[.*\..*\] |)grsec:.*"); };
+
+log { source(src); filter(f_authpriv); destination(authlog); };
+log { source(src); filter(f_syslog); destination(_syslog); };
+log { source(src); filter(f_cron); destination(cron); };
+log { source(src); filter(f_daemon); destination(daemon); };
+log { source(kernsrc); filter(f_kern); destination(kern); destination(console_all); };
+log { source(src); filter(f_lpr); destination(lpr); };
+log { source(src); filter(f_mail); destination(mail); };
+log { source(src); filter(f_user); destination(user); };
+log { source(src); filter(f_uucp); destination(uucp); };
+log { source(kernsrc); filter(f_pax); destination(pax); };
+log { source(kernsrc); filter(f_grsec); destination(grsec); };
+log { source(kernsrc); filter(f_audit); destination(audit); };
+log { source(kernsrc); filter(f_avc); destination(avc); };
+log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
+log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
+log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };
+log { source(src); filter(f_news); filter(f_crit); destination(newscrit); };
+log { source(src); filter(f_news); filter(f_err); destination(newserr); };
+log { source(src); filter(f_news); filter(f_notice); destination(newsnotice); };
+log { source(src); filter(f_debug); destination(debug); };
+log { source(src); filter(f_messages); destination(messages); };
+log { source(src); filter(f_emergency); destination(console); };
+#log { source(src); filter(f_ppp); destination(ppp); };
+log { source(src); destination(console_all); };
diff --git a/app-admin/syslog-ng/files/syslog-ng.conf.gentoo.in-r1 b/app-admin/syslog-ng/files/syslog-ng.conf.gentoo.in-r1
new file mode 100644
index 000000000000..9940491ec78f
--- /dev/null
+++ b/app-admin/syslog-ng/files/syslog-ng.conf.gentoo.in-r1
@@ -0,0 +1,36 @@
+@version: @SYSLOGNG_VERSION@
+#
+# Syslog-ng default configuration file for Gentoo Linux
+
+# https://bugs.gentoo.org/426814
+@include "scl.conf"
+
+options {
+ threaded(yes);
+ chain_hostnames(no);
+
+ # The default action of syslog-ng is to log a STATS line
+ # to the file every 10 minutes. That's pretty ugly after a while.
+ # Change it to every 12 hours so you get a nice daily update of
+ # how many messages syslog-ng missed (0).
+ stats(freq(43200));
+ # The default action of syslog-ng is to log a MARK line
+ # to the file every 20 minutes. That's seems high for most
+ # people so turn it down to once an hour. Set it to zero
+ # if you don't want the functionality at all.
+ mark_freq(3600);
+};
+
+source src { system(); internal(); };
+
+destination messages { file("/var/log/messages"); };
+
+# By default messages are logged to tty12...
+destination console_all { file("/dev/tty12"); };
+# ...if you intend to use /dev/console for programs like xconsole
+# you can comment out the destination line above that references /dev/tty12
+# and uncomment the line below.
+#destination console_all { file("/dev/console"); };
+
+log { source(src); destination(messages); };
+log { source(src); destination(console_all); };
diff --git a/app-admin/syslog-ng/metadata.xml b/app-admin/syslog-ng/metadata.xml
index 4f02d274612e..abf7ad17f64d 100644
--- a/app-admin/syslog-ng/metadata.xml
+++ b/app-admin/syslog-ng/metadata.xml
@@ -1,27 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>hydrapolic@gmail.com</email>
<name>Tomáš Mózes</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="amqp">Enable support for AMQP destinations</flag>
<flag name="geoip2">Add support for geo lookup based on IPs via <pkg>dev-libs/libmaxminddb</pkg></flag>
+ <flag name="grpc">Enable GRPC based driver support (OpenTelemetry) via <pkg>net-libs/grpc</pkg></flag>
<flag name="http">Enable support for HTTP destinations</flag>
<flag name="json">Enable support for JSON template formatting via <pkg>dev-libs/json-c</pkg></flag>
<flag name="kafka">Enable support for Kafka destinations</flag>
<flag name="mongodb">Enable support for mongodb destinations</flag>
+ <flag name="mqtt">Enable MQTT support via <pkg>net-libs/paho-mqtt-c</pkg></flag>
<flag name="pacct">Enable support for reading Process Accounting files (EXPERIMENTAL, Linux only)</flag>
<flag name="redis">Enable support for Redis destinations</flag>
<flag name="smtp">Enable support for SMTP destinations</flag>
<flag name="spoof-source">Enable support for spoofed source addresses</flag>
</use>
<upstream>
- <remote-id type="github">balabit/syslog-ng</remote-id>
+ <remote-id type="github">syslog-ng/syslog-ng</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-admin/syslog-ng/syslog-ng-3.22.1.ebuild b/app-admin/syslog-ng/syslog-ng-3.22.1.ebuild
deleted file mode 100644
index 2c03b8605793..000000000000
--- a/app-admin/syslog-ng/syslog-ng-3.22.1.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-inherit autotools python-single-r1 systemd
-
-MY_PV_MM=$(ver_cut 1-2)
-DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
-SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="amqp caps dbi geoip geoip2 http ipv6 json kafka libressl mongodb pacct python redis smtp snmp spoof-source systemd tcpd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# unit tests require https://github.com/Snaipe/Criterion with additional deps
-RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/glib-2.10.1:2
- >=dev-libs/ivykis-0.42.4
- >=dev-libs/libpcre-6.1:=
- !dev-libs/eventlog
- amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
- caps? ( sys-libs/libcap )
- dbi? ( >=dev-db/libdbi-0.9.0 )
- geoip? ( >=dev-libs/geoip-1.5.0 )
- geoip2? ( dev-libs/libmaxminddb:= )
- http? ( net-misc/curl )
- json? ( >=dev-libs/json-c-0.9:= )
- kafka? ( >=dev-libs/librdkafka-1.0.0:= )
- mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
- python? ( ${PYTHON_DEPS} )
- redis? ( >=dev-libs/hiredis-0.11.0:= )
- smtp? ( net-libs/libesmtp )
- snmp? ( net-analyzer/net-snmp )
- spoof-source? ( net-libs/libnet:1.1= )
- systemd? ( sys-apps/systemd:= )
- tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- sys-devel/flex
- virtual/pkgconfig"
-
-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" )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- local f
-
- 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 \
- syslog-ng.conf.gentoo.in; do
- sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
- done
-
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- --disable-docs
- --disable-java
- --disable-java-modules
- --disable-riemann
- --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-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- $(use_enable amqp)
- $(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
- $(use_enable caps linux-caps)
- $(use_enable dbi sql)
- $(use_enable geoip)
- $(use_enable geoip2)
- $(use_enable http)
- $(use_enable ipv6)
- $(use_enable json)
- $(use_enable kafka)
- $(use_enable mongodb)
- $(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 snmp-dest)
- $(use_enable spoof-source)
- $(use_enable systemd)
- $(use_enable tcpd tcp-wrapper)
- )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
-
- # 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
-}
-
-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
-}
diff --git a/app-admin/syslog-ng/syslog-ng-3.28.1-r2.ebuild b/app-admin/syslog-ng/syslog-ng-4.0.1.ebuild
index a9abc617c791..4ba1fa54003f 100644
--- a/app-admin/syslog-ng/syslog-ng-3.28.1-r2.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-4.0.1.ebuild
@@ -1,21 +1,22 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="amqp caps dbi geoip2 http ipv6 json kafka libressl mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -33,17 +34,17 @@ RDEPEND="
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
python? ( ${PYTHON_DEPS} )
redis? ( >=dev-libs/hiredis-0.11.0:= )
- smtp? ( net-libs/libesmtp )
+ 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 )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )"
+ dev-libs/openssl:0="
DEPEND="${RDEPEND}
test? ( dev-libs/criterion )"
BDEPEND="
- sys-devel/flex
+ >=sys-devel/bison-3.7.6
+ app-alternatives/lex
virtual/pkgconfig"
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
@@ -60,6 +61,10 @@ 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
@@ -110,6 +115,7 @@ src_configure() {
--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)
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
diff --git a/app-admin/syslog-ng/syslog-ng-3.25.1.ebuild b/app-admin/syslog-ng/syslog-ng-4.1.1-r1.ebuild
index 5a0dfd96064e..e92f8f960cff 100644
--- a/app-admin/syslog-ng/syslog-ng-3.25.1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-4.1.1-r1.ebuild
@@ -1,21 +1,22 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="amqp caps dbi geoip2 http ipv6 json kafka libressl mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -31,26 +32,32 @@ RDEPEND="
json? ( >=dev-libs/json-c-0.9:= )
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
- python? ( ${PYTHON_DEPS} )
+ 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 )
+ 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 )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )"
+ dev-libs/openssl:0="
DEPEND="${RDEPEND}
test? ( dev-libs/criterion )"
BDEPEND="
- sys-devel/flex
+ >=sys-devel/bison-3.7.6
+ app-alternatives/lex
virtual/pkgconfig"
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}/patches/${PN}-fno-common.patch" )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
+)
pkg_setup() {
use python && python-single-r1_pkg_setup
@@ -59,6 +66,10 @@ 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
@@ -109,6 +120,7 @@ src_configure() {
--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)
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
@@ -125,7 +137,7 @@ src_configure() {
$(use_enable python)
$(use_enable redis)
$(use_enable smtp)
- $(use_enable snmp snmp-dest)
+ $(use_enable snmp afsnmp)
$(use_enable spoof-source)
$(use_enable systemd)
$(use_enable tcpd tcp-wrapper)
diff --git a/app-admin/syslog-ng/syslog-ng-3.26.1-r1.ebuild b/app-admin/syslog-ng/syslog-ng-4.1.1-r2.ebuild
index 2d87ef470ea8..48fa3d466610 100644
--- a/app-admin/syslog-ng/syslog-ng-3.26.1-r1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-4.1.1-r2.ebuild
@@ -1,21 +1,22 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="amqp caps dbi geoip2 http ipv6 json kafka libressl mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -31,26 +32,32 @@ RDEPEND="
json? ( >=dev-libs/json-c-0.9:= )
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
- python? ( ${PYTHON_DEPS} )
+ 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 )
+ 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 )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )"
+ dev-libs/openssl:0="
DEPEND="${RDEPEND}
test? ( dev-libs/criterion )"
BDEPEND="
- sys-devel/flex
+ >=sys-devel/bison-3.7.6
+ app-alternatives/lex
virtual/pkgconfig"
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}/patches/syslog-ng-glib-2.64-support.patch" )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
+)
pkg_setup() {
use python && python-single-r1_pkg_setup
@@ -59,6 +66,10 @@ 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
@@ -87,9 +98,9 @@ src_prepare() {
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
done
- for f in syslog-ng.conf.gentoo.hardened.in \
- syslog-ng.conf.gentoo.in; do
- sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
+ for f in syslog-ng.conf.gentoo.hardened.in-r1 \
+ syslog-ng.conf.gentoo.in-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
done
default
@@ -109,6 +120,7 @@ src_configure() {
--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)
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
@@ -125,7 +137,7 @@ src_configure() {
$(use_enable python)
$(use_enable redis)
$(use_enable smtp)
- $(use_enable snmp snmp-dest)
+ $(use_enable snmp afsnmp)
$(use_enable spoof-source)
$(use_enable systemd)
$(use_enable tcpd tcp-wrapper)
diff --git a/app-admin/syslog-ng/syslog-ng-3.24.1.ebuild b/app-admin/syslog-ng/syslog-ng-4.2.0.ebuild
index 900f50cb7f4f..b19189c2836e 100644
--- a/app-admin/syslog-ng/syslog-ng-3.24.1.ebuild
+++ b/app-admin/syslog-ng/syslog-ng-4.2.0.ebuild
@@ -1,28 +1,29 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1 systemd
MY_PV_MM=$(ver_cut 1-2)
DESCRIPTION="syslog replacement with advanced filtering features"
-HOMEPAGE="https://syslog-ng.com/open-source-log-management"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="amqp caps dbi geoip2 http ipv6 json kafka libressl mongodb pacct python redis smtp snmp spoof-source systemd tcpd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# unit tests require https://github.com/Snaipe/Criterion with additional deps
-RESTRICT="test"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb 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/libpcre-6.1:=
+ >=dev-libs/libpcre-6.1
+ dev-libs/openssl:0=
!dev-libs/eventlog
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
caps? ( sys-libs/libcap )
@@ -32,23 +33,31 @@ RDEPEND="
json? ( >=dev-libs/json-c-0.9:= )
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
- python? ( ${PYTHON_DEPS} )
+ 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 )
- spoof-source? ( net-libs/libnet:1.1= )
+ 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 )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )"
-DEPEND="${RDEPEND}"
+ 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"
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
@@ -57,6 +66,10 @@ 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
@@ -85,9 +98,9 @@ src_prepare() {
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
done
- for f in syslog-ng.conf.gentoo.hardened.in \
- syslog-ng.conf.gentoo.in; do
- sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
+ for f in syslog-ng.conf.gentoo.hardened.in-r1 \
+ syslog-ng.conf.gentoo.in-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
done
default
@@ -95,6 +108,9 @@ src_prepare() {
}
src_configure() {
+ # Needs bison/flex.
+ unset YACC LEX
+
local myconf=(
--disable-docs
--disable-java
@@ -107,6 +123,7 @@ src_configure() {
--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)
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
@@ -123,7 +140,7 @@ src_configure() {
$(use_enable python)
$(use_enable redis)
$(use_enable smtp)
- $(use_enable snmp snmp-dest)
+ $(use_enable snmp afsnmp)
$(use_enable spoof-source)
$(use_enable systemd)
$(use_enable tcpd tcp-wrapper)
diff --git a/app-admin/syslog-ng/syslog-ng-4.3.1-r1.ebuild b/app-admin/syslog-ng/syslog-ng-4.3.1-r1.ebuild
new file mode 100644
index 000000000000..4118e51815de
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.3.1-r1.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools 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/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 http json kafka mongodb 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
+ amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
+ caps? ( sys-libs/libcap )
+ dbi? ( >=dev-db/libdbi-0.9.0 )
+ geoip2? ( dev-libs/libmaxminddb:= )
+ http? ( net-misc/curl )
+ json? ( >=dev-libs/json-c-0.9:= )
+ kafka? ( >=dev-libs/librdkafka-1.0.0:= )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
+ 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"
+
+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-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/$(ver_cut 1-2)/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
+ done
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Needs bison/flex.
+ unset YACC LEX
+
+ local myconf=(
+ --disable-docs
+ --disable-java
+ --disable-java-modules
+ --disable-riemann
+ --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)
+ $(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
+ $(use_enable caps linux-caps)
+ $(use_enable dbi sql)
+ $(use_enable geoip2)
+ $(use_enable http)
+ $(use_enable json)
+ $(use_enable kafka)
+ $(use_enable mongodb)
+ $(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
+
+ # 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
+}
+
+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
+}
diff --git a/app-admin/syslog-ng/syslog-ng-4.4.0-r1.ebuild b/app-admin/syslog-ng/syslog-ng-4.4.0-r1.ebuild
new file mode 100644
index 000000000000..6f66fd33b1b4
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.4.0-r1.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools 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/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 http json kafka mongodb 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
+ amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
+ caps? ( sys-libs/libcap )
+ dbi? ( >=dev-db/libdbi-0.9.0 )
+ geoip2? ( dev-libs/libmaxminddb:= )
+ http? ( net-misc/curl )
+ json? ( >=dev-libs/json-c-0.9:= )
+ kafka? ( >=dev-libs/librdkafka-1.0.0:= )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
+ 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"
+
+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-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/$(ver_cut 1-2)/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
+ done
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Needs bison/flex.
+ unset YACC LEX
+
+ local myconf=(
+ --disable-docs
+ --disable-java
+ --disable-java-modules
+ --disable-riemann
+ --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)
+ $(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
+ $(use_enable caps linux-caps)
+ $(use_enable dbi sql)
+ $(use_enable geoip2)
+ $(use_enable http)
+ $(use_enable json)
+ $(use_enable kafka)
+ $(use_enable mongodb)
+ $(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
+
+ # 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
+}
+
+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
+}
diff --git a/app-admin/syslog-ng/syslog-ng-4.4.0-r2.ebuild b/app-admin/syslog-ng/syslog-ng-4.4.0-r2.ebuild
new file mode 100644
index 000000000000..7913301d52da
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.4.0-r2.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools 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/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 grpc http json kafka mongodb 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
+ 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 )
+ json? ( >=dev-libs/json-c-0.9:= )
+ kafka? ( >=dev-libs/librdkafka-1.0.0:= )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
+ 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-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/$(ver_cut 1-2)/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
+ done
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Needs bison/flex.
+ unset YACC LEX
+
+ local myconf=(
+ --disable-docs
+ --disable-java
+ --disable-java-modules
+ --disable-riemann
+ --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)
+ $(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
+
+ # 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
+}
+
+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
+}
diff --git a/app-admin/syslog-ng/syslog-ng-4.4.0-r3.ebuild b/app-admin/syslog-ng/syslog-ng-4.4.0-r3.ebuild
new file mode 100644
index 000000000000..eebbe85eca29
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.4.0-r3.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools 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/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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
+ 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 )
+ json? ( >=dev-libs/json-c-0.9:= )
+ 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-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/$(ver_cut 1-2)/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
+ done
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Needs bison/flex.
+ unset YACC LEX
+
+ local myconf=(
+ --disable-docs
+ --disable-java
+ --disable-java-modules
+ --disable-riemann
+ --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
+
+ # 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
+}
+
+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
+}
diff --git a/app-admin/syslog-ng/syslog-ng-4.6.0-r1.ebuild b/app-admin/syslog-ng/syslog-ng-4.6.0-r1.ebuild
new file mode 100644
index 000000000000..eebbe85eca29
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.6.0-r1.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools 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/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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
+ 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 )
+ json? ( >=dev-libs/json-c-0.9:= )
+ 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-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/$(ver_cut 1-2)/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
+ done
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Needs bison/flex.
+ unset YACC LEX
+
+ local myconf=(
+ --disable-docs
+ --disable-java
+ --disable-java-modules
+ --disable-riemann
+ --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
+
+ # 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
+}
+
+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
+}
diff --git a/app-admin/syslog-ng/syslog-ng-4.6.0.ebuild b/app-admin/syslog-ng/syslog-ng-4.6.0.ebuild
new file mode 100644
index 000000000000..22c7aa4bc2da
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.6.0.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools 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/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="amqp caps dbi geoip2 grpc http json kafka mongodb 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
+ 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 )
+ json? ( >=dev-libs/json-c-0.9:= )
+ kafka? ( >=dev-libs/librdkafka-1.0.0:= )
+ mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
+ 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-r1; do
+ sed -e "s/@SYSLOGNG_VERSION@/$(ver_cut 1-2)/g" "${FILESDIR}/${f}" > "${T}/${f/.in-r1/}" || die
+ done
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Needs bison/flex.
+ unset YACC LEX
+
+ local myconf=(
+ --disable-docs
+ --disable-java
+ --disable-java-modules
+ --disable-riemann
+ --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)
+ $(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
+
+ # 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
+}
+
+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
+}