Index: head/net-mgmt/librenms/Makefile =================================================================== --- head/net-mgmt/librenms/Makefile (revision 442761) +++ head/net-mgmt/librenms/Makefile (revision 442762) @@ -1,163 +1,161 @@ # Created by: Muhammad Moinur Rahman # $FreeBSD$ PORTNAME= librenms -PORTVERSION= 1.26 +PORTVERSION= 1.28 PORTEPOCH= 1 CATEGORIES= net-mgmt MAINTAINER= bofh@FreeBSD.org COMMENT= Autodiscovering PHP/MySQL/SNMP based network monitoring LICENSE= GPLv3 USE_GITHUB= yes GH_ACCOUNT= librenms USES= php:cli python shebangfix -SHEBANG_FILES= mibs/process.pl scripts/deploy-docs.sh \ +SHEBANG_FILES= mibs/process.pl scripts/auth_test.php scripts/deploy-docs.sh \ + scripts/deploy-schema.sh scripts/github-remove \ 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 \ scripts/removespikes.php scripts/agent-local/nfs-stats.sh \ scripts/removespikes.pl scripts/watchmaillog/watchmaillog.pl \ vendor/ezyang/htmlpurifier/maintenance/add-vimline.php \ vendor/ezyang/htmlpurifier/maintenance/config-scanner.php \ vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php \ vendor/ezyang/htmlpurifier/maintenance/flush.php \ vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php \ vendor/ezyang/htmlpurifier/maintenance/generate-includes.php \ vendor/ezyang/htmlpurifier/maintenance/generate-schema-cache.php \ vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php \ vendor/ezyang/htmlpurifier/maintenance/merge-library.php \ vendor/ezyang/htmlpurifier/maintenance/old-extract-schema.php \ vendor/ezyang/htmlpurifier/maintenance/old-remove-require-once.php \ vendor/ezyang/htmlpurifier/maintenance/old-remove-schema-def.php \ vendor/ezyang/htmlpurifier/maintenance/rename-config.php \ vendor/ezyang/htmlpurifier/maintenance/remove-trailing-whitespace.php \ vendor/ezyang/htmlpurifier/maintenance/update-config.php \ vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php -USE_PHP= ctype curl filter gd hash json mcrypt mysqli openssl session simplexml snmp tokenizer xml +USE_PHP= ctype curl filter gd hash json ldap mcrypt mysqli openssl session simplexml snmp tokenizer xml 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 \ sudo:security/sudo 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>=1.2.3: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_USES= mysql:server MYSQLD_USES_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 composer.json config_to_json.php cronic daily.php daily.sh \ delhost.php discovery-wrapper.py discovery.php dist-pollers.php irc.php \ mkdocs.yml pbin.sh phpunit.xml poll-billing.php poller.php poller-service.py \ poller-wrapper.py readmegen.yml renamehost.php services-wrapper.py \ snmp-scan.php snmptrap.php syslog.php validate.php ROOT_DIRS= LibreNMS contrib doc html includes lib mibs misc scripts sql-schema tests vendor 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 USES+= php:web .endif post-patch: ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/poller-wrapper.py ${WRKSRC}/poller.php ${REINPLACE_CMD} 's|%%PORTVERSION%%|${PORTVERSION}|g' \ ${WRKSRC}/includes/common.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 @${CHMOD} 0775 ${STAGEDIR}/${WWWDIR}/rrd # Create empty logs dir @${MKDIR} ${STAGEDIR}/${WWWDIR}/logs # Make daily.sh executable @${CHMOD} 0755 ${STAGEDIR}/${WWWDIR}/daily.sh # 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} + @${FIND} -s ${STAGEDIR}${WWWDIR} -type d | \ + ${SED} -e 's#^${STAGEDIR}#@dir #' >> ${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}/logs >> ${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 Index: head/net-mgmt/librenms/distinfo =================================================================== --- head/net-mgmt/librenms/distinfo (revision 442761) +++ head/net-mgmt/librenms/distinfo (revision 442762) @@ -1,3 +1,3 @@ -TIMESTAMP = 1491554959 -SHA256 (librenms-librenms-1.26_GH0.tar.gz) = cc76a343296c48a6a2423efc9138e2a52d2827178ba733c0714dc6ef38d264e8 -SIZE (librenms-librenms-1.26_GH0.tar.gz) = 57165188 +TIMESTAMP = 1496573562 +SHA256 (librenms-librenms-1.28_GH0.tar.gz) = ef77dbbbd90c67f2620f1eb2ff57d07903faca9e2a54b20e5fbe9cc247fe4a91 +SIZE (librenms-librenms-1.28_GH0.tar.gz) = 57805277 Index: head/net-mgmt/librenms/files/patch-daily.sh =================================================================== --- head/net-mgmt/librenms/files/patch-daily.sh (revision 442761) +++ head/net-mgmt/librenms/files/patch-daily.sh (revision 442762) @@ -1,47 +1,38 @@ --- daily.sh.orig 2017-03-26 12:06:00 UTC +++ daily.sh -@@ -113,7 +113,7 @@ main () { - # only try to su if we are root (or sudo) - if [[ "$EUID" -eq 0 ]]; then - echo "Re-running ${DAILY_SCRIPT} as ${LIBRENMS_USER} user" -- su -l "$LIBRENMS_USER" -c "$DAILY_SCRIPT $@" -+ sudo -u "$LIBRENMS_USER" "$DAILY_SCRIPT" - exit; - fi - @@ -123,27 +123,6 @@ main () { fi if [[ -z "$arg" ]]; then - up=$(php daily.php -f update >&2; echo $?) - if [[ "$up" == "0" ]]; then - $DAILY_SCRIPT no-code-update - exit - elif [[ "$up" == "1" ]]; then - # Update to Master-Branch - old_ver=$(git show --pretty="%H" -s HEAD) - status_run 'Updating to latest codebase' 'git pull --quiet' 'update' - new_ver=$(git show --pretty="%H" -s HEAD) - if [ "$old_ver" != "$new_ver" ]; then - status_run "Updated from $old_ver to $new_ver" '' - fi - elif [[ "$up" == "3" ]]; then - # Update to last Tag - old_ver=$(git describe --exact-match --tags $(git log -n1 --pretty='%h')) - status_run 'Updating to latest release' 'git fetch --tags && git checkout $(git describe --tags $(git rev-list --tags --max-count=1))' 'update' - new_ver=$(git describe --exact-match --tags $(git log -n1 --pretty='%h')) - if [[ "$old_ver" != "$new_ver" ]]; then - status_run "Updated from $old_ver to $new_ver" '' - fi - fi cnf=$(echo $(grep '\[.distributed_poller.\]' config.php | egrep -v -e '^//' -e '^#' | cut -d = -f 2 | sed 's/;//g')) if ((${BASH_VERSINFO[0]} < 4)); then @@ -167,7 +146,6 @@ main () { post-pull) # List all tasks to do after pull in the order of execution status_run 'Updating SQL-Schema' 'php includes/sql-schema/update.php' - status_run 'Updating submodules' "$DAILY_SCRIPT submodules" status_run 'Cleaning up DB' "$DAILY_SCRIPT cleanup" status_run 'Fetching notifications' "$DAILY_SCRIPT notifications" status_run 'Caching PeeringDB data' "$DAILY_SCRIPT peeringdb" Index: head/net-mgmt/librenms/files/patch-includes_common.php =================================================================== --- head/net-mgmt/librenms/files/patch-includes_common.php (revision 442761) +++ head/net-mgmt/librenms/files/patch-includes_common.php (revision 442762) @@ -1,14 +1,14 @@ ---- includes/common.php.orig 2017-01-29 06:54:29 UTC +--- includes/common.php.orig 2017-03-26 12:06:00 UTC +++ includes/common.php -@@ -1095,10 +1095,8 @@ function version_info($remote = true) - curl_setopt($api, CURLOPT_RETURNTRANSFER, 1); +@@ -1098,10 +1098,8 @@ function version_info($remote = true) + curl_setopt($api, CURLOPT_CONNECTTIMEOUT, 5); $output['github'] = json_decode(curl_exec($api), true); } - list($local_sha, $local_date) = explode('|', rtrim(`git show --pretty='%H|%ct' -s HEAD`)); - $output['local_sha'] = $local_sha; + $output['local_sha'] = '%%PORTVERSION%%'; $output['local_date'] = $local_date; - $output['local_branch'] = rtrim(`git rev-parse --abbrev-ref HEAD`); } $output['db_schema'] = dbFetchCell('SELECT version FROM dbSchema'); $output['php_ver'] = phpversion(); Index: head/net-mgmt/librenms/files/patch-includes_defaults.inc.php =================================================================== --- head/net-mgmt/librenms/files/patch-includes_defaults.inc.php (revision 442761) +++ head/net-mgmt/librenms/files/patch-includes_defaults.inc.php (revision 442762) @@ -1,43 +1,43 @@ ---- includes/defaults.inc.php.orig 2017-01-01 15:50:41.000000000 +0000 -+++ includes/defaults.inc.php 2017-01-09 13:24:06.964918000 +0000 -@@ -36,26 +36,26 @@ +--- includes/defaults.inc.php.orig 2017-03-26 12:06:00 UTC ++++ includes/defaults.inc.php +@@ -41,26 +41,26 @@ $config['db_port'] = 3306; $config['own_hostname'] = 'localhost'; - + // Location of executables -$config['rrdtool'] = '/usr/bin/rrdtool'; +$config['rrdtool'] = '/usr/local/bin/rrdtool'; $config['rrdtool_version'] = 1.4; // Doesn't need to contain minor numbers. -$config['fping'] = '/usr/bin/fping'; -$config['fping6'] = 'fping6'; +$config['fping'] = '/usr/local/sbin/fping'; +$config['fping6'] = '/usr/local/sbin/fping6'; $config['fping_options']['retries'] = 3; $config['fping_options']['timeout'] = 500; $config['fping_options']['count'] = 3; $config['fping_options']['millisec'] = 200; -$config['snmpwalk'] = '/usr/bin/snmpwalk'; -$config['snmpget'] = '/usr/bin/snmpget'; -$config['snmpbulkwalk'] = '/usr/bin/snmpbulkwalk'; +$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['sfdp'] = '/usr/bin/sfdp'; +$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['sfdp'] = '/usr/local/bin/sfdp'; - + // Memcached - Keep immediate statistics $config['memcached']['enable'] = false; Index: head/net-mgmt/librenms/files/patch-validate.php =================================================================== --- head/net-mgmt/librenms/files/patch-validate.php (nonexistent) +++ head/net-mgmt/librenms/files/patch-validate.php (revision 442762) @@ -0,0 +1,39 @@ +--- validate.php.orig 2017-04-11 18:45:34 UTC ++++ validate.php +@@ -108,13 +108,6 @@ if (!($username === 'root' || (isset($co + print_fail('You need to run this script as root' . (isset($config['user']) ? ' or '.$config['user'] : '')); + } + +-if ($git_found === true) { +- if ($config['update_channel'] == 'master' && $cur_sha != $versions['github']['sha']) { +- $commit_date = new DateTime('@'.$versions['local_date'], new DateTimeZone(date_default_timezone_get())); +- print_warn("Your install is out of date, last update: " . $commit_date->format('r')); +- } +-} +- + // Check php modules we use to make sure they are loaded + $extensions = array('pcre','curl','session','snmp','mcrypt'); + foreach ($extensions as $extension) { +@@ -302,22 +295,6 @@ if (dbFetchCell('SELECT COUNT(*) FROM `d + } + + +-if ($git_found === true) { +- if ($versions['local_branch'] != 'master') { +- print_warn("Your local git branch is not master, this will prevent automatic updates."); +- } +- +- // check for modified files +- $modifiedcmd = 'git diff --name-only --exit-code'; +- if ($username === 'root') { +- $modifiedcmd = 'su '.$config['user'].' -c "'.$modifiedcmd.'"'; +- } +- exec($modifiedcmd, $cmdoutput, $code); +- if ($code !== 0 && !empty($cmdoutput)) { +- print_warn("Your local git contains modified files, this could prevent automatic updates.\nModified files:"); +- print_list($cmdoutput, "\t %s\n"); +- } +-} + // Modules test + $modules = explode(',', $options['m']); + foreach ($modules as $module) { Property changes on: head/net-mgmt/librenms/files/patch-validate.php ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net-mgmt/librenms/files/pkg-message.in =================================================================== --- head/net-mgmt/librenms/files/pkg-message.in (revision 442761) +++ head/net-mgmt/librenms/files/pkg-message.in (revision 442762) @@ -1,27 +1,28 @@ === Configuration details === The following is recommended for /var/db/mysql/my.cnf NOTE: these are global settings. Please read this first: http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html [mysqld] innodb_file_per_table=1 sql-mode="" You can mostly follow the guide at: http://docs.librenms.org/ with the following notes: - Installation directory is %%WWWDIR%% - The following lines should be added to /etc/crontab: +PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin 33 */6 * * * www cd %%WWWDIR%% && %%PHP%% discovery.php -h all >> /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 %%LOCALBASE%%/bin/bash %%WWWDIR%%/daily.sh >> /dev/null 2>&1 * * * * * www %%PHP%% %%WWWDIR%%/alerts.php >> /dev/null 2>&1 */5 * * * * www %%PHP%% %%WWWDIR%%/poll-billing.php >> /dev/null 2>&1 01 * * * * www %%PHP%% %%WWWDIR%%/billing-calculate.php >> /dev/null 2>&1 */5 * * * * www %%PHP%% %%WWWDIR%%/check-services.php >> /dev/null 2>&1