From owner-svn-ports-all@FreeBSD.ORG Sat Jun 20 08:10:03 2015 Return-Path: Delivered-To: svn-ports-all@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 36003F61; Sat, 20 Jun 2015 08:10:03 +0000 (UTC) (envelope-from bofh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2311896A; Sat, 20 Jun 2015 08:10:03 +0000 (UTC) (envelope-from bofh@FreeBSD.org) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t5K8A3Q7085020; Sat, 20 Jun 2015 08:10:03 GMT (envelope-from bofh@FreeBSD.org) Received: (from bofh@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t5K8A05o084994; Sat, 20 Jun 2015 08:10:00 GMT (envelope-from bofh@FreeBSD.org) Message-Id: <201506200810.t5K8A05o084994@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bofh set sender to bofh@FreeBSD.org using -f From: Muhammad Moinur Rahman Date: Sat, 20 Jun 2015 08:10:00 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r390151 - in head/net-mgmt: . librenms librenms/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jun 2015 08:10:03 -0000 Author: bofh Date: Sat Jun 20 08:10:00 2015 New Revision: 390151 URL: https://svnweb.freebsd.org/changeset/ports/390151 Log: [NEW] net-mgmt/librenms: Autodiscovering PHP/MySQL/SNMP based network monitoring LibreNMS is an autodiscovering PHP/MySQL/SNMP based network monitoring which includes support for a wide range of network hardware and operating systems including Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP and many more. LibreNMS has grown out of a lack of easy to configure network monitoring platforms. It is intended to provide a more navigable interface to the health and performance of your network. Its design goals include collecting as much historical data about devices as possible, being completely autodiscovered with little or no manual intervention, and having a very intuitive interface. WWW: http://www.librenms.org Added: head/net-mgmt/librenms/ head/net-mgmt/librenms/Makefile (contents, props changed) head/net-mgmt/librenms/distinfo (contents, props changed) head/net-mgmt/librenms/files/ head/net-mgmt/librenms/files/patch-config.php.default (contents, props changed) head/net-mgmt/librenms/files/patch-includes_defaults.inc.php (contents, props changed) head/net-mgmt/librenms/files/patch-poller-wrapper.py (contents, props changed) head/net-mgmt/librenms/files/patch-poller.php (contents, props changed) head/net-mgmt/librenms/files/pkg-message.in (contents, props changed) head/net-mgmt/librenms/pkg-descr (contents, props changed) Modified: head/net-mgmt/Makefile Modified: head/net-mgmt/Makefile ============================================================================== --- head/net-mgmt/Makefile Sat Jun 20 08:04:26 2015 (r390150) +++ head/net-mgmt/Makefile Sat Jun 20 08:10:00 2015 (r390151) @@ -93,6 +93,7 @@ SUBDIR += kismet SUBDIR += lanmap SUBDIR += lg + SUBDIR += librenms SUBDIR += libsmi SUBDIR += lldpd SUBDIR += mbrowse Added: head/net-mgmt/librenms/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/librenms/Makefile Sat Jun 20 08:10:00 2015 (r390151) @@ -0,0 +1,144 @@ +# Created by: Muhammad Moinur Rahman +# $FreeBSD$ + +PORTNAME= librenms +PORTVERSION= 201506 +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:${PORTSDIR}/databases/rrdtool \ + dot:${PORTSDIR}/graphics/graphviz \ + Magick-config:${PORTSDIR}/graphics/ImageMagick \ + mtr:${PORTSDIR}/net/mtr-nox11 \ + ${LOCALBASE}/share/pear/Net/IPv4.php:${PORTSDIR}/net/pear-Net_IPv4 \ + ${LOCALBASE}/share/pear/Net/IPv6.php:${PORTSDIR}/net/pear-Net_IPv6 \ + snmpget:${PORTSDIR}/net-mgmt/net-snmp \ + bash:${PORTSDIR}/shells/bash + +OPTIONS_DEFINE= APACHEMOD FPING IPMITOOL LIBVIRT MYSQLD NAGPLUGINS NMAP PYPOLLER WMIC +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:${PORTSDIR}/net/fping +IPMITOOL_RUN_DEPENDS= ipmitool:${PORTSDIR}/sysutils/ipmitool +LIBVIRT_RUN_DEPENDS= virsh:${PORTSDIR}/devel/libvirt +NAGPLUGINS_RUN_DEPENDS= ${LOCALBASE}/libexec/nagios/check_nagios:${PORTSDIR}/net-mgmt/nagios-plugins +NMAP_RUN_DEPENDS= nmap:${PORTSDIR}/security/nmap +PYPOLLER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MySQLdb>0:${PORTSDIR}/databases/py-MySQLdb +WMIC_RUN_DEPENDS= wmic:${PORTSDIR}/net-mgmt/wmi-client +MYSQLD_USE= MYSQL=server +MYSQLD_USE_OFF= MYSQL=client + +.include + +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 callback.php check-errors.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-wrapper.py renamehost.php \ + snmptrap.php syslog.php validate.php + +ROOT_DIRS= contrib html includes lib mibs scripts sql-schema \ + upgrade-scripts + +DOCS= AUTHORS.md CHANGELOG CONTRIBUTING.md LICENSE.txt README.md +PORTDOCS= * +PORTEXAMPLES= snmp.conf.example snmpd.conf.example +NO_ARCH= yes + +.if ${PORT_OPTIONS:MAPACHEMOD} && !defined(PACKAGE_BUILDING) +WANT_PHP_MOD= yes +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 {} \; +# Rename for @sample + +.if ${PORT_OPTIONS:MDOCS} + @${MKDIR} ${STAGEDIR}/${DOCSDIR} +.for f in ${DOCS} + ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}/${DOCSDIR} +.endfor + @cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}/${DOCSDIR} +.endif +.if ${PORT_OPTIONS:MEXAMPLES} + @${MKDIR} ${STAGEDIR}/${EXAMPLESDIR} +.for f in ${PORTEXAMPLES} + ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}/${EXAMPLESDIR} +.endfor +.endif + +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_CMD} "@group" >> ${TMPPLIST} + @${ECHO_CMD} "@owner" >> ${TMPPLIST} + +.include Added: head/net-mgmt/librenms/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/librenms/distinfo Sat Jun 20 08:10:00 2015 (r390151) @@ -0,0 +1,2 @@ +SHA256 (librenms-librenms-201506_GH0.tar.gz) = 7618b02292847d1a308cd6bd0649eb386e87d2fbac1e0991914cea6383a540df +SIZE (librenms-librenms-201506_GH0.tar.gz) = 23898595 Added: head/net-mgmt/librenms/files/patch-config.php.default ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/librenms/files/patch-config.php.default Sat Jun 20 08:10:00 2015 (r390151) @@ -0,0 +1,11 @@ +--- config.php.default.orig 2015-06-15 14:48:46 UTC ++++ config.php.default +@@ -14,7 +14,7 @@ $config['memcached']['host'] = "local + $config['memcached']['port'] = 11211; + + ### Locations - it is recommended to keep the default +-#$config['install_dir'] = "/opt/librenms"; ++$config['install_dir'] = "/usr/local/www/librenms"; + + ### This should *only* be set if you want to *force* a particular hostname/port + ### It will prevent the web interface being usable form any other hostname Added: head/net-mgmt/librenms/files/patch-includes_defaults.inc.php ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/librenms/files/patch-includes_defaults.inc.php Sat Jun 20 08:10:00 2015 (r390151) @@ -0,0 +1,55 @@ +--- includes/defaults.inc.php.orig 2015-06-15 11:23:55 UTC ++++ includes/defaults.inc.php +@@ -31,7 +31,7 @@ $config['project_name'] = "LibreNMS" + $config['project_id'] = strtolower($config['project_name']); + + $config['temp_dir'] = "/tmp"; +-$config['install_dir'] = "/opt/" . $config['project_id']; ++$config['install_dir'] = "/usr/local/www/" . $config['project_id']; + $config['log_dir'] = $config['install_dir'] . "/logs"; + + // What is my own hostname (used to identify this host in its own database) +@@ -39,26 +39,26 @@ $config['own_hostname'] = "localhost"; + + // Location of executables + +-$config['rrdtool'] = "/usr/bin/rrdtool"; +-$config['fping'] = "/usr/bin/fping"; ++$config['rrdtool'] = "/usr/local/bin/rrdtool"; ++$config['fping'] = "/usr/local/sbin/fping"; + $config['fping_options']['retries'] = 3; + $config['fping_options']['timeout'] = 500; +-$config['fping6'] = "/usr/bin/fping6"; +-$config['snmpwalk'] = "/usr/bin/snmpwalk"; +-$config['snmpget'] = "/usr/bin/snmpget"; +-$config['snmpbulkwalk'] = "/usr/bin/snmpbulkwalk"; ++$config['fping6'] = "/usr/local/sbin/fping6"; ++$config['snmpwalk'] = "/usr/local/bin/snmpwalk"; ++$config['snmpget'] = "/usr/local/bin/snmpget"; ++$config['snmpbulkwalk'] = "/usr/local/bin/snmpbulkwalk"; + $config['whois'] = "/usr/bin/whois"; +-$config['ping'] = "/bin/ping"; +-$config['mtr'] = "/usr/bin/mtr"; +-$config['nmap'] = "/usr/bin/nmap"; +-$config['nagios_plugins'] = "/usr/lib/nagios/plugins"; +-$config['ipmitool'] = "/usr/bin/ipmitool"; +-$config['virsh'] = "/usr/bin/virsh"; +-$config['dot'] = "/usr/bin/dot"; +-$config['unflatten'] = "/usr/bin/unflatten"; +-$config['neato'] = "/usr/bin/neato"; +-$config['sfdp'] = "/usr/bin/sfdp"; +-$config['svn'] = "/usr/bin/svn"; ++$config['ping'] = "/sbin/ping"; ++$config['mtr'] = "/usr/local/bin/mtr"; ++$config['nmap'] = "/usr/local/bin/nmap"; ++$config['nagios_plugins'] = "/usr/local/libexec/nagios"; ++$config['ipmitool'] = "/usr/local/bin/ipmitool"; ++$config['virsh'] = "/usr/local/bin/virsh"; ++$config['dot'] = "/usr/local/bin/dot"; ++$config['unflatten'] = "/usr/local/bin/unflatten"; ++$config['neato'] = "/usr/local/bin/neato"; ++$config['sfdp'] = "/usr/local/bin/sfdp"; ++$config['svn'] = "/usr/bin/svnlite"; + + // Memcached - Keep immediate statistics + Added: head/net-mgmt/librenms/files/patch-poller-wrapper.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/librenms/files/patch-poller-wrapper.py Sat Jun 20 08:10:00 2015 (r390151) @@ -0,0 +1,17 @@ +--- poller-wrapper.py.orig 2014-11-04 16:14:27 UTC ++++ poller-wrapper.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! %%LOCALBASE%%/bin/python + """ + poller-wrapper A small tool which wraps around the Observium poller + and tries to guide the polling process with a more modern +@@ -38,6 +38,8 @@ except: + print "threading, Queue, sys, subprocess, time, os, json" + sys.exit(2) + ++os.environ['PATH'] += ':%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin' ++ + try: + import MySQLdb + except: Added: head/net-mgmt/librenms/files/patch-poller.php ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/librenms/files/patch-poller.php Sat Jun 20 08:10:00 2015 (r390151) @@ -0,0 +1,8 @@ +--- poller.php.orig 2015-05-27 15:48:33 UTC ++++ poller.php +@@ -1,4 +1,4 @@ +-#!/usr/bin/env php ++#!%%LOCALBASE%%/bin/php + > /dev/null 2>&1 +*/5 * * * * www cd %%WWWDIR%% && %%PHP%% discovery.php -h new >> /dev/null 2>&1 +*/5 * * * * www cd %%WWWDIR%% && %%PYTHON%% poller-wrapper.py 16 >> /dev/null 2>&1 +15 0 * * * www sh %%WWWDIR%%/daily.sh >> /dev/null 2>&1 +* * * * * www %%PHP%% %%WWWDIR%%/alerts.php >> /dev/null 2>&1 Added: head/net-mgmt/librenms/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/librenms/pkg-descr Sat Jun 20 08:10:00 2015 (r390151) @@ -0,0 +1,13 @@ +LibreNMS is an autodiscovering PHP/MySQL/SNMP based network monitoring +which includes support for a wide range of network hardware and +operating systems including Cisco, Linux, FreeBSD, Juniper, Brocade, +Foundry, HP and many more. + +LibreNMS has grown out of a lack of easy to configure network +monitoring platforms. It is intended to provide a more navigable +interface to the health and performance of your network. Its design +goals include collecting as much historical data about devices as +possible, being completely autodiscovered with little or no manual +intervention, and having a very intuitive interface. + +WWW: http://www.librenms.org