diff options
Diffstat (limited to 'app-admin/syslog-ng')
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 +} |