Tweak lang/v8 version 3.18.5
[dports.git] / net-mgmt / zabbix24-server / Makefile
1 # Created by: Pakhom Golynga <pakhom706@gmail.com>
2 # $FreeBSD$
3
4 PORTNAME=       zabbix24
5 PORTVERSION=    2.4.3
6 PORTREVISION?=  0
7 CATEGORIES=     net-mgmt
8 MASTER_SITES=   SF/zabbix/ZABBIX%20Latest%20Stable/${PORTVERSION}
9 PKGNAMESUFFIX?= -server
10 DISTNAME=       zabbix-${PORTVERSION}
11
12 MAINTAINER=     pakhom706@gmail.com
13 COMMENT=        Enterprise-class open source distributed monitoring (${PKGNAMESUFFIX:S/^-//})
14
15 LICENSE=        GPLv2
16
17 CONFLICTS=      ${PKGBASE}-1.[0-8]*
18
19 IGNORE_WITH_PHP=        52
20 IGNORE_WITH_MYSQL=      41
21
22 .if ${PKGNAMESUFFIX} != "-agent"
23 CONFLICTS+=     ${PORTNAME}-1.[0-8]*
24 .endif
25
26 ZABBIX_BUILD=   ${PKGNAMESUFFIX:S/^-//}
27
28 .if ${ZABBIX_BUILD} != "frontend" # frontend only needs the version/distribution settings
29 .if ${ZABBIX_BUILD} != "agent"
30 USE_RC_SUBR=    zabbix_${ZABBIX_BUILD}
31 .else
32 USE_RC_SUBR=    zabbix_${ZABBIX_BUILD}d
33 .endif
34
35 USES=           pkgconfig iconv
36
37 USERS=          zabbix
38 GROUPS=         zabbix
39
40 .if ${ZABBIX_BUILD} != "proxy"
41 PLIST_SUB=      PROXY="@comment "
42 .else
43 PLIST_SUB=      PROXY=""
44 .endif
45
46 .if ${ZABBIX_BUILD} == "server"
47 PLIST_SUB+=     SERVER=""
48 .else
49 PLIST_SUB+=     SERVER="@comment "
50 .endif
51
52 PLIST_SUB+=     ZABBIX_BUILD=${ZABBIX_BUILD} PORTVERSION=${PORTVERSION}
53 SUB_LIST=       ZABBIX_BUILD=${ZABBIX_BUILD} ZABBIX_REQUIRE=${ZABBIX_REQUIRE}
54
55 MAKE_ARGS+=     ARCH=freebsd
56 GNU_CONFIGURE=  yes
57 CONFIGURE_ARGS+=        --enable-${ZABBIX_BUILD} \
58                         --sysconfdir=${ETCDIR} \
59                         --datadir=${ETCDIR} \
60                         --with-iconv=${ICONV_PREFIX}
61
62 .if ${ZABBIX_BUILD} != "agent"
63 LIB_DEPENDS=    libnetsnmp.so:${PORTSDIR}/net-mgmt/net-snmp \
64                 libexecinfo.so:${PORTSDIR}/devel/libexecinfo
65
66 SUB_FILES=      pkg-message
67
68 CONFIGURE_ARGS+=        --with-net-snmp
69
70 OPTIONSFILE=            ${PORT_DBDIR}/${PORTNAME}${PKGNAMESUFFIX}/options
71 OPTIONS_DEFINE=         IPV6 FPING JABBER CURL LDAP IPMI SSH NMAP JAVAGW \
72                         LIBXML2
73 OPTIONS_DEFAULT=        IPV6 FPING JABBER CURL UNIXODBC MYSQL SSH
74 OPTIONS_SUB=            yes
75
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)
86
87 OPTIONS_SINGLE=         DB ODBC
88 OPTIONS_SINGLE_DB=      MYSQL PGSQL SQLITE ORACLE
89 OPTIONS_SINGLE_ODBC=    IODBC UNIXODBC
90
91 MYSQL_CONFIGURE_WITH=   mysql
92 MYSQL_USE=              MYSQL=yes
93
94 PGSQL_CONFIGURE_WITH=   postgresql
95 PGSQL_USES=             pgsql
96
97 SQLITE_CONFIGURE_WITH=  sqlite3
98 SQLITE_USE=             SQLITE=3
99
100 ORACLE_CONFIGURE_WITH=  oracle
101
102 CURL_CONFIGURE_WITH=    libcurl
103 CURL_LIB_DEPENDS=       libcurl.so:${PORTSDIR}/ftp/curl
104
105 LDAP_CONFIGURE_WITH=    ldap
106 LDAP_USE=               OPENLDAP=yes
107
108 IPMI_CONFIGURE_WITH=    openipmi
109 IPMI_LIB_DEPENDS=       libOpenIPMI.so:${PORTSDIR}/sysutils/openipmi
110
111 JABBER_CONFIGURE_WITH=  jabber
112 JABBER_LIB_DEPENDS=     libiksemel.so:${PORTSDIR}/textproc/iksemel
113
114 FPING_RUN_DEPENDS=      fping:${PORTSDIR}/net/fping
115
116 SSH_CONFIGURE_WITH=     ssh2
117 SSH_LIB_DEPENDS=        libssh2.so:${PORTSDIR}/security/libssh2
118
119 IODBC_CONFIGURE_WITH=   iodbc
120 IODBC_LIB_DEPENDS=      libiodbc.so:${PORTSDIR}/databases/libiodbc
121
122 UNIXODBC_CONFIGURE_WITH=unixodbc
123 UNIXODBC_LIB_DEPENDS=   libodbc.so:${PORTSDIR}/databases/unixODBC
124 .endif # if ${ZABBIX_BUILD} != "agent"
125
126 IPV6_CONFIGURE_ENABLE=  ipv6
127
128 NMAP_RUN_DEPENDS=       nmap:${PORTSDIR}/security/nmap \
129                         sudo:${PORTSDIR}/security/sudo
130
131 JAVAGW_CONFIGURE_ENABLE=java
132 JAVAGW_USE=             JAVA=yes
133
134 LIBXML2_CONFIGURE_WITH= libxml2
135 LIBXML2_LIB_DEPENDS=    libxml2.so:${PORTSDIR}/textproc/libxml2
136
137 .include <bsd.port.options.mk>
138
139 post-patch:
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
144
145 .if ${ZABBIX_BUILD} != "agent"
146 .  for d in mysql oracle postgresql sqlite3
147         @${REINPLACE_CMD} \
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
152 .  endfor
153 .endif
154         @${REINPLACE_CMD} \
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' \) \
158                 -exec ${RM} -f {} +
159
160 post-install:
161
162 .if ${PORT_OPTIONS:MJAVAGW}
163         ${MV} ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh \
164                 ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh.sample
165 .endif
166
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/)
174 .endif
175 .endif
176
177 .include <bsd.port.mk>