1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-14 03:10:47 +00:00
freebsd-ports/net-mgmt/librenms/Makefile
2016-07-27 20:42:46 +00:00

146 lines
5.3 KiB
Makefile

# Created by: Muhammad Moinur Rahman<bofh@FreeBSD.org>
# $FreeBSD$
PORTNAME= librenms
PORTVERSION= 201607
CATEGORIES= net-mgmt
MASTER_SITES= http://www.librenms.org/
MAINTAINER= bofh@FreeBSD.org
COMMENT= Autodiscovering PHP/MySQL/SNMP based network monitoring
LICENSE= GPLv3
USE_GITHUB= yes
GH_ACCOUNT= librenms
USES= python shebangfix
SHEBANG_FILES= html/js/makemini.pl mibs/process.pl scripts/agent-local/bind \
scripts/agent-local/dmi scripts/agent-local/dpkg \
scripts/agent-local/drbd scripts/agent-local/hddtemp \
scripts/agent-local/memcached scripts/agent-local/mysql \
scripts/agent-local/rpm scripts/agent-local/temperature \
scripts/agent-local/tinydns scripts/apache-stats.py \
scripts/check_mk_agent scripts/cron.sh scripts/cron-hourly.sh \
scripts/cron-minute.sh scripts/get-geshi.sh \
scripts/get-jpgraph.sh scripts/ifAlias \
scripts/Migration/Standard_Conversion/convert_no_xml.sh \
scripts/Migration/Standard_Conversion/destwork_no_xml.sh \
scripts/Migration/Standard_Conversion/mkdir.sh \
scripts/Migration/XML_Conversion/convert.sh \
scripts/Migration/XML_Conversion/destwork.sh \
scripts/Migration/XML_Conversion/mkdir.sh validate.php \
scripts/postfix-queues scripts/removespikes.php \
scripts/removespikes.pl scripts/watchmaillog/watchmaillog.pl
USE_PHP= ctype filter gd json mcrypt mysql session snmp tokenizer xml
WANT_PHP_CLI= yes
NO_BUILD= yes
RUN_DEPENDS+= rrdtool:databases/rrdtool \
dot:graphics/graphviz \
${LOCALBASE}/share/pear/Net/IPv4.php:net/pear-Net_IPv4 \
${LOCALBASE}/share/pear/Net/IPv6.php:net/pear-Net_IPv6 \
snmpget:net-mgmt/net-snmp \
bash:shells/bash
OPTIONS_DEFINE= APACHEMOD FPING IPMITOOL LIBVIRT MYSQLD NAGPLUGINS NMAP PYPOLLER WMIC DOCS EXAMPLES X11
OPTIONS_DEFAULT= APACHEMOD FPING IPMITOOL LIBVIRT NAGPLUGINS NMAP PYPOLLER WMIC
APACHEMOD_DESC= Use PHP with Apache 2.2+ module
FPING_DESC= Enable fping support ping monitoring
IPMITOOL_DESC= Enable support for monitoring hardware IPMI
MYSQLD_DESC= Use local MySQL server
WMIC_DESC= Enable support for WMI polling
PYPOLLER_DESC= Enable Python Poller Wrapper
FPING_RUN_DEPENDS= fping:net/fping
IPMITOOL_RUN_DEPENDS= ipmitool:sysutils/ipmitool
LIBVIRT_RUN_DEPENDS= virsh:devel/libvirt
NAGPLUGINS_RUN_DEPENDS= ${LOCALBASE}/libexec/nagios/check_nagios:net-mgmt/nagios-plugins
NMAP_RUN_DEPENDS= nmap:security/nmap
PYPOLLER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MySQLdb>0:databases/py-MySQLdb
X11_RUN_DEPENDS= Magick-config:graphics/ImageMagick \
mtr:net/mtr
X11_RUN_DEPENDS_OFF= Magick-config:graphics/ImageMagick-nox11 \
mtr:net/mtr-nox11
WMIC_RUN_DEPENDS= wmic:net-mgmt/wmi-client
MYSQLD_USE= MYSQL=server
MYSQLD_USE_OFF= MYSQL=client
SUB_FILES+= pkg-message
SUB_LIST+= PHP="${PHPBASE}/bin/php" PYTHON=${PYTHON_CMD}
ROOT_FILES= addhost.php adduser.php alerts.php build-base.php build.sql \
billing-calculate.php \
check-services.php config_to_json.php daily.php daily.sh \
delhost.php discovery.php dist-pollers.php irc.php \
poll-billing.php poller.php poller-service.py poller-wrapper.py renamehost.php \
snmp-scan.php snmptrap.php syslog.php validate.php
ROOT_DIRS= contrib html includes lib mibs scripts sql-schema
DOCS= AUTHORS.md CHANGELOG CONTRIBUTING.md LICENSE.txt README.md
PORTDOCS= *
PORTEXAMPLES= snmp.conf.example snmpd.conf.example
NO_ARCH= yes
.if !defined(PACKAGE_BUILDING)
APACHEMOD_VARS_ON= WANT_PHP_MOD=yes
APACHEMOD_USE= APACHE_RUN=22+
.else
# Package builder doesn't create php5 with module
WANT_PHP_WEB= yes
.endif
post-patch:
${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/poller-wrapper.py ${WRKSRC}/poller.php
do-install:
@${MKDIR} ${STAGEDIR}/${WWWDIR}
.for dir in ${ROOT_DIRS}
@${MKDIR} ${STAGEDIR}/${WWWDIR}/${dir}
@cd ${WRKSRC}/${dir} && ${COPYTREE_SHARE} . ${STAGEDIR}/${WWWDIR}/${dir}
.endfor
.for f in ${ROOT_FILES}
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}/${WWWDIR}
.endfor
# Create empty rrd dir writable by www
@${MKDIR} ${STAGEDIR}/${WWWDIR}/rrd
# Files in scripts dir should be executable
@${FIND} ${STAGEDIR}/${WWWDIR}/scripts -type f -exec ${CHMOD} +x {} \;
# Ensure PHP and Python scripts are executable
@${FIND} ${STAGEDIR}/${WWWDIR} -type f -name '*.py' -or -type f -name \
'*.php' -exec ${CHMOD} +x {} \;
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}/${DOCSDIR}
.for f in ${DOCS}
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}/${DOCSDIR}
.endfor
@cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}/${DOCSDIR}
do-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}/${EXAMPLESDIR}
.for f in ${PORTEXAMPLES}
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}/${EXAMPLESDIR}
.endfor
post-install:
@${ECHO_CMD} "@owner ${WWWOWN}" >> ${TMPPLIST}
@${ECHO_CMD} "@group ${WWWGRP}" >> ${TMPPLIST}
@${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
${INSTALL_DATA} ${WRKSRC}/config.php.default \
${STAGEDIR}/${WWWDIR}/config.php.sample
@${ECHO} @sample ${WWWDIR}/config.php.sample >> ${TMPPLIST}
@${ECHO} @dir ${WWWDIR}/rrd >> ${TMPPLIST}
@${ECHO} @dir ${WWWDIR}/lib/influxdb-php/vendor/guzzlehttp/guzzle/build >> ${TMPPLIST}
@${ECHO} @dir ${WWWDIR}/lib/influxdb-php/vendor/guzzlehttp/guzzle/docs >> ${TMPPLIST}
@${ECHO} @dir ${WWWDIR}/lib/influxdb-php/vendor/guzzlehttp/guzzle/tests >> ${TMPPLIST}
@${ECHO_CMD} "@group" >> ${TMPPLIST}
@${ECHO_CMD} "@owner" >> ${TMPPLIST}
.include <bsd.port.mk>