Tweak net-mgmt/py-snmp4 version 4.2.5
[dports.git] / net-mgmt / icinga / Makefile
1 # Created by: Chin-San Huang <chinsan@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       icinga
5 PORTVERSION=    1.11.7
6 CATEGORIES=     net-mgmt
7 MASTER_SITES=   https://github.com/Icinga/${PORTNAME}-core/releases/download/v${PORTVERSION}/
8
9 MAINTAINER=     lme@FreeBSD.org
10 COMMENT=        Enterprise grade open source monitoring system based on Nagios
11
12 LICENSE=        GPLv2
13
14 LIB_DEPENDS=    libltdl.so:${PORTSDIR}/devel/libltdl \
15                 libgd.so:${PORTSDIR}/graphics/gd
16
17 USES=           iconv gmake
18 USE_AUTOTOOLS=  autoconf
19 USE_RC_SUBR=    icinga
20
21 GNU_CONFIGURE=  yes
22
23 ICINGAUSER?=    icinga
24 ICINGAGROUP?=   icinga
25 USERS=          ${ICINGAUSER}
26 GROUPS=         ${ICINGAGROUP}
27 ICINGADIR?=     /var/spool/icinga
28 ICINGALOGDIR?=  /var/log/icinga
29
30 ICINGAWWWDIR?=  www/icinga
31 ICINGAHTMURL?=  /icinga
32 ICINGACGIURL?=  ${ICINGAHTMURL}/cgi-bin
33
34 CPPFLAGS+=      -I${LOCALBASE}/include
35 LIBS+=          -L${LOCALBASE}/lib
36
37 CONFIGURE_ARGS= --with-command-user=${ICINGAUSER} \
38                 --with-command-group=${WWWGRP} \
39                 --with-icinga-user=${ICINGAUSER} \
40                 --with-icinga-group=${ICINGAGROUP} \
41                 --with-htmurl=${ICINGAHTMURL} \
42                 --with-cgiurl=${ICINGACGIURL} \
43                 --sbindir=${PREFIX}/${ICINGAWWWDIR}/cgi-bin \
44                 --datarootdir=${PREFIX}/${ICINGAWWWDIR} \
45                 --datadir=${PREFIX}/${ICINGAWWWDIR} \
46                 --sysconfdir=${PREFIX}/etc/icinga \
47                 --localstatedir=${ICINGADIR} \
48                 --with-checkresult-dir=${ICINGADIR}/checkresults \
49                 --libexecdir=${PREFIX}/libexec/icinga \
50                 --with-plugin-dir=${LOCALBASE}/libexec/nagios \
51                 --with-log-dir=${ICINGALOGDIR} \
52                 --with-httpd-conf=${EXAMPLESDIR}/apache22 \
53                 --enable-event-broker \
54                 --enable-nanosleep
55
56 CONFIGURE_ENV=  PERL=${PERL} \
57                 HOME=${WRKDIR} # prevent creation of .rnd file
58
59 INSTALL_TARGET= install install-config install-eventhandlers install-webconf
60
61 PLIST_SUB=      ICINGADIR=${ICINGADIR} \
62                 ICINGALOGDIR=${ICINGALOGDIR} \
63                 ICINGAWWWDIR=${ICINGAWWWDIR} \
64                 ICINGAUSER=${ICINGAUSER} \
65                 ICINGAGROUP=${ICINGAGROUP} \
66                 ICINGAHTMURL=${ICINGAHTMURL} \
67                 ICINGACGIURL=${ICINGACGIURL} \
68                 WWWGRP=${WWWGRP}
69
70 SUB_FILES=      pkg-message
71
72 # XXX: Don't remove PREFIX from SUB_LIST here.
73 SUB_LIST=       PREFIX=${PREFIX} \
74                 ${PLIST_SUB}
75
76 OPTIONS_DEFINE=         IDOUTILS
77 OPTIONS_RADIO=          PLUGINS
78 OPTIONS_RADIO_PLUGINS=  MONPLUGINS NAGPLUGINS
79 OPTIONS_DEFAULT=        IDOUTILS MONPLUGINS
80
81 IDOUTILS_DESC=          Enable Icinga Data Objects support
82
83 MONPLUGINS_RUN_DEPENDS= ${LOCALBASE}/libexec/nagios/check_nagios:${PORTSDIR}/net-mgmt/monitoring-plugins
84 NAGPLUGINS_RUN_DEPENDS= ${LOCALBASE}/libexec/nagios/check_nagios:${PORTSDIR}/net-mgmt/nagios-plugins
85
86 .include <bsd.port.options.mk>
87
88 .if ${PORT_OPTIONS:MIDOUTILS}
89 LIB_DEPENDS+=           libdbi.so:${PORTSDIR}/databases/libdbi
90 CONFIGURE_ARGS+=        --enable-idoutils \
91                         --enable-ssl \
92                         --with-dbi-lib=${LOCALBASE}/lib \
93                         --with-dbi-inc=${LOCALBASE}/include
94 INSTALL_TARGET+=        install-idoutils
95 USE_RC_SUBR+=           ido2db
96 PLIST_SUB+=             IDOUTILS=""
97 .else
98 PLIST_SUB+=             IDOUTILS="@comment "
99 CONFIGURE_ARGS+=        --disable-idoutils
100 .endif
101
102 post-patch:
103         @${REINPLACE_CMD} -e 's#/bin/ping#/sbin/ping#' \
104                 ${WRKSRC}/sample-config/cgi.cfg.in
105         @${REINPLACE_CMD} -e 's#Linux#${OPSYS}#' \
106                 ${WRKSRC}/sample-config/icinga.cfg.in
107         @${REINPLACE_CMD} -e 's#775#755#g; s#664#644#g' \
108                 ${WRKSRC}/html/Makefile.in
109 # Use correct make(1) syntax to unbreak parallel builds
110         @${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} ${REINPLACE_CMD} \
111                 -E 's#cd (.+) && (make|\$$\(MAKE\))#$$(MAKE) -C \1#'
112
113 pre-install:
114 .if ${PORT_OPTIONS:MIDOUTILS}
115         @${STRIP_CMD} ${WRKSRC}/module/idoutils/src/ido2db \
116                 ${WRKSRC}/module/idoutils/src/log2ido \
117                 ${WRKSRC}/module/idoutils/src/idomod.so
118 .endif
119
120 post-install:
121         ${MKDIR} ${STAGEDIR}${PREFIX}/${ICINGAWWWDIR}/ssi
122         ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/idoutils/
123         ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/idoutils/config/
124         ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/idoutils/db
125         cd ${WRKSRC}/module/idoutils/config && ${COPYTREE_SHARE} . \
126                 ${STAGEDIR}${EXAMPLESDIR}/idoutils/config
127         cd ${WRKSRC}/module/idoutils/db && ${COPYTREE_SHARE} . \
128                 ${STAGEDIR}${EXAMPLESDIR}/idoutils/db
129
130 .include <bsd.port.mk>