1 # Created by: Pakhom Golynga <pakhom706@gmail.com>
8 MASTER_SITES= SF/zabbix/ZABBIX%20Latest%20Stable/${PORTVERSION}
9 PKGNAMESUFFIX?= -server
10 DISTNAME= zabbix-${PORTVERSION}
12 MAINTAINER= pakhom706@gmail.com
13 COMMENT= Enterprise-class open source distributed monitoring (${PKGNAMESUFFIX:S/^-//})
17 CONFLICTS= ${PKGBASE}-1.[0-8]*
22 .if ${PKGNAMESUFFIX} != "-agent"
23 CONFLICTS+= ${PORTNAME}-1.[0-8]*
26 ZABBIX_BUILD= ${PKGNAMESUFFIX:S/^-//}
28 .if ${ZABBIX_BUILD} != "frontend" # frontend only needs the version/distribution settings
29 .if ${ZABBIX_BUILD} != "agent"
30 USE_RC_SUBR= zabbix_${ZABBIX_BUILD}
32 USE_RC_SUBR= zabbix_${ZABBIX_BUILD}d
40 .if ${ZABBIX_BUILD} != "proxy"
41 PLIST_SUB= PROXY="@comment "
46 .if ${ZABBIX_BUILD} == "server"
49 PLIST_SUB+= SERVER="@comment "
52 PLIST_SUB+= ZABBIX_BUILD=${ZABBIX_BUILD} PORTVERSION=${PORTVERSION}
53 SUB_LIST= ZABBIX_BUILD=${ZABBIX_BUILD} ZABBIX_REQUIRE=${ZABBIX_REQUIRE}
55 MAKE_ARGS+= ARCH=freebsd
57 CONFIGURE_ARGS+= --enable-${ZABBIX_BUILD} \
58 --sysconfdir=${ETCDIR} \
60 --with-iconv=${ICONV_PREFIX}
62 .if ${ZABBIX_BUILD} != "agent"
63 LIB_DEPENDS= libnetsnmp.so:${PORTSDIR}/net-mgmt/net-snmp \
64 libexecinfo.so:${PORTSDIR}/devel/libexecinfo
66 SUB_FILES= pkg-message
68 CONFIGURE_ARGS+= --with-net-snmp
70 OPTIONSFILE= ${PORT_DBDIR}/${PORTNAME}${PKGNAMESUFFIX}/options
71 OPTIONS_DEFINE= IPV6 FPING JABBER CURL LDAP IPMI SSH NMAP JAVAGW \
73 OPTIONS_DEFAULT= IPV6 FPING JABBER CURL UNIXODBC MYSQL SSH
76 CURL_DESC= Support for web monitoring
77 FPING_DESC= Build/install fping for ping checks
78 IPMI_DESC= Support for IPMI checks
79 JABBER_DESC= Support for Jabber media type
80 LDAP_DESC= Support for LDAP server checks
81 NMAP_DESC= Build/install nmap for o/s detection
82 SSH_DESC= Support for SSH-based checks
83 ODBC_DESC= Support for database checks via ODBC
84 JAVAGW_DESC= Support for Java gateway
85 LIBXML2_DESC= Support for libxml2 (required by monitoring VMware)
87 OPTIONS_SINGLE= DB ODBC
88 OPTIONS_SINGLE_DB= MYSQL PGSQL SQLITE ORACLE
89 OPTIONS_SINGLE_ODBC= IODBC UNIXODBC
91 MYSQL_CONFIGURE_WITH= mysql
94 PGSQL_CONFIGURE_WITH= postgresql
97 SQLITE_CONFIGURE_WITH= sqlite3
100 ORACLE_CONFIGURE_WITH= oracle
102 CURL_CONFIGURE_WITH= libcurl
103 CURL_LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl
105 LDAP_CONFIGURE_WITH= ldap
106 LDAP_USE= OPENLDAP=yes
108 IPMI_CONFIGURE_WITH= openipmi
109 IPMI_LIB_DEPENDS= libOpenIPMI.so:${PORTSDIR}/sysutils/openipmi
111 JABBER_CONFIGURE_WITH= jabber
112 JABBER_LIB_DEPENDS= libiksemel.so:${PORTSDIR}/textproc/iksemel
114 FPING_RUN_DEPENDS= fping:${PORTSDIR}/net/fping
116 SSH_CONFIGURE_WITH= ssh2
117 SSH_LIB_DEPENDS= libssh2.so:${PORTSDIR}/security/libssh2
119 IODBC_CONFIGURE_WITH= iodbc
120 IODBC_LIB_DEPENDS= libiodbc.so:${PORTSDIR}/databases/libiodbc
122 UNIXODBC_CONFIGURE_WITH=unixodbc
123 UNIXODBC_LIB_DEPENDS= libodbc.so:${PORTSDIR}/databases/unixODBC
124 .endif # if ${ZABBIX_BUILD} != "agent"
126 IPV6_CONFIGURE_ENABLE= ipv6
128 NMAP_RUN_DEPENDS= nmap:${PORTSDIR}/security/nmap \
129 sudo:${PORTSDIR}/security/sudo
131 JAVAGW_CONFIGURE_ENABLE=java
134 LIBXML2_CONFIGURE_WITH= libxml2
135 LIBXML2_LIB_DEPENDS= libxml2.so:${PORTSDIR}/textproc/libxml2
137 .include <bsd.port.options.mk>
140 @${GREP} -rl "/etc/zabbix" ${WRKSRC} \
141 | ${XARGS} ${REINPLACE_CMD} -e 's#/etc/zabbix#${ETCDIR}#g'
142 @${REINPLACE_CMD} -e 's#/usr/sbin/fping#${LOCALBASE}/sbin/fping#g' \
143 ${WRKSRC}/conf/zabbix_*.conf
145 .if ${ZABBIX_BUILD} != "agent"
146 . for d in mysql oracle postgresql sqlite3
148 -e 's|/bin/ping|/sbin/ping|g' \
149 -e 's|/usr/bin/traceroute|/usr/sbin/traceroute|g' \
150 -e 's|sudo /usr/bin/nmap|sudo ${LOCALBASE}/bin/nmap|g' \
151 ${WRKSRC}/database/${d}/data.sql
155 -Ee 's|(@sysconfdir@/(\$$\([A-Z]*_CONFIG\)))" ([|][|] cp "../../conf/\$$\([A-Z]*_CONFIG\)" "\$$\(DESTDIR\)@sysconfdir@)"|\1.sample" \3/\2.sample"|;' \
156 ${WRKSRC}/src/zabbix_${ZABBIX_BUILD}/Makefile.in
157 @${FIND} ${WRKSRC} -type f \( -name '*.bak' -or -name '*.orig' \) \
162 .if ${PORT_OPTIONS:MJAVAGW}
163 ${MV} ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh \
164 ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh.sample
167 .if ${ZABBIX_BUILD} != "agent"
168 ${MKDIR} ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD:Q}/database
169 (cd ${WRKSRC}/upgrades/ && ${COPYTREE_SHARE} dbpatches \
170 ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD:Q}/upgrades/)
171 (cd ${WRKSRC}/database/ && \
172 ${COPYTREE_SHARE} "ibm_db2 mysql oracle postgresql sqlite3" \
173 ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD:Q}/database/)
177 .include <bsd.port.mk>