diff -uNr zabbix2-server.orig/Makefile zabbix2-server/Makefile --- zabbix2-server.orig/Makefile 2016-05-10 17:05:31.540858000 +0300 +++ zabbix2-server/Makefile 2016-05-18 11:58:53.217489778 +0300 @@ -148,6 +148,21 @@ ${WRKSRC}/src/zabbix_${ZABBIX_BUILD}/Makefile.in @${FIND} ${WRKSRC} -type f \( -name '*.bak' -or -name '*.orig' \) -exec ${RM} -f {} + +.if ${ZABBIX_BUILD} == "server" + @${REINPLACE_CMD} -e 's#PidFile=/tmp/zabbix_server.pid#PidFile=/var/run/zabbix/zabbix_server.pid#g' \ + ${WRKSRC}/conf/zabbix_server*.conf +.endif + +.if ${ZABBIX_BUILD} == "proxy" + @${REINPLACE_CMD} -e 's#PidFile=/tmp/zabbix_proxy.pid#PidFile=/var/run/zabbix/zabbix_proxy.pid#g' \ + ${WRKSRC}/conf/zabbix_proxy*.conf +.endif + +.if ${ZABBIX_BUILD} == "agent" + @${REINPLACE_CMD} -e 's#PidFile=/tmp/zabbix_agentd.pid#PidFile=/var/run/zabbix/zabbix_agentd.pid#g' \ + ${WRKSRC}/conf/zabbix_agentd.conf +.endif + post-install: .if ${PORT_OPTIONS:MJAVAGW} @${MV} ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh.sample diff -uNr zabbix2-server.orig/files/patch-src-zabbix_agent_zabbix_agentd.c zabbix2-server/files/patch-src-zabbix_agent_zabbix_agentd.c --- zabbix2-server.orig/files/patch-src-zabbix_agent_zabbix_agentd.c 1970-01-01 03:00:00.000000000 +0300 +++ zabbix2-server/files/patch-src-zabbix_agent_zabbix_agentd.c 2016-05-13 14:51:12.786550000 +0300 @@ -0,0 +1,11 @@ +--- src/zabbix_agent/zabbix_agentd.c.orig 2016-05-13 14:37:25.696606000 +0300 ++++ src/zabbix_agent/zabbix_agentd.c 2016-05-13 14:49:45.011554761 +0300 +@@ -521,7 +521,7 @@ + CONFIG_LOAD_MODULE_PATH = zbx_strdup(CONFIG_LOAD_MODULE_PATH, LIBDIR "/modules"); + + if (NULL == CONFIG_PID_FILE) +- CONFIG_PID_FILE = "/tmp/zabbix_agentd.pid"; ++ CONFIG_PID_FILE = "/var/run/zabbix/zabbix_agentd.pid"; + #endif + if (NULL == CONFIG_LOG_TYPE_STR) + CONFIG_LOG_TYPE_STR = zbx_strdup(CONFIG_LOG_TYPE_STR, ZBX_OPTION_LOGTYPE_FILE); diff -uNr zabbix2-server.orig/files/patch-src-zabbix_proxy_proxy.c zabbix2-server/files/patch-src-zabbix_proxy_proxy.c --- zabbix2-server.orig/files/patch-src-zabbix_proxy_proxy.c 1970-01-01 03:00:00.000000000 +0300 +++ zabbix2-server/files/patch-src-zabbix_proxy_proxy.c 2016-05-13 14:47:29.182567000 +0300 @@ -0,0 +1,11 @@ +--- src/zabbix_proxy/proxy.c.orig 2016-04-20 12:51:20.000000000 +0300 ++++ src/zabbix_proxy/proxy.c 2016-05-13 14:46:44.193569184 +0300 +@@ -389,7 +389,7 @@ + CONFIG_SNMPTRAP_FILE = zbx_strdup(CONFIG_SNMPTRAP_FILE, "/tmp/zabbix_traps.tmp"); + + if (NULL == CONFIG_PID_FILE) +- CONFIG_PID_FILE = zbx_strdup(CONFIG_PID_FILE, "/tmp/zabbix_proxy.pid"); ++ CONFIG_PID_FILE = zbx_strdup(CONFIG_PID_FILE, "/var/run/zabbix/zabbix_proxy.pid"); + + if (NULL == CONFIG_TMPDIR) + CONFIG_TMPDIR = zbx_strdup(CONFIG_TMPDIR, "/tmp"); diff -uNr zabbix2-server.orig/files/patch-src-zabbix_server_server.c zabbix2-server/files/patch-src-zabbix_server_server.c --- zabbix2-server.orig/files/patch-src-zabbix_server_server.c 1970-01-01 03:00:00.000000000 +0300 +++ zabbix2-server/files/patch-src-zabbix_server_server.c 2016-05-13 14:28:09.669645000 +0300 @@ -0,0 +1,11 @@ +--- src/zabbix_server/server.c.orig 2016-04-20 12:51:20.000000000 +0300 ++++ src/zabbix_server/server.c 2016-05-13 14:20:17.603677788 +0300 +@@ -369,7 +369,7 @@ + CONFIG_SNMPTRAP_FILE = zbx_strdup(CONFIG_SNMPTRAP_FILE, "/tmp/zabbix_traps.tmp"); + + if (NULL == CONFIG_PID_FILE) +- CONFIG_PID_FILE = zbx_strdup(CONFIG_PID_FILE, "/tmp/zabbix_server.pid"); ++ CONFIG_PID_FILE = zbx_strdup(CONFIG_PID_FILE, "/var/run/zabbix/zabbix_server.pid"); + + if (NULL == CONFIG_ALERT_SCRIPTS_PATH) + CONFIG_ALERT_SCRIPTS_PATH = zbx_strdup(CONFIG_ALERT_SCRIPTS_PATH, DATADIR "/zabbix/alertscripts"); diff -uNr zabbix2-server.orig/files/zabbix_agentd.in zabbix2-server/files/zabbix_agentd.in --- zabbix2-server.orig/files/zabbix_agentd.in 2016-05-10 17:05:31.548856000 +0300 +++ zabbix2-server/files/zabbix_agentd.in 2016-05-13 15:05:56.061488000 +0300 @@ -9,10 +9,10 @@ # # zabbix_agentd_enable (bool): Set to NO by default. Set it to YES to # enable zabbix_agentd. -# zabbix_agentd_paths (string): Set to standard path by default. Set a search -# if you have custom userparams that need binaries elsewhere. # zabbix_agentd_config (string): Set to the standard config file path by # default. +# zabbix_agentd_pidfile (string): Location of the asterisk pid file +# Default is /var/run/zabbix/zabbix_agentd.pid # . /etc/rc.subr @@ -22,22 +22,27 @@ load_rc_config $name -: ${zabbix_agentd_enable="NO"} -: ${zabbix_agentd_paths=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin} -: ${zabbix_agentd_config="%%ETCDIR%%/${name}.conf"} +: ${zabbix_agentd_enable:=NO} +: ${zabbix_agentd_config:=%%ETCDIR%%/${name}.conf} +: ${zabbix_agentd_pidfile:=/var/run/zabbix/zabbix_agentd.pid} command="%%PREFIX%%/sbin/${name}" required_files="${zabbix_agentd_config}" -start_precmd="find_pidfile" -status_precmd="find_pidfile" -stop_precmd="find_pidfile" -find_pidfile() +start_precmd=zabbix_agentd_precmd +status_precmd=zabbix_agentd_precmd +stop_precmd=zabbix_agentd_precmd + +zabbix_agentd_precmd() { if get_pidfile_from_conf PidFile ${zabbix_agentd_config}; then pidfile="$_pidfile_from_conf" else - pidfile="/tmp/${name}.pid" + pidfile=${zabbix_agentd_pidfile} + local rundir=${zabbix_agentd_pidfile%/*} + if [ ! -d $rundir ] ; then + install -d -m 0755 -o zabbix -g zabbix $rundir + fi fi # This shouldn't be necessary with pidfile, but empirically it was the @@ -47,6 +52,4 @@ rc_pid=$(check_pidfile ${pidfile} ${command}) } -export PATH="${zabbix_agentd_paths}" - run_rc_command "$1" diff -uNr zabbix2-server.orig/files/zabbix_proxy.in zabbix2-server/files/zabbix_proxy.in --- zabbix2-server.orig/files/zabbix_proxy.in 2016-05-12 12:55:40.031981000 +0300 +++ zabbix2-server/files/zabbix_proxy.in 2016-05-13 14:44:17.197578000 +0300 @@ -1,7 +1,9 @@ #!/bin/sh # PROVIDE: zabbix_proxy -# REQUIRE: DAEMON%%ZABBIX_REQUIRE%% +# REQUIRE: DAEMON +%%PGSQL%%# REQUIRE: postgresql +%%MYSQL%%# REQUIRE: mysql-server # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf to @@ -9,10 +11,10 @@ # # zabbix_proxy_enable (bool): Set to NO by default. Set it to YES to # enable zabbix_proxy. -# zabbix_proxy_paths (string): Set to standard path by default. Set a search -# if you have custom externals that need binaries elsewhere. # zabbix_proxy_config (string): Set to the standard config file path by # default. +# zabbix_proxy_pidfile (string): Location of the asterisk pid file +# Default is /var/run/zabbix/zabbix_proxy.pid # . /etc/rc.subr @@ -22,22 +24,27 @@ load_rc_config $name -: ${zabbix_proxy_enable="NO"} -: ${zabbix_proxy_config="%%ETCDIR%%/${name}.conf"} +: ${zabbix_proxy_enable:=NO} +: ${zabbix_proxy_config:=%%ETCDIR%%/${name}.conf} +: ${zabbix_proxy_pidfile:=/var/run/zabbix/zabbix_proxy.pid} command="%%PREFIX%%/sbin/${name}" required_files="${zabbix_proxy_config}" -start_precmd="find_pidfile" -status_precmd="find_pidfile" -stop_precmd="find_pidfile" +start_precmd=zabbix_proxy_precmd +status_precmd=zabbix_proxy_precmd +stop_precmd=zabbix_proxy_precmd -find_pidfile() +zabbix_proxy_precmd() { if get_pidfile_from_conf PidFile ${zabbix_proxy_config}; then pidfile="$_pidfile_from_conf" else - pidfile="/tmp/${name}.pid" + pidfile=${zabbix_proxy_pidfile} + local rundir=${zabbix_proxy_pidfile%/*} + if [ ! -d $rundir ] ; then + install -d -m 0755 -o zabbix -g zabbix $rundir + fi fi # This shouldn't be necessary with pidfile, but empirically it was the @@ -47,6 +54,4 @@ rc_pid=$(check_pidfile ${pidfile} ${command}) } -export PATH="${zabbix_proxy_paths}" - run_rc_command "$1" diff -uNr zabbix2-server.orig/files/zabbix_server.in zabbix2-server/files/zabbix_server.in --- zabbix2-server.orig/files/zabbix_server.in 2016-05-10 17:05:31.552857000 +0300 +++ zabbix2-server/files/zabbix_server.in 2016-05-13 14:26:40.145651000 +0300 @@ -1,7 +1,9 @@ #!/bin/sh # PROVIDE: zabbix_server -# REQUIRE: DAEMON%%ZABBIX_REQUIRE%% +# REQUIRE: DAEMON +%%PGSQL%%# REQUIRE: postgresql +%%MYSQL%%# REQUIRE: mysql-server # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf to @@ -9,10 +11,10 @@ # # zabbix_server_enable (bool): Set to NO by default. Set it to YES to # enable zabbix_server. -# zabbix_server_paths (string): Set to standard path by default. Set a search -# if you have custom externals that need binaries elsewhere. # zabbix_server_config (string): Set to the standard config file path by # default. +# zabbix_server_pidfile (string): Location of the asterisk pid file +# Default is /var/run/zabbix/zabbix_server.pid # . /etc/rc.subr @@ -22,22 +24,27 @@ load_rc_config $name -: ${zabbix_server_enable="NO"} -: ${zabbix_server_paths=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin} -: ${zabbix_server_config="%%ETCDIR%%/${name}.conf"} +: ${zabbix_server_enable:=NO} +: ${zabbix_server_config:=%%ETCDIR%%/${name}.conf} +: ${zabbix_server_pidfile:=/var/run/zabbix/zabbix_server.pid} command="%%PREFIX%%/sbin/${name}" required_files="${zabbix_server_config}" -start_precmd="find_pidfile" -status_precmd="find_pidfile" -stop_precmd="find_pidfile" -find_pidfile() +start_precmd=zabbix_server_precmd +status_precmd=zabbix_server_precmd +stop_precmd=zabbix_server_precmd + +zabbix_server_precmd() { - if get_pidfile_from_conf PidFile ${zabbix_agentd_config}; then + if get_pidfile_from_conf PidFile ${zabbix_server_config}; then pidfile="$_pidfile_from_conf" else - pidfile="/tmp/${name}.pid" + pidfile=${zabbix_server_pidfile} + local rundir=${zabbix_server_pidfile%/*} + if [ ! -d $rundir ] ; then + install -d -m 0755 -o zabbix -g zabbix $rundir + fi fi # This shouldn't be necessary with pidfile, but empirically it was the @@ -47,6 +54,4 @@ rc_pid=$(check_pidfile ${pidfile} ${command}) } -export PATH="${zabbix_server_paths}" - run_rc_command "$1"