Index: head/net-mgmt/zabbix22-server/Makefile =================================================================== --- head/net-mgmt/zabbix22-server/Makefile (revision 422128) +++ head/net-mgmt/zabbix22-server/Makefile (revision 422129) @@ -1,171 +1,178 @@ # Created by: Pakhom Golynga # $FreeBSD$ PORTNAME= zabbix22 -PORTVERSION= 2.2.12 -PORTREVISION= 0 +PORTVERSION= 2.2.14 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/^-//}) LICENSE= GPLv2 -CONFLICTS= ${PKGBASE}-1.[0-8]* +CONFLICTS= zabbix2${PKGNAMESUFFIX}-[0-9]* zabbix24${PKGNAMESUFFIX}[0-9]* zabbix3${PKGNAMESUFFIX}-[0-9]* +LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp -IGNORE_WITH_PHP= 52 -IGNORE_WITH_MYSQL= 41 - -.if ${PKGNAMESUFFIX} != "-agent" -CONFLICTS+= ${PORTNAME}-1.[0-8]* -.endif - ZABBIX_BUILD= ${PKGNAMESUFFIX:S/^-//} .if ${ZABBIX_BUILD} != "frontend" # frontend only needs the version/distribution settings .if ${ZABBIX_BUILD} != "agent" 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} ZABBIX_REQUIRE=${ZABBIX_REQUIRE} MAKE_ARGS+= ARCH=freebsd GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-${ZABBIX_BUILD} \ --sysconfdir=${ETCDIR} \ --datadir=${ETCDIR} \ --with-iconv=${ICONV_PREFIX} .if ${ZABBIX_BUILD} != "agent" -LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp USES+= execinfo CPPFLAGS+= ${EXECINFO_CPPFLAGS} LDFLAGS+= ${EXECINFO_LDFLAGS} SUB_FILES= pkg-message CONFIGURE_ARGS+= --with-net-snmp OPTIONS_DEFINE= IPV6 FPING JABBER CURL LDAP IPMI SSH NMAP JAVAGW LIBXML2 -OPTIONS_DEFAULT= MYSQL FPING JABBER CURL UNIXODBC +OPTIONS_DEFAULT= MYSQL IPV6 FPING JABBER CURL UNIXODBC OPTIONS_SUB= yes CURL_DESC= Support for web monitoring 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 OS detection SSH_DESC= Support for SSH-based checks ODBC_DESC= Support for database checks via ODBC JAVAGW_DESC= Support for Java gateway LIBXML2_DESC= Support for libxml2 (required by monitoring VMware) OPTIONS_SINGLE= DB ODBC OPTIONS_SINGLE_DB= MYSQL PGSQL SQLITE ORACLE OPTIONS_SINGLE_ODBC= IODBC UNIXODBC MYSQL_CONFIGURE_WITH= mysql -MYSQL_USE= MYSQL=yes +USES+= mysql PGSQL_CONFIGURE_WITH= postgresql -PGSQL_USES= pgsql +USES+= pgsql SQLITE_CONFIGURE_WITH= sqlite3 -SQLITE_USES= sqlite:3 +USES+= sqlite:3 ORACLE_CONFIGURE_WITH= oracle CURL_CONFIGURE_WITH= libcurl CURL_LIB_DEPENDS= libcurl.so:ftp/curl 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 IODBC_CONFIGURE_WITH= iodbc IODBC_LIB_DEPENDS= libiodbc.so:databases/libiodbc UNIXODBC_CONFIGURE_WITH= unixodbc UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC .endif # if ${ZABBIX_BUILD} != "agent" IPV6_CONFIGURE_ENABLE= ipv6 NMAP_RUN_DEPENDS= nmap:security/nmap \ sudo:security/sudo JAVAGW_CONFIGURE_ENABLE= java JAVAGW_USE= JAVA=yes LIBXML2_CONFIGURE_WITH= libxml2 LIBXML2_LIB_DEPENDS= libxml2.so:textproc/libxml2 .include post-patch: @${GREP} -rl "/etc/zabbix" ${WRKSRC} \ | ${XARGS} ${REINPLACE_CMD} -e 's#/etc/zabbix#${ETCDIR}#g' @${REINPLACE_CMD} -e 's#/usr/sbin/fping#${LOCALBASE}/sbin/fping#g' ${WRKSRC}/conf/zabbix_*.conf .if ${ZABBIX_BUILD} != "agent" .if ! ${PORT_OPTIONS:MFPING} .endif .for d in mysql oracle postgresql sqlite3 @${REINPLACE_CMD} -e 's|/bin/ping|/sbin/ping|g; \ s|/usr/bin/traceroute|/usr/sbin/traceroute|g; \ s|sudo /usr/bin/nmap|sudo ${LOCALBASE}/bin/nmap|g;' \ ${WRKSRC}/database/${d}/data.sql .endfor .endif @${REINPLACE_CMD} -Ee 's|(@sysconfdir@/(\$$\([A-Z]*_CONFIG\)))" ([|][|] cp "../../conf/\$$\([A-Z]*_CONFIG\)" "\$$\(DESTDIR\)@sysconfdir@)"|\1.sample" \3/\2.sample"|;' \ ${WRKSRC}/src/zabbix_${ZABBIX_BUILD}/Makefile.in @${FIND} ${WRKSRC} -type f \( -name '*.bak' -or -name '*.orig' \) -exec ${RM} -f {} + -post-install: -.if ${PORT_OPTIONS:MJAVAGW} - @${MV} ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh.sample +.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 + .if ${ZABBIX_BUILD} != "agent" ${MKDIR} "${STAGEDIR}${DATADIR}/${ZABBIX_BUILD}/database" cd ${WRKSRC}/upgrades/ && ${COPYTREE_SHARE} dbpatches ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD}/upgrades/ cd ${WRKSRC}/database/ && ${COPYTREE_SHARE} "ibm_db2 mysql oracle postgresql sqlite3" ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD}/database/ .endif +.endif + +post-install: +.if ${PORT_OPTIONS:MJAVAGW} + @${MV} ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh.sample .endif .include Index: head/net-mgmt/zabbix22-server/distinfo =================================================================== --- head/net-mgmt/zabbix22-server/distinfo (revision 422128) +++ head/net-mgmt/zabbix22-server/distinfo (revision 422129) @@ -1,2 +1,3 @@ -SHA256 (zabbix-2.2.12.tar.gz) = 7481021c2d62fa7d090f8401c87e99107c3e0227e5b10406380c4ac5a768e9e9 -SIZE (zabbix-2.2.12.tar.gz) = 15467504 +TIMESTAMP = 1473858962 +SHA256 (zabbix-2.2.14.tar.gz) = 76fa3f45168946b9fb4a22840b4b06054f1a09da93c910969eacd04217fa21c8 +SIZE (zabbix-2.2.14.tar.gz) = 15481807 Index: head/net-mgmt/zabbix22-server/files/patch-src_zabbix__agent_zabbix__agentd.c =================================================================== --- head/net-mgmt/zabbix22-server/files/patch-src_zabbix__agent_zabbix__agentd.c (nonexistent) +++ head/net-mgmt/zabbix22-server/files/patch-src_zabbix__agent_zabbix__agentd.c (revision 422129) @@ -0,0 +1,11 @@ +--- src/zabbix_agent/zabbix_agentd.c.orig 2016-09-13 16:27:58 UTC ++++ src/zabbix_agent/zabbix_agentd.c +@@ -271,7 +271,7 @@ static void set_defaults(void) + + #ifdef USE_PID_FILE + if (NULL == CONFIG_PID_FILE) +- CONFIG_PID_FILE = "/tmp/zabbix_agentd.pid"; ++ CONFIG_PID_FILE = "/var/run/zabbix/zabbix_agentd.pid"; + #endif + } + Property changes on: head/net-mgmt/zabbix22-server/files/patch-src_zabbix__agent_zabbix__agentd.c ___________________________________________________________________ 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/zabbix22-server/files/patch-src_zabbix__proxy_proxy.c =================================================================== --- head/net-mgmt/zabbix22-server/files/patch-src_zabbix__proxy_proxy.c (nonexistent) +++ head/net-mgmt/zabbix22-server/files/patch-src_zabbix__proxy_proxy.c (revision 422129) @@ -0,0 +1,11 @@ +--- src/zabbix_proxy/proxy.c.orig 2016-09-13 16:28:16 UTC ++++ src/zabbix_proxy/proxy.c +@@ -256,7 +256,7 @@ static void zbx_set_defaults() + 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"); Property changes on: head/net-mgmt/zabbix22-server/files/patch-src_zabbix__proxy_proxy.c ___________________________________________________________________ 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/zabbix22-server/files/patch-src_zabbix__server_server.c =================================================================== --- head/net-mgmt/zabbix22-server/files/patch-src_zabbix__server_server.c (nonexistent) +++ head/net-mgmt/zabbix22-server/files/patch-src_zabbix__server_server.c (revision 422129) @@ -0,0 +1,11 @@ +--- src/zabbix_server/server.c.orig 2016-09-13 16:28:31 UTC ++++ src/zabbix_server/server.c +@@ -226,7 +226,7 @@ static void zbx_set_defaults() + 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"); Property changes on: head/net-mgmt/zabbix22-server/files/patch-src_zabbix__server_server.c ___________________________________________________________________ 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/zabbix22-server/files/pkg-message.in =================================================================== --- head/net-mgmt/zabbix22-server/files/pkg-message.in (revision 422128) +++ head/net-mgmt/zabbix22-server/files/pkg-message.in (revision 422129) @@ -1,50 +1,50 @@ ====================================================================== For Zabbix server and proxy daemons, as well as Zabbix frontend, a database is required. It is not needed to run Zabbix agent. % cd %%DATADIR%%/%%ZABBIX_BUILD%%/database PostgreSQL: shell> psql -U psql> create database zabbix; psql> \q shell> cd database/postgresql shell> psql -U zabbix < schema.sql shell> psql -U zabbix < images.sql shell> psql -U zabbix < data.sql MySQL: shell> mysql -u -p mysql> create database zabbix character set utf8; mysql> quit; shell> mysql -u -p zabbix < database/mysql/schema.sql shell> mysql -u -p zabbix < database/mysql/images.sql shell> mysql -u -p zabbix < database/mysql/data.sql SQLite: shell> cd database/sqlite3 shell> sqlite3 /var/lib/sqlite/zabbix.db < schema.sql shell> sqlite3 /var/lib/sqlite/zabbix.db < images.sql shell> sqlite3 /var/lib/sqlite/zabbix.db < data.sql IBM DB2: shell> db2 "create database zabbix using codeset utf-8 territory us pagesize 32768" shell> cd database/ibm_db2 shell> db2batch -d zabbix -f schema.sql shell> db2batch -d zabbix -f images.sql shell> db2batch -d zabbix -f data.sql Upgrade notes for 2.2.0 Minimum supported PHP version changed from 5.1.6 to 5.3.0 Minimum supported MySQL version changed from 5.0.0 to 5.0.3 Accepted data limit when using Zabbix protocol was changed from 128MB to 64MB. New upgrade procedure -There are no upgrade SQL scripts anymore - database upgrade is performed by the Zabbix server. +There are no upgrade SQL scripts anymore - database upgrade is performed by the Zabbix server. To upgrade an existing database, see the scripts in Upgrade notes for 2.2.0 https://www.zabbix.com/documentation/2.2/manual/installation/upgrade_notes_220 Please see https://www.zabbix.com/documentation/2.2/manual/installation for installation instructions. For use NMAP please edit sudoers ====================================================================== Index: head/net-mgmt/zabbix22-server/files/zabbix_agentd.in =================================================================== --- head/net-mgmt/zabbix22-server/files/zabbix_agentd.in (revision 422128) +++ head/net-mgmt/zabbix22-server/files/zabbix_agentd.in (revision 422129) @@ -1,52 +1,55 @@ #!/bin/sh # PROVIDE: zabbix_agentd # REQUIRE: DAEMON # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf to # enable zabbix_agentd: # # 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 zabbix_agentd pid file +# Default is /var/run/zabbix/zabbix_agentd.pid # . /etc/rc.subr name="zabbix_agentd" rcvar=zabbix_agentd_enable 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 # only way to reap the parent PID instead of all PIDs from # check_process, which may leak SysV IPC objects and prevent restart # and/or race condition on restart. rc_pid=$(check_pidfile ${pidfile} ${command}) } - -export PATH="${zabbix_agentd_paths}" run_rc_command "$1" Index: head/net-mgmt/zabbix22-server/files/zabbix_proxy.in =================================================================== --- head/net-mgmt/zabbix22-server/files/zabbix_proxy.in (revision 422128) +++ head/net-mgmt/zabbix22-server/files/zabbix_proxy.in (revision 422129) @@ -1,54 +1,57 @@ #!/bin/sh # PROVIDE: zabbix_proxy # 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 # enable zabbix_proxy: # # 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 zabbix_proxy pid file +# Default is /var/run/zabbix/zabbix_proxy.pid # . /etc/rc.subr name="zabbix_proxy" rcvar=zabbix_proxy_enable load_rc_config $name -: ${zabbix_proxy_enable="NO"} -: ${zabbix_proxy_paths=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin} -: ${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" -find_pidfile() +start_precmd=zabbix_proxy_precmd +status_precmd=zabbix_proxy_precmd +stop_precmd=zabbix_proxy_precmd + +zabbix_proxy_precmd() { - if get_pidfile_from_conf PidFile ${zabbix_agentd_config}; then + 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 # only way to reap the parent PID instead of all PIDs from # check_process, which may leak SysV IPC objects and prevent restart # and/or race condition on restart. rc_pid=$(check_pidfile ${pidfile} ${command}) } - -export PATH="${zabbix_proxy_paths}" run_rc_command "$1" Index: head/net-mgmt/zabbix22-server/files/zabbix_server.in =================================================================== --- head/net-mgmt/zabbix22-server/files/zabbix_server.in (revision 422128) +++ head/net-mgmt/zabbix22-server/files/zabbix_server.in (revision 422129) @@ -1,54 +1,57 @@ #!/bin/sh # PROVIDE: zabbix_server # 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 # enable zabbix_server: # # 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 zabbix_server pid file +# Default is /var/run/zabbix/zabbix_server.pid # . /etc/rc.subr name="zabbix_server" rcvar=zabbix_server_enable 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 # only way to reap the parent PID instead of all PIDs from # check_process, which may leak SysV IPC objects and prevent restart # and/or race condition on restart. rc_pid=$(check_pidfile ${pidfile} ${command}) } - -export PATH="${zabbix_server_paths}" run_rc_command "$1"