Index: head/net-mgmt/zabbix4-server/Makefile =================================================================== --- head/net-mgmt/zabbix4-server/Makefile (revision 510262) +++ head/net-mgmt/zabbix4-server/Makefile (revision 510263) @@ -1,211 +1,211 @@ # Created by: Pakhom Golynga # $FreeBSD$ PORTNAME= zabbix4 -PORTVERSION= 4.0.11 -PORTREVISION?= 1 +PORTVERSION= 4.0.12 +PORTREVISION?= 0 CATEGORIES= net-mgmt MASTER_SITES= SF/zabbix/ZABBIX%20Latest%20Stable/${PORTVERSION} PKGNAMESUFFIX?= -server DISTNAME= zabbix-${PORTVERSION} MAINTAINER= pg@pakhom.spb.ru COMMENT= Enterprise-class open source distributed monitoring (${PKGNAMESUFFIX:S/^-//}) LTS LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libpcre.so:devel/pcre CONFLICTS= zabbix[0-9][0-9]${PKGNAMESUFFIX} zabbix[0-35-9]${PKGNAMESUFFIX} ZABBIX_BUILD= ${PKGNAMESUFFIX:S/^-//} .if ${ZABBIX_BUILD} != "frontend" # frontend only needs the version/distribution settings .if ${ZABBIX_BUILD} != "agent" CONFIGURE_ARGS+= --with-libevent=${LOCALBASE} LIB_DEPENDS+= libevent.so:devel/libevent USE_RC_SUBR= zabbix_${ZABBIX_BUILD} .else USE_RC_SUBR= zabbix_${ZABBIX_BUILD}d .endif USES= pkgconfig iconv USERS= zabbix GROUPS= zabbix .if ${ZABBIX_BUILD} != "proxy" PLIST_SUB= PROXY="@comment " .else PLIST_SUB= PROXY="" .endif .if ${ZABBIX_BUILD} == "server" PLIST_SUB+= SERVER="" .else PLIST_SUB+= SERVER="@comment " .endif PLIST_SUB+= ZABBIX_BUILD=${ZABBIX_BUILD} PORTVERSION=${PORTVERSION} SUB_LIST= ZABBIX_BUILD=${ZABBIX_BUILD} MAKE_ARGS+= ARCH=freebsd GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-${ZABBIX_BUILD} \ --sysconfdir=${ETCDIR} \ --datadir=${ETCDIR} \ --with-iconv=${ICONV_PREFIX} .if ${ZABBIX_BUILD} != "agent" && ${ZABBIX_BUILD} != "java" LIB_DEPENDS+= libnetsnmp.so:net-mgmt/net-snmp CPPFLAGS+= -I${LOCALBASE}/include SUB_FILES= pkg-message CONFIGURE_ARGS+= --with-net-snmp OPTIONS_DEFINE= IPV6 FPING JABBER CURL LDAP IPMI SSH NMAP LIBXML2 UNIXODBC OPTIONS_DEFAULT= FPING CURL UNIXODBC MYSQL OPENSSL OPTIONS_SUB= yes FPING_DESC= Build/install fping for ping checks IPMI_DESC= Support for IPMI checks JABBER_DESC= Support for Jabber media type LDAP_DESC= Support for LDAP server checks NMAP_DESC= Build/install nmap for o/s detection SSH_DESC= Support for SSH-based checks UNIXODBC_DESC= Support for database checks via ODBC LIBXML2_DESC= Support for libxml2 (required by monitoring VMware) OPTIONS_SINGLE= DB SSL OPTIONS_SINGLE_DB?= MYSQL PGSQL ORACLE OPTIONS_SINGLE_SSL= OPENSSL GNUTLS MYSQL_CONFIGURE_WITH= mysql MYSQL_USES+= compiler:c11 mysql PGSQL_CONFIGURE_WITH= postgresql PGSQL_USES+= pgsql SQLITE_CONFIGURE_WITH= sqlite3 SQLITE_USES+= sqlite:3 ORACLE_CONFIGURE_WITH= oracle LDAP_CONFIGURE_WITH= ldap LDAP_USE= OPENLDAP=yes IPMI_CONFIGURE_WITH= openipmi IPMI_LIB_DEPENDS= libOpenIPMI.so:sysutils/openipmi JABBER_CONFIGURE_WITH= jabber JABBER_LIB_DEPENDS= libiksemel.so:textproc/iksemel FPING_RUN_DEPENDS= fping:net/fping SSH_CONFIGURE_WITH= ssh2 SSH_LIB_DEPENDS= libssh2.so:security/libssh2 UNIXODBC_CONFIGURE_WITH=unixodbc UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC .elif ${ZABBIX_BUILD} == "agent" OPTIONS_SINGLE= SSL OPTIONS_SINGLE_SSL= OPENSSL GNUTLS .endif # if ${ZABBIX_BUILD} != "agent" && ${ZABBIX_BUILD} != "java" CURL_DESC= Support for web monitoring CURL_CONFIGURE_WITH= libcurl CURL_LIB_DEPENDS= libcurl.so:ftp/curl IPV6_CONFIGURE_ENABLE= ipv6 NMAP_RUN_DEPENDS= nmap:security/nmap \ sudo:security/sudo LIBXML2_CONFIGURE_WITH= libxml2 LIBXML2_LIB_DEPENDS= libxml2.so:textproc/libxml2 OPENSSL_CONFIGURE_WITH= openssl OPENSSL_USES= ssl OPENSSL_VARS= BROKEN_SSL="libressl libressl-devel" \ BROKEN_SSL_REASON="PSK is not provided by LibreSSL" GNUTLS_CONFIGURE_WITH= gnutls GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls .include post-patch: @${GREP} -rl "/etc/zabbix" ${WRKSRC} \ | ${XARGS} ${REINPLACE_CMD} -e 's#/usr/local/etc#${ETCDIR}#g' @${REINPLACE_CMD} -e 's#/usr/sbin/fping#${LOCALBASE}/sbin/fping#g' \ ${WRKSRC}/conf/zabbix_*.conf \ ${WRKSRC}/src/zabbix_proxy/proxy.c \ ${WRKSRC}/src/zabbix_server/server.c .if ${ZABBIX_BUILD} == "server" @${REINPLACE_CMD} -e 's#/tmp/zabbix_server.pid#/var/run/zabbix/zabbix_server.pid#g' \ ${WRKSRC}/conf/zabbix_server.conf \ ${WRKSRC}/src/zabbix_server/server.c .endif .if ${ZABBIX_BUILD} == "proxy" @${REINPLACE_CMD} -e 's#/tmp/zabbix_proxy.pid#/var/run/zabbix/zabbix_proxy.pid#g' \ ${WRKSRC}/conf/zabbix_proxy.conf \ ${WRKSRC}/src/zabbix_proxy/proxy.c .endif .if ${ZABBIX_BUILD} == "agent" @${REINPLACE_CMD} -e 's#/tmp/zabbix_agentd.pid#/var/run/zabbix/zabbix_agentd.pid#g' \ ${WRKSRC}/conf/zabbix_agentd.conf \ ${WRKSRC}/src/zabbix_agent/zabbix_agentd.c .endif .if ${ZABBIX_BUILD} == "java" @${REINPLACE_CMD} -e 's#/tmp/zabbix_java.pid#/var/run/zabbix/zabbix_java.pid#g' \ ${WRKSRC}/src/zabbix_java/settings.sh .endif .if ${ZABBIX_BUILD} != "agent" . for d in mysql oracle postgresql sqlite3 @${REINPLACE_CMD} \ -e 's|/usr/bin/traceroute|/usr/sbin/traceroute|g' \ -e 's|sudo /usr/bin/nmap|sudo ${LOCALBASE}/bin/nmap|g' \ ${WRKSRC}/database/${d}/data.sql . endfor .endif @${FIND} ${WRKSRC} -type f \( -name '*.bak' -or -name '*.orig' \) \ -exec ${RM} {} + post-install: .if ${ZABBIX_BUILD} == "java" ${MV} ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh \ ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh.sample @${MKDIR} ${STAGEDIR}/var/run/zabbix .endif .if ${ZABBIX_BUILD} != "agent" && ${ZABBIX_BUILD} != "java" ${MKDIR} ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD:Q}/database @${RM} ${WRKSRC}/database/*/Makefile* (cd ${WRKSRC}/database/ && \ ${COPYTREE_SHARE} "ibm_db2 mysql oracle postgresql sqlite3" \ ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD:Q}/database/) ${MV} ${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}.conf \ ${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}.conf.sample .endif .if ${ZABBIX_BUILD} == "agent" ${MV} ${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}d.conf \ ${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}d.conf.sample .endif .else # frontend .include .endif .include Index: head/net-mgmt/zabbix4-server/distinfo =================================================================== --- head/net-mgmt/zabbix4-server/distinfo (revision 510262) +++ head/net-mgmt/zabbix4-server/distinfo (revision 510263) @@ -1,3 +1,3 @@ -TIMESTAMP = 1564495156 -SHA256 (zabbix-4.0.11.tar.gz) = b0af25c31c622d14cb7780db5941d76579b9f9a6ee449613d847b0b505628409 -SIZE (zabbix-4.0.11.tar.gz) = 17174772 +TIMESTAMP = 1567035208 +SHA256 (zabbix-4.0.12.tar.gz) = 5c5e728a6f2903e20aea5fdd67a14099630725eba7b1c6628f92fd0c3efd8bca +SIZE (zabbix-4.0.12.tar.gz) = 17138671 Index: head/net-mgmt/zabbix4-server/files/patch-ZBX-16460-fixed-Zabbix-daemon-termination-on-.patch =================================================================== --- head/net-mgmt/zabbix4-server/files/patch-ZBX-16460-fixed-Zabbix-daemon-termination-on-.patch (nonexistent) +++ head/net-mgmt/zabbix4-server/files/patch-ZBX-16460-fixed-Zabbix-daemon-termination-on-.patch (revision 510263) @@ -0,0 +1,212 @@ +From a62b1cfefc184b0c5b6d70e2d6a3de0284b31ffd Mon Sep 17 00:00:00 2001 +From: Vladislavs Sokurenko +Date: Thu, 29 Aug 2019 17:02:29 +0300 +Subject: [PATCH 3/4] ...G...PS. [ZBX-16460] fixed Zabbix daemon termination on + FreeBSD + +* commit '7eb515175340160a502a58eacb719d6eaf522340': + ...G...PS. [ZBX-16460] fixed Zabbix daemon termination on FreeBSD + .......... [ZBX-16460] fixed Zabbix daemon exit on FreeBSD + +(cherry picked from commit 10aee49918fbf54655d4c479689c7f62a8a1b45d) +(cherry picked from commit 890ef645e5fd678ececfeba1feb3144509d1cbd5) +--- + ChangeLog.d/bugfix/ZBX-16460 | 1 + + include/threads.h | 2 +- + src/libs/zbxcrypto/tls.c | 18 +++++++++--------- + src/libs/zbxlog/log.c | 2 +- + src/libs/zbxnix/fatal.c | 2 +- + src/libs/zbxnix/sighandler.c | 8 ++++---- + src/libs/zbxsys/threads.c | 2 +- + src/zabbix_get/zabbix_get.c | 2 +- + src/zabbix_sender/zabbix_sender.c | 2 +- + src/zabbix_server/poller/checks_snmp.c | 2 +- + 10 files changed, 21 insertions(+), 20 deletions(-) + create mode 100644 ChangeLog.d/bugfix/ZBX-16460 + +diff --git ChangeLog.d/bugfix/ZBX-16460 ChangeLog.d/bugfix/ZBX-16460 +new file mode 100644 +index 0000000000..c40d5d5ac3 +--- /dev/null ++++ ChangeLog.d/bugfix/ZBX-16460 +@@ -0,0 +1 @@ ++...G...PS. [ZBX-16460] fixed Zabbix daemon termination on FreeBSD (vso) +diff --git include/threads.h include/threads.h +index 2c8fef6196..c3b6d451ea 100644 +--- include/threads.h ++++ include/threads.h +@@ -73,7 +73,7 @@ + #define zbx_sleep(sec) sleep((sec)) + + #define zbx_thread_kill(h) kill(h, SIGUSR2) +- #define zbx_thread_kill_fatal(h) kill(h, SIGABRT) ++ #define zbx_thread_kill_fatal(h) kill(h, SIGHUP) + #endif /* _WINDOWS */ + + typedef struct +diff --git src/libs/zbxcrypto/tls.c src/libs/zbxcrypto/tls.c +index eef77e6575..7bf9515ad4 100644 +--- src/libs/zbxcrypto/tls.c ++++ src/libs/zbxcrypto/tls.c +@@ -2710,12 +2710,12 @@ void zbx_tls_init_child(void) + zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __func__); + + #ifndef _WINDOWS +- /* Invalid TLS parameters will cause exit. Once one process exits the parent process will send SIGABRT to */ ++ /* Invalid TLS parameters will cause exit. Once one process exits the parent process will send SIGHUP to */ + /* child processes which may be on their way to exit on their own - do not interrupt them, block signal */ +- /* SIGABRT and unblock it when TLS parameters are good and libraries are initialized. */ ++ /* SIGHUP and unblock it when TLS parameters are good and libraries are initialized. */ + sigemptyset(&mask); + sigaddset(&mask, SIGTERM); +- sigaddset(&mask, SIGABRT); ++ sigaddset(&mask, SIGHUP); + sigaddset(&mask, SIGUSR2); + sigaddset(&mask, SIGQUIT); + sigprocmask(SIG_BLOCK, &mask, &orig_mask); +@@ -2905,12 +2905,12 @@ void zbx_tls_init_child(void) + zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __func__); + + #ifndef _WINDOWS +- /* Invalid TLS parameters will cause exit. Once one process exits the parent process will send SIGABRT to */ ++ /* Invalid TLS parameters will cause exit. Once one process exits the parent process will send SIGHUP to */ + /* child processes which may be on their way to exit on their own - do not interrupt them, block signal */ +- /* SIGABRT and unblock it when TLS parameters are good and libraries are initialized. */ ++ /* SIGHUP and unblock it when TLS parameters are good and libraries are initialized. */ + sigemptyset(&mask); + sigaddset(&mask, SIGTERM); +- sigaddset(&mask, SIGABRT); ++ sigaddset(&mask, SIGHUP); + sigaddset(&mask, SIGUSR2); + sigaddset(&mask, SIGQUIT); + sigprocmask(SIG_BLOCK, &mask, &orig_mask); +@@ -3194,12 +3194,12 @@ void zbx_tls_init_child(void) + zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __func__); + + #ifndef _WINDOWS +- /* Invalid TLS parameters will cause exit. Once one process exits the parent process will send SIGABRT to */ ++ /* Invalid TLS parameters will cause exit. Once one process exits the parent process will send SIGHUP to */ + /* child processes which may be on their way to exit on their own - do not interrupt them, block signal */ +- /* SIGABRT and unblock it when TLS parameters are good and libraries are initialized. */ ++ /* SIGHUP and unblock it when TLS parameters are good and libraries are initialized. */ + sigemptyset(&mask); + sigaddset(&mask, SIGTERM); +- sigaddset(&mask, SIGABRT); ++ sigaddset(&mask, SIGHUP); + sigaddset(&mask, SIGUSR2); + sigaddset(&mask, SIGQUIT); + sigprocmask(SIG_BLOCK, &mask, &orig_mask); +diff --git src/libs/zbxlog/log.c src/libs/zbxlog/log.c +index 916d7fb232..2e63ce8eb9 100644 +--- src/libs/zbxlog/log.c ++++ src/libs/zbxlog/log.c +@@ -239,7 +239,7 @@ static void lock_log(void) + sigaddset(&mask, SIGTERM); + sigaddset(&mask, SIGINT); + sigaddset(&mask, SIGQUIT); +- sigaddset(&mask, SIGABRT); ++ sigaddset(&mask, SIGHUP); + + if (0 > sigprocmask(SIG_BLOCK, &mask, &orig_mask)) + zbx_error("cannot set sigprocmask to block the user signal"); +diff --git src/libs/zbxnix/fatal.c src/libs/zbxnix/fatal.c +index bda471d164..7ea6918e96 100644 +--- src/libs/zbxnix/fatal.c ++++ src/libs/zbxnix/fatal.c +@@ -58,7 +58,7 @@ const char *get_signal_name(int sig) + case SIGSEGV: return "SIGSEGV"; + case SIGBUS: return "SIGBUS"; + case SIGQUIT: return "SIGQUIT"; +- case SIGABRT: return "SIGABRT"; ++ case SIGHUP: return "SIGHUP"; + case SIGINT: return "SIGINT"; + case SIGTERM: return "SIGTERM"; + case SIGPIPE: return "SIGPIPE"; +diff --git src/libs/zbxnix/sighandler.c src/libs/zbxnix/sighandler.c +index d244c5cc7b..96aa86c32b 100644 +--- src/libs/zbxnix/sighandler.c ++++ src/libs/zbxnix/sighandler.c +@@ -95,7 +95,7 @@ static void alarm_signal_handler(int sig, siginfo_t *siginfo, void *context) + * * + * Function: terminate_signal_handler * + * * +- * Purpose: handle terminate signals: SIGABRT, SIGINT, SIGTERM, SIGUSR2 * ++ * Purpose: handle terminate signals: SIGHUP, SIGINT, SIGTERM, SIGUSR2 * + * * + ******************************************************************************/ + static void terminate_signal_handler(int sig, siginfo_t *siginfo, void *context) +@@ -103,8 +103,8 @@ static void terminate_signal_handler(int sig, siginfo_t *siginfo, void *context) + if (!SIG_PARENT_PROCESS) + { + /* the parent process can either politely ask a child process to finish it's work and perform cleanup */ +- /* by sending SIGUSR2 or terminate child process immediately without cleanup by sending SIGABRT */ +- if (SIGABRT == sig) ++ /* by sending SIGUSR2 or terminate child process immediately without cleanup by sending SIGHUP */ ++ if (SIGHUP == sig) + exit_with_failure(); + + if (SIGUSR2 == sig) +@@ -180,7 +180,7 @@ void zbx_set_common_signal_handlers(void) + phan.sa_sigaction = terminate_signal_handler; + sigaction(SIGINT, &phan, NULL); + sigaction(SIGQUIT, &phan, NULL); +- sigaction(SIGABRT, &phan, NULL); ++ sigaction(SIGHUP, &phan, NULL); + sigaction(SIGTERM, &phan, NULL); + sigaction(SIGUSR2, &phan, NULL); + +diff --git src/libs/zbxsys/threads.c src/libs/zbxsys/threads.c +index 16fcc3f90b..aedd12ccba 100644 +--- src/libs/zbxsys/threads.c ++++ src/libs/zbxsys/threads.c +@@ -61,7 +61,7 @@ void zbx_child_fork(pid_t *pid) + sigemptyset(&mask); + sigaddset(&mask, SIGTERM); + sigaddset(&mask, SIGUSR2); +- sigaddset(&mask, SIGABRT); ++ sigaddset(&mask, SIGHUP); + sigaddset(&mask, SIGINT); + sigaddset(&mask, SIGQUIT); + sigaddset(&mask, SIGCHLD); +diff --git src/zabbix_get/zabbix_get.c src/zabbix_get/zabbix_get.c +index fe3152d7e2..9f3cfc6ebb 100644 +--- src/zabbix_get/zabbix_get.c ++++ src/zabbix_get/zabbix_get.c +@@ -458,7 +458,7 @@ int main(int argc, char **argv) + signal(SIGINT, get_signal_handler); + signal(SIGQUIT, get_signal_handler); + signal(SIGTERM, get_signal_handler); +- signal(SIGABRT, get_signal_handler); ++ signal(SIGHUP, get_signal_handler); + signal(SIGALRM, get_signal_handler); + signal(SIGPIPE, get_signal_handler); + #endif +diff --git src/zabbix_sender/zabbix_sender.c src/zabbix_sender/zabbix_sender.c +index fdbdfc2a97..7440bcab66 100644 +--- src/zabbix_sender/zabbix_sender.c ++++ src/zabbix_sender/zabbix_sender.c +@@ -511,7 +511,7 @@ static ZBX_THREAD_ENTRY(send_value, args) + signal(SIGINT, send_signal_handler); + signal(SIGQUIT, send_signal_handler); + signal(SIGTERM, send_signal_handler); +- signal(SIGABRT, send_signal_handler); ++ signal(SIGHUP, send_signal_handler); + signal(SIGALRM, send_signal_handler); + #endif + switch (configured_tls_connect_mode) +diff --git src/zabbix_server/poller/checks_snmp.c src/zabbix_server/poller/checks_snmp.c +index 08ecf71d86..68411321c1 100644 +--- src/zabbix_server/poller/checks_snmp.c ++++ src/zabbix_server/poller/checks_snmp.c +@@ -2124,7 +2124,7 @@ void zbx_init_snmp(void) + sigemptyset(&mask); + sigaddset(&mask, SIGTERM); + sigaddset(&mask, SIGUSR2); +- sigaddset(&mask, SIGABRT); ++ sigaddset(&mask, SIGHUP); + sigaddset(&mask, SIGQUIT); + sigprocmask(SIG_BLOCK, &mask, &orig_mask); + +-- +2.23.0 + Property changes on: head/net-mgmt/zabbix4-server/files/patch-ZBX-16460-fixed-Zabbix-daemon-termination-on-.patch ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net-mgmt/zabbix4-server/files/pkg-message.in =================================================================== --- head/net-mgmt/zabbix4-server/files/pkg-message.in (revision 510262) +++ head/net-mgmt/zabbix4-server/files/pkg-message.in (revision 510263) @@ -1,44 +1,60 @@ [ { type: install message: <