freebsd-ports/net-mgmt/icinga/Makefile
Alexey Dokuchaev b125c0a565 - Fix parallel builds and remove ugly MAKE_JOBS_UNSAFE knob
- Improve formatting, e.g. wrap overly long lines, fix whitespace
- NOPORTEXAMPLES -> PORT_OPTIONS:MEXAMPLES (port is already OptionsNG)
- Synchronize port description with official website
- Use more standard double (even) space padding in pkg-message.in

Approved by:	lme (maintainer)
2013-07-30 02:13:27 +00:00

168 lines
4.6 KiB
Makefile

# Created by: Chin-San Huang <chinsan@FreeBSD.org>
# $FreeBSD$
PORTNAME= icinga
PORTVERSION= 1.9.3
CATEGORIES= net-mgmt
MASTER_SITES= SF
MAINTAINER= lme@FreeBSD.org
COMMENT= Enterprise grade open source monitoring system based on Nagios
LICENSE= GPLv2
LIB_DEPENDS= gd:${PORTSDIR}/graphics/gd
RUN_DEPENDS= ${LOCALBASE}/libexec/nagios/check_nagios:${PORTSDIR}/net-mgmt/nagios-plugins
USES= iconv
USE_PERL5_BUILD= yes
USE_AUTOTOOLS= autoconf libltdl
USE_RC_SUBR= icinga
GNU_CONFIGURE= yes
ICINGAUSER?= icinga
ICINGAGROUP?= icinga
ICINGADIR?= /var/spool/icinga
ICINGALOGDIR?= /var/log/icinga
ICINGAUID= 183
ICINGAGID= ${ICINGAUID}
ICINGAWWWDIR?= www/icinga
ICINGAHTMURL?= /icinga
ICINGACGIURL?= ${ICINGAHTMURL}/cgi-bin
CPPFLAGS+= -I${LOCALBASE}/include -fPIC
CFLAGS+= ${CPPFLAGS}
CONFIGURE_ARGS= --with-command-user=${ICINGAUSER} \
--with-command-group=${WWWGRP} \
--with-icinga-user=${ICINGAUSER} \
--with-icinga-group=${ICINGAGROUP} \
--with-htmurl=${ICINGAHTMURL} \
--with-cgiurl=${ICINGACGIURL} \
--sbindir=${PREFIX}/${ICINGAWWWDIR}/cgi-bin \
--datarootdir=${PREFIX}/${ICINGAWWWDIR} \
--datadir=${PREFIX}/${ICINGAWWWDIR} \
--sysconfdir=${PREFIX}/etc/icinga \
--localstatedir=${ICINGADIR} \
--with-checkresult-dir=${ICINGADIR}/checkresults \
--libexecdir=${PREFIX}/libexec/icinga \
--with-plugin-dir=${LOCALBASE}/libexec/nagios \
--with-log-dir=${ICINGALOGDIR} \
--enable-event-broker
CONFIGURE_ENV= LIBS="-L${LOCALBASE}/lib" \
PERL=${PERL}
INSTALL_TARGET= install install-commandmode install-config \
install-eventhandlers
PLIST_SUB= ICINGADIR=${ICINGADIR} \
ICINGALOGDIR=${ICINGALOGDIR} \
ICINGAWWWDIR=${ICINGAWWWDIR} \
ICINGAUSER=${ICINGAUSER} \
ICINGAGROUP=${ICINGAGROUP} \
ICINGAUID=${ICINGAUID} \
ICINGAGID=${ICINGAGID} \
ICINGAHTMURL=${ICINGAHTMURL} \
ICINGACGIURL=${ICINGACGIURL} \
WWWGRP=${WWWGRP}
SUB_FILES= pkg-install \
pkg-deinstall \
pkg-message
# XXX: Don't remove PREFIX from SUB_LIST here.
SUB_LIST= PREFIX=${PREFIX} \
${PLIST_SUB}
OPTIONS_DEFINE= EMBEDDED_PERL NANOSLEEP UNHANDLED_HACK IDOUTILS APACHE EXAMPLES
OPTIONS_DEFAULT= EMBEDDED_PERL IDOUTILS
EMBEDDED_PERL_DESC= Enable embedded Perl
NANOSLEEP_DESC= Use nanosleep(2) in event timing
UNHANDLED_HACK_DESC= Display passive checks in unhandled queries
IDOUTILS_DESC= Enable Icinga Data Objects support
APACHE_DESC= Depend on Apache and install webconfig
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MEMBEDDED_PERL}
USE_PERL5= yes
CONFIGURE_ARGS+= --enable-embedded-perl \
--with-perlcache
PLIST_SUB+= EMBEDDED_PERL=""
.else
PLIST_SUB+= EMBEDDED_PERL="@comment "
.endif
.if ${PORT_OPTIONS:MNANOSLEEP}
CONFIGURE_ARGS+= --enable-nanosleep
.endif
.if ${PORT_OPTIONS:MIDOUTILS}
LIB_DEPENDS+= dbi:${PORTSDIR}/databases/libdbi-drivers
CONFIGURE_ARGS+= --enable-idoutils \
--enable-ssl \
--with-dbi-lib=${LOCALBASE}/lib \
--with-dbi-inc=${LOCALBASE}/include
INSTALL_TARGET+= install-idoutils
USE_RC_SUBR+= ido2db
PLIST_SUB+= IDOUTILS=""
.else
PLIST_SUB+= IDOUTILS="@comment "
CONFIGURE_ARGS+= --disable-idoutils
.endif
.if ${PORT_OPTIONS:MAPACHE}
USE_APACHE_RUN= 22+
CONFIGURE_ARGS+= --with-httpd-conf=${LOCALBASE}/${APACHEETCDIR}/extra
INSTALL_TARGET+= install-webconf
PLIST_SUB+= APACHE=""
.else
PLIST_SUB+= APACHE="@comment "
.endif
post-patch:
@${REINPLACE_CMD} -e 's#/bin/ping#/sbin/ping#' \
${WRKSRC}/sample-config/cgi.cfg.in
@${REINPLACE_CMD} -e 's#Linux#${OPSYS}#' \
${WRKSRC}/sample-config/icinga.cfg.in
@${REINPLACE_CMD} -e 's#775#755#g; s#664#644#g' \
${WRKSRC}/html/Makefile.in
.if ${PORT_OPTIONS:MUNHANDLED_HACK}
@${REINPLACE_CMD} -e 's#;serviceprops=42\&#;serviceprops=10\&#g' \
-e 's#;hostprops=42\"#;hostprops=10\"#g' \
${WRKSRC}/html/menu.html.in
.endif
# Use correct make(1) syntax to unbreak parallel builds
@${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} ${REINPLACE_CMD} \
-E 's#cd (.+) && (make|\$$\(MAKE\))#$$(MAKE) -C \1#'
pre-su-install:
@${SH} ${PKGINSTALL} ${DISTNAME} PRE-INSTALL
post-install:
.if ${PORT_OPTIONS:MEXAMPLES}
${MKDIR} ${EXAMPLESDIR}/idoutils/
${MKDIR} ${EXAMPLESDIR}/idoutils/config/
${MKDIR} ${EXAMPLESDIR}/idoutils/db
cd ${WRKSRC}/module/idoutils/config && ${COPYTREE_SHARE} . \
${EXAMPLESDIR}/idoutils/config
cd ${WRKSRC}/module/idoutils/db && ${COPYTREE_SHARE} . \
${EXAMPLESDIR}/idoutils/db
.endif
@${CHMOD} 775 ${ICINGADIR} ${ICINGALOGDIR}/archives \
${ICINGADIR}/checkresults ${ICINGADIR}/rw
@${CHMOD} g+s ${ICINGADIR}/rw
@${CHOWN} ${ICINGAUSER}:${ICINGAGROUP} ${ICINGADIR} \
${ICINGALOGDIR}/archives ${ICINGADIR}/checkresults
@${CHOWN} ${ICINGAUSER}:${WWWGRP} ${ICINGADIR}/rw
@${ECHO_MSG}
@${CAT} ${PKGMESSAGE}
@${ECHO_MSG}
.include <bsd.port.mk>