aboutsummaryrefslogtreecommitdiffstats
path: root/net-mgmt/zabbix/Makefile
blob: 88a0ecaea3e56fd42d3eda9f7474e84dea9d46cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Ports collection makefile for:    zabbix
# Date created:     Jun 18 2003
# Whom:         Sergey Akifyev <asa@gascom.ru>
#
# $FreeBSD$
#

PORTNAME=   zabbix
PORTVERSION=    1.6.5
PORTEPOCH=  1
CATEGORIES= net-mgmt
MASTER_SITES=   SF

MAINTAINER= ports@christianserving.org
COMMENT=    Application and network monitoring solution

LIB_DEPENDS=    netsnmp.16:${PORTSDIR}/net-mgmt/net-snmp \
        iksemel.4:${PORTSDIR}/textproc/iksemel \
        curl.5:${PORTSDIR}/ftp/curl

OPTIONS=    MYSQL "Use MySQL backend" on \
        PGSQL "Use PostgreSQL backend" off \
        SQLITE "Use SQLite backend" off \
        LDAP "Support for checking LDAP servers" on \
        IPV6 "Support for IPv6" on \
        FPING "Use fping for pinging hosts" on \
        JABBER "Use jabber media type" on

USE_GMAKE=  yes
USE_PHP=    gd snmp sockets pcre bcmath
USE_RC_SUBR=    zabbix_server.sh
GNU_CONFIGURE=  yes
CONFIGURE_ARGS= --disable-agent --enable-server \
        --with-net-snmp=${LOCALBASE}/bin/net-snmp-config \
        --with-curl=${LOCALBASE}/bin/curl-config
MAKE_ARGS=  ARCH=freebsd
SUB_FILES=  pkg-message

.include <bsd.port.pre.mk>

.ifndef WITHOUT_JABBER
USE_JABBER= yes
CONFIGURE_ARGS+=--with-jabber=${LOCALBASE}
.endif

.ifndef WITHOUT_LDAP
USE_OPENLDAP=   yes
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
LIB_DEPENDS+=   gnutls.26:${PORTSDIR}/security/gnutls \
        sasl2.2:${PORTSDIR}/security/cyrus-sasl2
.endif

.ifdef WITH_IPV6
CONFIGURE_ARGS+=--enable-ipv6
.endif

.ifndef WITHOUT_FPING
RUN_DEPENDS+=   fping:${PORTSDIR}/net/fping
.endif

.ifndef WITHOUT_MYSQL
USE_MYSQL=  yes
USE_PHP+=   mysql
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}/bin/mysql_config
.elifdef WITH_PGSQL
USE_PGSQL=  yes
USE_PHP+=   pgsql
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}/bin/pg_config
.elifdef WITH_SQLITE
USE_SQLITE= yes
USE_PHP+=   sqlite
CONFIGURE_ARGS+=--with-sqlite3=${LOCALBASE}
.else
IGNORE= zabbix needs a database backend
.endif

post-patch:
    @${FIND} ${WRKSRC}/src/ -type f|${XARGS} \
        ${REINPLACE_CMD} -e 's|/etc/zabbix|${ETCDIR}|;s|/usr/sbin|${LOCALBASE}/sbin|'
    @${REINPLACE_CMD} -e '/test.*rf/s|-rf|-f|;/LDFLAGS/s|-static||;\
        /LIBS="-lnetsnmp/s|="|="-lcrypto |;s|-lsqlite3|-lsqlite3 ${PTHREAD_LIBS}|'\
            ${WRKSRC}/configure
    @cd ${WRKSRC} && ${FIND} . -name '*.orig' -exec ${RM} {} \;

.ifdef WITHOUT_FPING
    @${ECHO} 'DisablePinger=yes' >> ${WRKSRC}/misc/conf/zabbix_server.conf
.endif

.if ${ARCH} == "amd64"
post-configure:
    ${ECHO_CMD} "#define HAVE_VA_COPY 1" >> ${WRKSRC}/include/config.h
.endif

do-install:
    @${INSTALL_PROGRAM} ${WRKSRC}/src/zabbix_server/zabbix_server ${PREFIX}/bin/
    @${INSTALL} -d ${ETCDIR}/
    @${INSTALL_DATA} ${WRKSRC}/misc/conf/zabbix_server.conf\
        ${ETCDIR}/zabbix_server.conf.sample
    @cd ${WRKSRC}/frontends/&&${COPYTREE_SHARE} . ${DATADIR}/
    @cd ${WRKSRC}/upgrades/&&${COPYTREE_SHARE} dbpatches ${DATADIR}/
    @cd ${WRKSRC}/create/&&${COPYTREE_SHARE} "data schema" ${DATADIR}/create/
    @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>