aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/netdisco
diff options
context:
space:
mode:
authorVanilla I. Shu <vanilla@FreeBSD.org>2015-03-16 12:40:06 +0000
committerVanilla I. Shu <vanilla@FreeBSD.org>2015-03-16 12:40:06 +0000
commit2a77b78f4d91bc6c550ff76aac6ab4e3201e01bd (patch)
tree539af2359dc3e56770e7c4143f06e827b9a2a797 /net-mgmt/netdisco
parent9828f5a663dd32e39f13258a269e0ff8a3f2780a (diff)
downloadports-2a77b78f4d91bc6c550ff76aac6ab4e3201e01bd.tar.gz
ports-2a77b78f4d91bc6c550ff76aac6ab4e3201e01bd.zip
Notes
Diffstat (limited to 'net-mgmt/netdisco')
-rw-r--r--net-mgmt/netdisco/Makefile203
-rw-r--r--net-mgmt/netdisco/distinfo4
-rw-r--r--net-mgmt/netdisco/files/localenv.in14
-rw-r--r--net-mgmt/netdisco/files/netdisco.in123
-rw-r--r--net-mgmt/netdisco/files/netdiscologs.conf.sample.in2
-rw-r--r--net-mgmt/netdisco/files/patch-netdisco29
-rw-r--r--net-mgmt/netdisco/files/patch-netdisco.conf61
-rw-r--r--net-mgmt/netdisco/files/patch-netdisco.crontab51
-rw-r--r--net-mgmt/netdisco/files/patch-netdisco_apache.conf49
-rw-r--r--net-mgmt/netdisco/files/patch-netdisco_apache_dir.conf13
-rw-r--r--net-mgmt/netdisco/files/patch-sql__pg44
-rw-r--r--net-mgmt/netdisco/files/pkg-message.in46
-rw-r--r--net-mgmt/netdisco/pkg-deinstall49
-rw-r--r--net-mgmt/netdisco/pkg-descr35
-rw-r--r--net-mgmt/netdisco/pkg-plist655
15 files changed, 745 insertions, 633 deletions
diff --git a/net-mgmt/netdisco/Makefile b/net-mgmt/netdisco/Makefile
index 553c170a704e..593673d3134d 100644
--- a/net-mgmt/netdisco/Makefile
+++ b/net-mgmt/netdisco/Makefile
@@ -2,133 +2,96 @@
# $FreeBSD$
PORTNAME= netdisco
-PORTVERSION= 1.3.3
-PORTREVISION= 3
-CATEGORIES= net-mgmt www
-MASTER_SITES= SF
+PORTVERSION= 2.031012
+CATEGORIES= net-mgmt perl5
+MASTER_SITES= CPAN
+MASTER_SITE_SUBDIR= CPAN:OLIVER
+DISTNAME= App-Netdisco-${PORTVERSION}
MAINTAINER= dgeo@centrale-marseille.fr
-COMMENT= Web-based network management tool for moderate to large networks
+COMMENT= Network discovery/management tool with web console
LICENSE= BSD3CLAUSE
-RUN_DEPENDS+= p5-Net-SNMP>=0:${PORTSDIR}/net-mgmt/p5-Net-SNMP \
- p5-SNMP-Info>=3.01:${PORTSDIR}/net-mgmt/p5-SNMP-Info \
- p5-HTML-Mason>=0:${PORTSDIR}/www/p5-HTML-Mason \
- p5-DB_File-Lock>=0:${PORTSDIR}/devel/p5-DB_File-Lock \
- p5-Apache-Session>=0:${PORTSDIR}/www/p5-Apache-Session \
- p5-Net-NBName>=0:${PORTSDIR}/net/p5-Net-NBName \
- p5-DBD-Pg>=0:${PORTSDIR}/databases/p5-DBD-Pg \
- p5-HTML-Parser>=0:${PORTSDIR}/www/p5-HTML-Parser \
- p5-Parallel-ForkManager>=0:${PORTSDIR}/devel/p5-Parallel-ForkManager
-
-OPTIONS_DEFINE= DOCS GRAPHVIZ MIBS WEBUI
-OPTIONS_DEFAULT=DOCS GRAPHVIZ MIBS WEBUI
-OPTIONS_SUB= WEBUI
-MIBS_DESC= Depend on net-mgmt/netdisco-mibs
-GRAPHVIZ_DESC= Install GraphViz for network map support
-WEBUI_DESC= With web interface (mod_perl2+apache22)
-
-GRAPHVIZ_RUN_DEPENDS+= p5-Graph>=0:${PORTSDIR}/math/p5-Graph \
- p5-GraphViz>=0:${PORTSDIR}/graphics/p5-GraphViz
-WEBUI_RUN_DEPENDS+= ${APACHE_PKGNAMEPREFIX}mod_perl2>=0:${PORTSDIR}/www/mod_perl2 \
- p5-Apache-DBI>=0:${PORTSDIR}/www/p5-Apache-DBI \
- p5-libapreq2>=0:${PORTSDIR}/www/p5-libapreq2 \
- p5-MasonX-Request-WithApacheSession>=0:${PORTSDIR}/www/p5-MasonX-Request-WithApacheSession
-WEBUI_USE= APACHE_RUN=22+
-
-USES= perl5 pgsql shebangfix
-SHEBANG_FILES= bin/parse_kismet_ap netdisco
-USE_PERL5= run build
+BUILD_DEPENDS= p5-DBD-Pg>=0:${PORTSDIR}/databases/p5-DBD-Pg \
+ p5-Net-SNMP>=6.0.1:${PORTSDIR}/net-mgmt/p5-Net-SNMP \
+ p5-Algorithm-Cron>=0.07:${PORTSDIR}/devel/p5-Algorithm-Cron \
+ p5-AnyEvent>=7.05:${PORTSDIR}/devel/p5-AnyEvent \
+ p5-AnyEvent-DNS-EtcHosts>=0.0103:${PORTSDIR}/dns/p5-AnyEvent-DNS-EtcHosts \
+ p5-App-cpanminus>=1.6108:${PORTSDIR}/devel/p5-App-cpanminus \
+ p5-App-local-lib-helper>=0.07:${PORTSDIR}/devel/p5-App-local-lib-helper \
+ p5-CGI-Expand>=2.05:${PORTSDIR}/www/p5-CGI-Expand \
+ p5-Data-Printer>=0:${PORTSDIR}/devel/p5-Data-Printer \
+ p5-DBIx-Class-Helpers>=2.023007:${PORTSDIR}/databases/p5-DBIx-Class-Helpers \
+ p5-Daemon-Control>=0.001.005:${PORTSDIR}/devel/p5-Daemon-Control \
+ p5-Dancer>=1.3132:${PORTSDIR}/www/p5-Dancer \
+ p5-Dancer-Plugin-DBIC>=0.2001:${PORTSDIR}/databases/p5-Dancer-Plugin-DBIC \
+ p5-Dancer-Plugin-Auth-Extensible>=0.30:${PORTSDIR}/security/p5-Dancer-Plugin-Auth-Extensible \
+ p5-Dancer-Plugin-Passphrase>=2.0.1:${PORTSDIR}/security/p5-Dancer-Plugin-Passphrase \
+ p5-File-ShareDir>=1.03:${PORTSDIR}/devel/p5-File-ShareDir \
+ p5-File-Slurp>=9999.19:${PORTSDIR}/devel/p5-File-Slurp \
+ p5-Guard>=1.022:${PORTSDIR}/devel/p5-Guard \
+ p5-HTML-Parser>=3.70:${PORTSDIR}/www/p5-HTML-Parser \
+ p5-HTTP-Tiny>=0.029:${PORTSDIR}/www/p5-HTTP-Tiny \
+ p5-JSON>=0:${PORTSDIR}/converters/p5-JSON \
+ p5-List-MoreUtils>=0.33:${PORTSDIR}/lang/p5-List-MoreUtils \
+ p5-Module-Find>=0.12:${PORTSDIR}/devel/p5-Module-Find \
+ p5-Module-Load>=0.32:${PORTSDIR}/devel/p5-Module-Load \
+ p5-Moo>=1.001000:${PORTSDIR}/devel/p5-Moo \
+ p5-MCE>=1.515:${PORTSDIR}/devel/p5-MCE \
+ p5-Net-DNS>=0.72:${PORTSDIR}/dns/p5-Net-DNS \
+ p5-perl-ldap>=0:${PORTSDIR}/net/p5-perl-ldap \
+ p5-NetAddr-MAC>=0:${PORTSDIR}/net/p5-NetAddr-MAC \
+ p5-NetAddr-IP>=4.068:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \
+ p5-Path-Class>=0.32:${PORTSDIR}/devel/p5-Path-Class \
+ p5-Plack>=1.0023:${PORTSDIR}/www/p5-Plack \
+ p5-Plack-Middleware-Expires>=0.03:${PORTSDIR}/www/p5-Plack-Middleware-Expires \
+ p5-Plack-Middleware-ReverseProxy>=0.15:${PORTSDIR}/www/p5-Plack-Middleware-ReverseProxy \
+ p5-Role-Tiny>=1.002005:${PORTSDIR}/devel/p5-Role-Tiny \
+ p5-Sereal>=0:${PORTSDIR}/converters/p5-Sereal \
+ p5-Socket6>=0.23:${PORTSDIR}/net/p5-Socket6 \
+ p5-Starman>=0.4008:${PORTSDIR}/www/p5-Starman \
+ p5-SNMP-Info>=3.18:${PORTSDIR}/net-mgmt/p5-SNMP-Info \
+ p5-SQL-Translator>=0.11018:${PORTSDIR}/databases/p5-SQL-Translator \
+ p5-Template-Toolkit>=2.24:${PORTSDIR}/www/p5-Template-Toolkit \
+ p5-Template-Plugin-CSV>=0.04:${PORTSDIR}/textproc/p5-Template-Plugin-CSV \
+ p5-Template-Plugin-Number-Format>=1.02:${PORTSDIR}/www/p5-Template-Plugin-Number-Format \
+ p5-Try-Tiny>=0:${PORTSDIR}/lang/p5-Try-Tiny \
+ p5-URI>=0:${PORTSDIR}/net/p5-URI \
+ p5-URL-Encode>=0.01:${PORTSDIR}/www/p5-URL-Encode \
+ p5-YAML>=0.84:${PORTSDIR}/textproc/p5-YAML \
+ p5-YAML-LibYAML>=0.41:${PORTSDIR}/textproc/p5-YAML-LibYAML \
+ p5-Env-Path>=0:${PORTSDIR}/devel/p5-Env-Path \
+ p5-Text-CSV>=0:${PORTSDIR}/textproc/p5-Text-CSV \
+ p5-Graph>=0:${PORTSDIR}/math/p5-Graph \
+ p5-GraphViz>=0:${PORTSDIR}/graphics/p5-GraphViz \
+ p5-Net-OpenSSH>=0:${PORTSDIR}/net/p5-Net-OpenSSH
+
+RUN_DEPENDS:= ${BUILD_DEPENDS}
+
+USERS= netdisco
+GROUPS= netdisco
+
+SUB_FILES= pkg-message netdiscologs.conf.sample localenv
+SUB_LIST= SITE_PERL=${STAGEDIR}${SITE_PERL} \
+ NETDISCO_USER=${USERS} \
+ NETDISCO_GROUP=${GROUPS} \
+ ETCDIR=${ETCDIR} \
+ ETCDIR_REL=${ETCDIR_REL}
+PLIST_SUB+= ETCDIR=${ETCDIR}
+
+USES= perl5
+USE_PERL5= configure
+USE_PGSQL= yes
USE_RC_SUBR= netdisco
-NO_BUILD= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
-NETDISCO_USER= netdisco
-NETDISCO_GROUP= netdisco
-NETDISCO_RUNDIR=/var/run
-NETDISCO_DBDIR= /var/db/netdisco
-
-USERS= ${NETDISCO_USER}
-GROUPS= ${NETDISCO_GROUP}
-
-SUB_FILES= pkg-message
-PLIST_SUB= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP} \
- NETDISCO_USER=${NETDISCO_USER} \
- NETDISCO_GROUP=${NETDISCO_GROUP}
-SUB_LIST= NETDISCO_USER=${NETDISCO_USER} \
- NETDISCO_GROUP=${NETDISCO_GROUP} \
- NETDISCO_DBDIR=${NETDISCO_DBDIR}
-
-ALTER_FILES= netdisco netdisco.conf netdisco_apache.conf \
- netdisco_apache_dir.conf netdisco.crontab sql/pg
-CONFIG_FILES= netdisco.conf netdisco.crontab netdisco-topology.txt \
- netdisco_apache.conf netdisco_apache_dir.conf
-DOCFILES= ChangeLog doc/*.pod INSTALL README* UPGRADE
-
-.include <bsd.port.options.mk>
-
-MIBSDIR= ${PREFIX}/share/netdisco-mibs
-.if ${PORT_OPTIONS:MMIBS}
-RUN_DEPENDS+= ${MIBSDIR}/mib_index.txt:${PORTSDIR}/net-mgmt/netdisco-mibs
-BUILD_DEPENDS+= ${MIBSDIR}/mib_index.txt:${PORTSDIR}/net-mgmt/netdisco-mibs
-. include "${.CURDIR}/../netdisco-mibs/bsd.port.netdisco.mk"
-MIBINCLUDES!=${ECHO} \"${MIBDIRS:S/^/${MIBSDIR}\//}\"
-MIBINCLUDES:=${MIBINCLUDES:S/ /:/g:S/"//g}
-.else
-MIBINCLUDES="#please add here mibs dirs list (at least snmp and rfc ones)"
-.endif
-
-post-patch:
- @(cd ${WRKSRC} && ${REINPLACE_CMD} \
- -e 's#%%WWWDIR%%#${WWWDIR}#g' \
- -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%DATADIR%%#${DATADIR}#g' \
- -e 's#%%DOCSDIR%%#${DOCSDIR}#g' \
- -e 's#%%NETDISCO_RUNDIR%%#${NETDISCO_RUNDIR}#g' \
- -e 's#%%NETDISCO_USER%%#${USERS}#g' \
- -e 's#%%NETDISCO_GROUP%%#${GROUPS}#g' \
- -e 's#%%NETDISCO_DBDIR%%#${NETDISCO_DBDIR}#g' \
- -e 's#%%ETCDIR%%#${ETCDIR}#g' \
- -e 's#%%SITE_PERL%%#${PREFIX}/${SITE_PERL_REL}#g' \
- -e 's#%%APACHEMODDIR%%#${APACHEMODDIR}#g' \
- -e 's#%%APACHEETCDIR%%#${APACHEETCDIR}#g' \
- -e 's#%%MIBINCLUDES%%#${MIBINCLUDES}#g' \
- ${ALTER_FILES})
-
-do-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_PERL_REL} \
- ${STAGEDIR}${DATADIR}/sql \
- ${STAGEDIR}${DOCSDIR} \
- ${STAGEDIR}${ETCDIR}
- (cd ${WRKSRC} && ${INSTALL_SCRIPT} netdisco bin/parse_mac \
- bin/port_control bin/parse_kismet_ap ${STAGEDIR}${PREFIX}/bin)
- ${INSTALL_DATA} ${WRKSRC}/netdisco.pm \
- ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}
-. if ${PORT_OPTIONS:MWEBUI}
- @${MKDIR} ${STAGEDIR}${WWWDIR}/mason
- (cd ${WRKSRC}/html && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
- (cd ${STAGEDIR}${WWWDIR} && ${RM} -r doc/autohandler svg)
-. endif
-. for i in ${CONFIG_FILES}
- ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${ETCDIR}/${i}.sample
-. endfor
- (cd ${WRKSRC}/sql && \
- ${INSTALL_DATA} *.sql pg ${STAGEDIR}${DATADIR}/sql)
- ${INSTALL_DATA} ${WRKSRC}/Makefile ${STAGEDIR}${DATADIR}
- (cd ${WRKSRC} && ${INSTALL_MAN} ${DOCFILES} ${STAGEDIR}${DOCSDIR})
-
-# This violates STAGEDIR, comment out the entire block
-#. if !defined(PACKAGE_BUILDING)
-# @(if [ -d ${PREFIX}/${APACHEETCDIR}/Includes ] ; then \
-# ${ECHO_MSG} "===> Adding config in ${PREFIX}/${APACHEETCDIR}/Includes..."; \
-# test -L ${PREFIX}/${APACHEETCDIR}/Includes/netdisco_apache.conf || \
-# ${LN} -s ${ETCDIR}/netdisco_apache.conf ${PREFIX}/${APACHEETCDIR}/Includes/netdisco_apache.conf; \
-# test -L ${PREFIX}/${APACHEETCDIR}/Includes/netdisco_apache_dir.conf || \
-# ${LN} -s ${ETCDIR}/netdisco_apache_dir.conf ${PREFIX}/${APACHEETCDIR}/Includes/netdisco_apache_dir.conf; \
-# fi)
-#. endif
+post-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/perl5/bin
+ ${INSTALL_SCRIPT} ${WRKDIR}/localenv ${STAGEDIR}${ETCDIR}/perl5/bin
+ ${INSTALL_DATA} ${WRKDIR}/netdiscologs.conf.sample ${STAGEDIR}${ETCDIR}
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/environments
+ ${INSTALL_DATA} ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/auto/share/dist/App-Netdisco/environments/deployment.yml \
+ ${STAGEDIR}${ETCDIR}/environments/deployment.yml.sample
.include <bsd.port.mk>
diff --git a/net-mgmt/netdisco/distinfo b/net-mgmt/netdisco/distinfo
index f9018c6c1a1a..8150d845fb39 100644
--- a/net-mgmt/netdisco/distinfo
+++ b/net-mgmt/netdisco/distinfo
@@ -1,2 +1,2 @@
-SHA256 (netdisco-1.3.3.tar.gz) = 0b26628b411a8d8cf31b01fdc92fdbf01373cf23f124d3942052c47da2cb08e2
-SIZE (netdisco-1.3.3.tar.gz) = 1351500
+SHA256 (App-Netdisco-2.031012.tar.gz) = efa1aff31636784228c76becffa8d64ea10b02ddbf52f68b367de7f737f4ae7e
+SIZE (App-Netdisco-2.031012.tar.gz) = 767546
diff --git a/net-mgmt/netdisco/files/localenv.in b/net-mgmt/netdisco/files/localenv.in
new file mode 100644
index 000000000000..e1bc04752b1b
--- /dev/null
+++ b/net-mgmt/netdisco/files/localenv.in
@@ -0,0 +1,14 @@
+#!/usr/local/bin/perl
+
+use strict;
+use warnings;
+
+use lib '%%ETCDIR%%/perl5/lib/perl5';
+use local::lib '%%ETCDIR%%/perl5';
+
+unless ( caller ) {
+ if ( @ARGV ) {
+ exec @ARGV;
+ }
+}
+
diff --git a/net-mgmt/netdisco/files/netdisco.in b/net-mgmt/netdisco/files/netdisco.in
index 8dccea10f7a9..d18e4326e3f0 100644
--- a/net-mgmt/netdisco/files/netdisco.in
+++ b/net-mgmt/netdisco/files/netdisco.in
@@ -1,5 +1,4 @@
#!/bin/sh
-
# $FreeBSD$
#
# PROVIDE: netdisco
@@ -11,41 +10,109 @@
name="netdisco"
rcvar="netdisco_enable"
+start_precmd="netdisco_start_precmd"
+start_cmd="netdisco_cmd"
+stop_cmd="netdisco_cmd"
+status_cmd="netdisco_cmd"
+reload_cmd="netdisco_reload_cmd"
+rcvar_cmd="netdisco_rcvar_cmd"
+extra_commands="reload status"
-load_rc_config $name
-
-: ${netdisco_enable="NO"}
-: ${netdisco_user="%%NETDISCO_USER%%"}
-: ${netdisco_group="%%NETDISCO_GROUP%%"}
-
-start_precmd=${name}_prestart
-stop_cmd=${name}_stop
-restart_cmd=${name}_restart
-status_cmd=${name}_status
+: ${netdisco_home="/var/run/netdisco"}
+: ${netdisco_user="netdisco"}
+: ${netdisco_group="netdisco"}
+netdisco_daemons="web daemon"
-command="%%PREFIX%%/bin/netdisco"
-command_interpreter="%%PREFIX%%/bin/perl"
-netdisco_config="%%ETCDIR%%/netdisco.conf"
-pidfile=$(grep ^daemon_pid $netdisco_config | cut -d= -f2 | tail -1)
-flags="-p start"
-
-required_files="$netdisco_config"
-
-netdisco_prestart() {
- touch $pidfile && chown $netdisco_user $pidfile
- test -d %%NETDISCO_DBDIR%% || install -d -m 0700 -o $netdisco_user -g $netdisco_group %%NETDISCO_DBDIR%%
+netdisco_start_precmd() {
+ # /var/run and /var/log
+ if [ ! -d /var/run/netdisco ]; then
+ mkdir /var/run/netdisco
+ chown -R netdisco:netdisco /var/run/netdisco
+ fi
+ if [ ! -d /var/log/netdisco ]; then
+ mkdir /var/log/netdisco
+ chown netdisco:netdisco /var/log/netdisco
+ fi
+ if [ ! -d /usr/local/etc/netdisco/logs ]; then
+ ln -s /var/log/netdisco /usr/local/etc/netdisco/logs
+ fi
+ # populate /var/run/netdisco
+ for dir in environments perl5 netdisco-mibs; do
+ test -d /var/run/netdisco/$dir || ln -fs /usr/local/etc/netdisco/$dir /var/run/netdisco/$dir
+ done
+ test -d /var/run/netdisco/logs || ln -s /var/log/netdisco /var/run/netdisco/logs
}
-netdisco_stop() {
- su -m "$netdisco_user" -c "$command -p stop"
+netdisco_cmd() {
+ local name rcvar rcvars v command pidfile netdisco_daemons result force_run interpreter
+ # Prevent recursive calling
+ unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
+ # Ignore rcvar and run command
+ if [ -n "${_rc_prefix}" -a "${_rc_prefix}" = "one" ] || [ -n "${rc_force}" ] || [ -n "${rc_fast}" ]; then
+ force_run=yes
+ fi
+ # Assume success
+ result=0
+ # Apply to all daemons
+ for n in ${netdisco_daemons}; do
+ name="netdisco_$n"
+ rcvars=''; v=''
+ name=${name}
+ rcvar=${name}_enable
+ command="/usr/local/bin/netdisco-${n}"
+ command_args=${rc_arg}
+ pidfile="/var/run/netdisco/netdisco-${n}.pid"
+ [ "$n" = "web" ] && command_interpreter="perl" || command_interpreter=""
+ # Daemon should be enabled and running
+ if ( [ -n "${rcvar}" ] && checkyesno "${rcvar}" ) || [ -n "$force_run" ]; then
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ # If any of the commands failed, take it as a global result
+ result=$((${result} || $?))
+ fi
+ done
+ return ${result}
}
-netdisco_restart() {
- su -m "$netdisco_user" -c "$command -p restart"
+netdisco_rcvar_cmd() {
+ local name rcvar
+ rcvar=${name}_enable
+ # Prevent recursive calling
+ unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
+ # Check master variable
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ # Check dependent variables
+ for n in ${netdisco_daemons}; do
+ name=netdisco_${n}
+ # XXX
+ rcvars=''; v=''
+ rcvar=${name}_enable
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ done
}
-netdisco_status() {
- su -m "$netdisco_user" -c "$command -p status"
+netdisco_config_init() {
+ local name
+ load_rc_config "${name}"
+ for n in ${netdisco_daemons}; do
+ load_rc_config "netdisco_${n}"
+ done
+ # Defaults
+ netdisco_enable=${netdisco_enable:=NO}
+ if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
+ netdisco_web_enable=${netdisco_enable}
+ netdisco_daemon_enable=${netdisco_enable}
+ fi
+ netdisco_web_enable=${netdisco_web_enable:-NO}
+ netdisco_web_pidfile=${netdisco_web_pidfile:-"/var/run/netdisco/netdisco-web.pid"}
+ netdisco_daemon_enable=${netdisco_daemon_enable:-NO}
+ netdisco_web_user=${netdisco_user}
+ netdisco_daemon_user=${netdisco_user}
+ netdisco_web_group=${netdisco_group}
+ netdisco_daemon_group=${netdisco_group}
+ export NETDISCO_HOME=/var/run/netdisco
}
+# load config
+netdisco_config_init
+
run_rc_command "$1"
diff --git a/net-mgmt/netdisco/files/netdiscologs.conf.sample.in b/net-mgmt/netdisco/files/netdiscologs.conf.sample.in
new file mode 100644
index 000000000000..08b1846422dc
--- /dev/null
+++ b/net-mgmt/netdisco/files/netdiscologs.conf.sample.in
@@ -0,0 +1,2 @@
+/var/log/netdisco/netdisco-web.log %%NETDISCO_USER%%:%%NETDISCO_GROUP%% 640 7 1000 * JC /var/run/netdisco/netdisco-web.log
+/var/log/netdisco/netdisco-daemon.log %%NETDISCO_USER%%:%%NETDISCO_GROUP%% 640 7 1000 * JC /var/run/netdisco/netdisco-daemon.log
diff --git a/net-mgmt/netdisco/files/patch-netdisco b/net-mgmt/netdisco/files/patch-netdisco
deleted file mode 100644
index 655546cc7149..000000000000
--- a/net-mgmt/netdisco/files/patch-netdisco
+++ /dev/null
@@ -1,29 +0,0 @@
---- netdisco.orig 2010-07-04 01:51:44.000000000 +0100
-+++ netdisco 2010-07-04 01:55:59.000000000 +0100
-@@ -113,7 +113,7 @@
- &header if (grep(/^([aABdeEFgIikKmMOprRTu]|expire-nodes-subnet)$/,keys %args) and !$BatchMode);
-
- # Parse Config File - Check for -C, then in current dir, then in default dir.
--foreach my $c ($args{C},"$FindBin::Bin/netdisco.conf",'/usr/local/netdisco/netdisco.conf') {
-+foreach my $c ($args{C},"$FindBin::Bin/netdisco.conf",'%%ETCDIR%%/netdisco.conf') {
- if (defined $c and -r $c){
- $configfile = $c;
- print "Using Config File : $configfile\n" if $DEBUG;
-@@ -683,7 +683,7 @@
-
- my ($file_name,$want_time,$no_header) = @_;
-
-- my $file_path = homepath('datadir','data');
-+ my $file_path = homepath('datadir','%%DBDIR%%/netdisco');
-
- my $extension = defined $CONFIG{logextension} ? $CONFIG{logextension} : 'log';
-
-@@ -4471,7 +4471,7 @@
-
- sub admin_daemon_pid {
- my $pid = shift;
-- my $pid_file = homepath('daemon_pid', 'netdisco_daemon.pid');
-+ my $pid_file = homepath('daemon_pid', '%%RUNDIR%%/netdisco_daemon.pid');
-
- if (defined $pid) {
- print "Writing pid:$pid to $pid_file\n" if $DEBUG;
diff --git a/net-mgmt/netdisco/files/patch-netdisco.conf b/net-mgmt/netdisco/files/patch-netdisco.conf
deleted file mode 100644
index 238f43a04d18..000000000000
--- a/net-mgmt/netdisco/files/patch-netdisco.conf
+++ /dev/null
@@ -1,61 +0,0 @@
---- netdisco.conf.orig 2013-04-13 12:30:38.000000000 +0200
-+++ netdisco.conf 2013-04-18 16:25:10.000000000 +0200
-@@ -13,11 +13,11 @@
-
- # ---- General Settings ----
- domain = .mycompany.com
--home = /usr/local/netdisco
-+home = %%DATADIR%%
- #customer = mycompany
- #customericon = mycompany.gif,88,31
- #node_monitor_email = admin@your.company
--topofile = netdisco-topology.txt
-+topofile = %%ETCDIR%%/netdisco-topology.txt
- timeout = 180
- macsuck_timeout = 240
- #macsuck_all_vlans = true
-@@ -67,7 +67,7 @@
-
- # ---- Admin Panel Daemon Settings ----
- daemon_bg = true
--daemon_pid = netdisco_daemon.pid
-+daemon_pid = %%NETDISCO_RUNDIR%%/netdisco_daemon.pid
- daemon_poll = 2
-
- # ---- Port Control Settings ---
-@@ -82,7 +82,7 @@
- # Data Archiving and Logging
- compresslogs = true
- compress = /usr/bin/gzip -f
--datadir = data
-+datadir = %%DATADIR%%
- logextension = txt
- #nmis_dump = netdisco_nmis
-
-@@ -136,25 +136,7 @@
- snmpretries = 3
- #If you want to use a Net-SNMP configuration file uncomment and set to 0
- #ignoresnmpconf = 1
--mibdirs = \
-- $home/mibs/allied, \
-- $home/mibs/apc, \
-- $home/mibs/arista, \
-- $home/mibs/aruba, \
-- $home/mibs/asante, \
-- $home/mibs/cabletron, \
-- $home/mibs/cisco, \
-- $home/mibs/cyclades, \
-- $home/mibs/dell, \
-- $home/mibs/enterasys, \
-- $home/mibs/extreme, \
-- $home/mibs/foundry, \
-- $home/mibs/hp, \
-- $home/mibs/juniper, \
-- $home/mibs/netscreen, \
-- $home/mibs/nortel, \
-- # Do not remove rfc or net-snmp. \
-- $home/mibs/rfc, $home/mibs/net-snmp
-+mibdirs = %%MIBINCLUDES%%
-
- #bulkwalk_no = vendor:foundry,model:blah,127.0.0.1/32,myswitch
- #bulkwalk_off = true
diff --git a/net-mgmt/netdisco/files/patch-netdisco.crontab b/net-mgmt/netdisco/files/patch-netdisco.crontab
deleted file mode 100644
index aa0e7fcb0e2e..000000000000
--- a/net-mgmt/netdisco/files/patch-netdisco.crontab
+++ /dev/null
@@ -1,51 +0,0 @@
---- netdisco.crontab.orig 2012-02-16 10:15:46.000000000 +0100
-+++ netdisco.crontab 2012-02-16 10:17:31.000000000 +0100
-@@ -4,38 +4,38 @@
- # $Id: netdisco.crontab,v 1.9 2010/08/05 17:45:11 uid343744 Exp $
-
- #MAILTO=max
--PATH=/bin:/usr/bin:/usr/local/bin
-+PATH=/bin:/usr/bin:%%PREFIX%%/bin
-
- # -- Weekly --
-
- # Walk network for new devices once a week (Wed @ 14:00)
--0 14 * * 3 /usr/local/netdisco/netdisco -b -r center_network_device
-+0 14 * * 3 netdisco -b -r center_network_device
-
- # -- Daily --
-
- # Backup at 1am every day
--0 1 * * * /usr/local/netdisco/netdisco -b -B
-+0 1 * * * netdisco -b -B
-
- # Restart admin panel daemon nightly
--0 2 * * * /usr/local/netdisco/netdisco -b -p restart
-+0 2 * * * netdisco -b -p restart
-
- # Refresh Graph every day
--0 3 * * * /usr/local/netdisco/netdisco -b -g 2>&1
-+0 3 * * * netdisco -b -g 2>&1
-
- # Refresh Devices at 9:00 every day
--0 9 * * * /usr/local/netdisco/netdisco -b -R
-+0 9 * * * netdisco -b -R
-
- # -- Hourly --
-
- # Arp Nip every hour on the half hour
--30 * * * * /usr/local/netdisco/netdisco -b -a
-+30 * * * * netdisco -b -a
-
- # Save configs every hour on the hour (only necessary if network includes
- # devices that do not permanently save SNMP changes, such as Cisco IOS)
--#0 * * * * /usr/local/netdisco/netdisco -b -j 61
-+#0 * * * * netdisco -b -j 61
-
- # Mac Suck every 2 hours
--0 */2 * * * /usr/local/netdisco/netdisco -b -m
-+0 */2 * * * netdisco -b -m
-
- # Grab NetBios Info from Nodes three times a day
--0 8,13,21 * * * /usr/local/netdisco/netdisco -b -w
-+0 8,13,21 * * * netdisco -b -w
diff --git a/net-mgmt/netdisco/files/patch-netdisco_apache.conf b/net-mgmt/netdisco/files/patch-netdisco_apache.conf
deleted file mode 100644
index d71c6a844dfc..000000000000
--- a/net-mgmt/netdisco/files/patch-netdisco_apache.conf
+++ /dev/null
@@ -1,49 +0,0 @@
---- netdisco_apache.conf.orig 2009-06-02 23:27:02.000000000 +0000
-+++ netdisco_apache.conf 2010-10-29 20:17:38.160431550 +0000
-@@ -5,26 +5,30 @@
- #
- # Apache 1.x Users -- Comment out these four lines
- #
--LoadModule perl_module libexec/apache2/mod_perl.so
--LoadModule apreq_module libexec/apache2/mod_apreq2.so
-+LoadModule perl_module %%PREFIX%%/%%APACHEMODDIR%%/mod_perl.so
-+LoadModule apreq_module %%PREFIX%%/%%APACHEMODDIR%%/mod_apreq2.so
- PerlModule Apache2::compat
- PerlModule Apache2::Request
-
- # Pool Database Connections
- PerlModule Apache::DBI
-
--<Directory /usr/local/netdisco/html>
-+<Directory %%WWWDIR%%>
- order allow,deny
- allow from all
- </Directory>
-
-+<Directory %%WWWDIR%%/mason>
-+ order allow,deny
-+ deny from all
-+</Directory>
-+
- <Perl>
- # Preload the netdisco module into global server space.
- # and parse the config file only once.
- { package HTML::Mason::Commands;
-- use lib '/usr/local/netdisco';
- use netdisco qw/:all/;
-- &netdisco::config('/usr/local/netdisco/netdisco.conf');
-+ &netdisco::config('%%ETCDIR%%/netdisco.conf');
- }
-
- # Setup Mason and Session Handler
-@@ -35,8 +39,8 @@
-
- my $ah = new HTML::Mason::ApacheHandler(
- args_method => 'mod_perl',
-- comp_root => '/usr/local/netdisco/html',
-- data_dir => '/usr/local/netdisco/mason',
-+ comp_root => '%%WWWDIR%%',
-+ data_dir => '%%WWWDIR%%/mason',
- request_class => 'MasonX::Request::WithApacheSession',
- session_class => 'Apache::Session::Postgres',
- session_commit => 1,
diff --git a/net-mgmt/netdisco/files/patch-netdisco_apache_dir.conf b/net-mgmt/netdisco/files/patch-netdisco_apache_dir.conf
deleted file mode 100644
index 95dfe0c08e31..000000000000
--- a/net-mgmt/netdisco/files/patch-netdisco_apache_dir.conf
+++ /dev/null
@@ -1,13 +0,0 @@
---- netdisco_apache_dir.conf.orig 2010-07-04 15:19:09.000000000 +0100
-+++ netdisco_apache_dir.conf 2010-07-04 15:30:02.000000000 +0100
-@@ -1,8 +1,8 @@
- # Apache Configuration for Netdisco
- # This is applied to each virtual server
-
--Alias /netdisco "/usr/local/netdisco/html/"
--Alias /netdisco/ "/usr/local/netdisco/html/"
-+Alias /netdisco "%%WWWDIR%%"
-+Alias /netdisco/ "%%WWWDIR%%"
-
- <Location /netdisco>
- Options +Indexes
diff --git a/net-mgmt/netdisco/files/patch-sql__pg b/net-mgmt/netdisco/files/patch-sql__pg
deleted file mode 100644
index 1a70b49180b8..000000000000
--- a/net-mgmt/netdisco/files/patch-sql__pg
+++ /dev/null
@@ -1,44 +0,0 @@
---- sql/pg.orig 2009-01-31 02:06:37.000000000 +0000
-+++ sql/pg 2010-07-20 22:19:46.000000000 +0000
-@@ -27,7 +27,7 @@
- 'h|help',
- );
-
-- $DefaultDir = "/usr/local/netdisco";
-+ $DefaultDir = "%%SITE_PERL%%";
- # add more possible locations here
- foreach $poss ($FindBin::Bin . "/..", "..") {
- if (-f $poss . "/netdisco.pm") {
-@@ -35,7 +35,7 @@
- }
- }
- $Dir = $ARGS{d} || $DefaultDir;
-- $ConfigFile = $ARGS{c} || "$Dir/netdisco.conf";
-+ $ConfigFile = $ARGS{c} || "%%ETCDIR%%/netdisco.conf";
- $Psql = $ARGS{p} || 'psql';
- eval "use lib '$Dir';";
- die "use lib '$Dir': $@." if ($@);
-@@ -172,12 +172,12 @@
- open (ALL,">pg_all.input") or die "Can't create pg_all.input for output. $!\n";
-
- # Cat all tables into one big file
-- opendir(SQLDIR, "$Dir/sql") or die "Can't open $Dir/sql: $!";
-+ opendir(SQLDIR, "%%DATADIR%%/sql") or die "Can't open %%DATADIR%%/sql: $!";
- while( defined (my $f = readdir SQLDIR) ) {
- next if $f =~ /^\.\.?$/ or $f =~ /^upgrade-.*\.sql$/;
- next unless $f =~ /\.sql$/;
- print "[ $f ]\n";
-- open (F, "<$Dir/sql/$f") or die "Can't read $f. $!\n";
-+ open (F, "<%%DATADIR%%/sql/$f") or die "Can't read $f. $!\n";
- while (<F>) {
- print ALL;
- }
-@@ -304,7 +304,7 @@
-
- OPTIONS
- -b -- Batch mode, no override protection
-- -d /usr/local/netdisco -- Path to netdisco.pm
-+ -d /path/to/netdisco.pm -- Path to netdisco.pm
- -c /path/to/netdisco.conf -- Netdisco Config file to use
- -u pgsql -- Database UNIX user
- -p /path/to/psql -- psql cli executable
diff --git a/net-mgmt/netdisco/files/pkg-message.in b/net-mgmt/netdisco/files/pkg-message.in
index a4a96fcdc2cc..e6338a06fa17 100644
--- a/net-mgmt/netdisco/files/pkg-message.in
+++ b/net-mgmt/netdisco/files/pkg-message.in
@@ -1,35 +1,11 @@
-------------------------------------------------------------------------
-Netdisco has been installed.
-
-In order to get up and running, there are a few more steps to complete:
-
- 1) Examine all the configuration files in %%ETCDIR%%,
- and modify them to suit your needs.
- (check diff to the .sample if upgrading)
-
- 2) You should consider downloading a fresh OUI database
- # fetch -o %%DATADIR%%/oui.txt http://standards.ieee.org/develop/regauth/oui/oui.txt
-
- 3) Run the following to create and initialise the netdisco database:
- # perl %%DATADIR%%/sql/pg --init
- OR (if upgrading)
- 3bis) Check %%DOCSDIR%%/ChangeLog and
- %%DOCSDIR%%/UPGRADE%% and act accordingly
- (databases upgrades are in %%DATADIR%%/sql)
-
- 4) Add an initial admin user:
- # su %%NETDISCO_USER%% -c "netdisco -u"
-
- 5) Import the OUI database:
- # su %%NETDISCO_USER%% -c "netdisco -o"
-
- 6) Edit %%ETCDIR%%/netdisco.crontab and change
- center_network_device to one of your core routers/switches. Then
- install the crontab:
- # crontab -u %%NETDISCO_USER%% %%ETCDIR%%/netdisco.crontab
-
- 7) Add netdisco_enable="YES" to /etc/rc.conf, and then run
- # service netdisco start
-
- 8) Apache must be stopped/started (a graceful restart won't work)
-------------------------------------------------------------------------
+Welcome to netdisco 2 !
+
+to get it running, you just have to:
+ * edit %%ETCDIR%%/environments/deployment.yml to suit your needs
+ (perldoc App::Netdisco::Manual::Configuration)
+ * edit rc.conf according to %%PREFIX%%/etc/rc.d/netdisco
+ * read "perldoc App::Netdisco::Manual::Deployment"
+ * launch netdisco-deploy to install/upgrade your database
+ * copy (or link) %%ETCDIR%%/netdiscologs.conf
+ to %%PREFIX%%/etc/newsyslog.conf.d/ to take care
+ of logs rotation
diff --git a/net-mgmt/netdisco/pkg-deinstall b/net-mgmt/netdisco/pkg-deinstall
deleted file mode 100644
index cfaa7a5c48ca..000000000000
--- a/net-mgmt/netdisco/pkg-deinstall
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-
-if [ x"$2" != x"POST-DEINSTALL" ]; then
- exit 0
-fi
-
-TMPDIR=${TMPDIR:=/tmp}
-PKG_TMPDIR=${PKG_TMPDIR:=${TMPDIR}}
-
-apxscmd=${PKG_PREFIX}/sbin/apxs
-tmpdir=${PKG_TMPDIR}/deinst_netdisco.$$
-
-if [ ! -x ${apxscmd} ]; then
- echo Can\'t find the apxs program: ${apxscmd}.
- echo Don\'t forget to update apache config manually
- exit 0
-fi
-
-confdir=`${apxscmd} -q SYSCONFDIR`
-
-if [ ! -d ${confdir} ]; then
- echo Can\'t find Apache conf dir: ${confdir}
- exit 1
-fi
-
-if [ -f ${confdir}/httpd.conf ]; then
- conffile=httpd.conf
-fi
-
-if [ -z "${conffile}" ]; then
- echo Can\'t find ${confdir}/httpd.conf
- exit 1
-fi
-
-if ! mkdir ${tmpdir}; then
- echo Can\'t create temporary directory: ${tmpdir}
- exit 1
-fi
-
-for i in ${conffile}; do
- awk '{if (!/^# Netdisco include file[s]/ && !/^Include.*netdisco_apache.*\.conf/) \
- print $0}' < ${confdir}/$i > ${tmpdir}/$i
- echo Updating $i in config dir: ${confdir}
- cat ${tmpdir}/$i > ${confdir}/$i
-done
-
-rm -Rf ${tmpdir}
-
-exit 0
diff --git a/net-mgmt/netdisco/pkg-descr b/net-mgmt/netdisco/pkg-descr
index 1ffa83adec4a..f80ed56b8139 100644
--- a/net-mgmt/netdisco/pkg-descr
+++ b/net-mgmt/netdisco/pkg-descr
@@ -1,24 +1,17 @@
-Netdisco is an Open Source web-based network management tool.
+Netdisco is a web-based network management tool
+designed for network administrators.
+Data is collected into a PostgreSQL database using SNMP.
-Designed for moderate to large networks, configuration information and
-connection data for network devices are retrieved and set by SNMP. With
-Netdisco you can locate the switch port of an end-user system by IP or
-MAC address. Data is stored using a SQL database for scalability and
-speed.
+Some of the things you can do with Netdisco:
+ Locate a machine on the network by MAC or IP
+ and show the switch port it lives at
+ Turn off a switch port, or change the VLAN or PoE status of a port
+ Inventory your network hardware by model, vendor, software
+ and operating system
+ Pretty pictures of your network
-Cisco Discovery Protocol (CDP), Foundry Discovery Protocol (FDP), and
-SynOptics Network Management Protocol (SONMP) optionally provide
-automatic discovery of the network topology.
+App::Netdisco provides a web frontend with built-in web server,
+and a backend daemon to handle interactive requests
+such as changing port or device properties.
-The network is inventoried by both device model and operating system
-(like IOS). Netdisco uses router ARP tables and L2 switch MAC forwarding
-tables to locate nodes on physical ports and track them by their IP
-addresses.
-
-For each node, a time stamped history of the ports it has visited and
-the IP addresses it has used is maintained. Netdisco gets all its data,
-including topology information, with SNMP polls and DNS queries. It does
-not use CLI access and has no need for privilege passwords. Security
-features include a wire-side Wireless Access Point (AP) locator.
-
-WWW: http://www.netdisco.org/
+WWW: http://netdisco.org/
diff --git a/net-mgmt/netdisco/pkg-plist b/net-mgmt/netdisco/pkg-plist
index 226341d7d744..7645519bf40c 100644
--- a/net-mgmt/netdisco/pkg-plist
+++ b/net-mgmt/netdisco/pkg-plist
@@ -1,131 +1,524 @@
-bin/netdisco
-bin/parse_kismet_ap
-bin/parse_mac
-bin/port_control
-%%SITE_PERL%%/netdisco.pm
-%%DATADIR%%/sql/admin.sql
-%%DATADIR%%/sql/device.sql
-%%DATADIR%%/sql/device_ip.sql
-%%DATADIR%%/sql/device_module.sql
-%%DATADIR%%/sql/device_port.sql
-%%DATADIR%%/sql/device_port_log.sql
-%%DATADIR%%/sql/device_port_power.sql
-%%DATADIR%%/sql/device_port_ssid.sql
-%%DATADIR%%/sql/device_port_vlan.sql
-%%DATADIR%%/sql/device_port_wireless.sql
-%%DATADIR%%/sql/device_power.sql
-%%DATADIR%%/sql/device_vlan.sql
-%%DATADIR%%/sql/log.sql
-%%DATADIR%%/sql/node.sql
-%%DATADIR%%/sql/node_ip.sql
-%%DATADIR%%/sql/node_monitor.sql
-%%DATADIR%%/sql/node_nbt.sql
-%%DATADIR%%/sql/node_vlan.sql
-%%DATADIR%%/sql/node_wireless.sql
-%%DATADIR%%/sql/node_wireless_ssid.sql
-%%DATADIR%%/sql/oui.sql
-%%DATADIR%%/sql/pg
-%%DATADIR%%/sql/process.sql
-%%DATADIR%%/sql/sessions.sql
-%%DATADIR%%/sql/subnets.sql
-%%DATADIR%%/sql/topology.sql
-%%DATADIR%%/sql/upgrade-0.92-to-0.93.sql
-%%DATADIR%%/sql/upgrade-0.93-to-0.94.sql
-%%DATADIR%%/sql/upgrade-0.94-to-0.95.sql
-%%DATADIR%%/sql/upgrade-0.95-to-1.0.sql
-%%DATADIR%%/sql/upgrade-1.0-to-1.1.sql
-%%DATADIR%%/sql/upgrade-1.1-to-1.2.sql
-%%DATADIR%%/sql/upgrade-1.2-to-1.3.sql
-%%DATADIR%%/sql/user_log.sql
-%%DATADIR%%/sql/users.sql
-%%DATADIR%%/Makefile
-@owner %%WWWOWN%%
-@group %%WWWGRP%%
-%%WEBUI%%%%WWWDIR%%/admin.html
-%%WEBUI%%%%WWWDIR%%/admin_chimp.gif
-%%WEBUI%%%%WWWDIR%%/admin_dev.html
-%%WEBUI%%%%WWWDIR%%/admin_plug.gif
-%%WEBUI%%%%WWWDIR%%/admin_reconfig.html
-%%WEBUI%%%%WWWDIR%%/admin_user.html
-%%WEBUI%%%%WWWDIR%%/apache_login.html
-%%WEBUI%%%%WWWDIR%%/autohandler
-%%WEBUI%%%%WWWDIR%%/bullet.gif
-%%WEBUI%%%%WWWDIR%%/change_pw.html
-%%WEBUI%%%%WWWDIR%%/corner-bl.png
-%%WEBUI%%%%WWWDIR%%/corner-br.png
-%%WEBUI%%%%WWWDIR%%/corner-tl.png
-%%WEBUI%%%%WWWDIR%%/corner-tr.png
-%%WEBUI%%%%WWWDIR%%/device.html
-%%WEBUI%%%%WWWDIR%%/device_inv.html
-%%WEBUI%%%%WWWDIR%%/device_module.html
-%%WEBUI%%%%WWWDIR%%/device_module_search.html
-%%WEBUI%%%%WWWDIR%%/device_search.html
-%%WEBUI%%%%WWWDIR%%/discoball2.gif
-%%WEBUI%%%%WWWDIR%%/doc/index.html
-%%WEBUI%%%%WWWDIR%%/doc/netdisco-api-backend.html
-%%WEBUI%%%%WWWDIR%%/doc/netdisco-api-shared.html
-%%WEBUI%%%%WWWDIR%%/duplex.html
-%%WEBUI%%%%WWWDIR%%/frontpanel.html
-%%WEBUI%%%%WWWDIR%%/icon_down.gif
-%%WEBUI%%%%WWWDIR%%/icon_info.gif
-%%WEBUI%%%%WWWDIR%%/icon_lock.gif
-%%WEBUI%%%%WWWDIR%%/icon_note.gif
-%%WEBUI%%%%WWWDIR%%/icon_up.gif
-%%WEBUI%%%%WWWDIR%%/icon_v.gif
-%%WEBUI%%%%WWWDIR%%/index.html
-%%WEBUI%%%%WWWDIR%%/ip_search.html
-%%WEBUI%%%%WWWDIR%%/jack_search.html
-%%WEBUI%%%%WWWDIR%%/log.html
-%%WEBUI%%%%WWWDIR%%/login.html
-%%WEBUI%%%%WWWDIR%%/logout.html
-%%WEBUI%%%%WWWDIR%%/minus.gif
-%%WEBUI%%%%WWWDIR%%/mktree.css
-%%WEBUI%%%%WWWDIR%%/mktree.js
-%%WEBUI%%%%WWWDIR%%/netdisco.css
-%%WEBUI%%%%WWWDIR%%/netdisco.ico
-%%WEBUI%%%%WWWDIR%%/netdiscoball.gif
-%%WEBUI%%%%WWWDIR%%/netmap.html
-%%WEBUI%%%%WWWDIR%%/node.html
-%%WEBUI%%%%WWWDIR%%/plus.gif
-%%WEBUI%%%%WWWDIR%%/port_info.html
-%%WEBUI%%%%WWWDIR%%/port_report.html
-%%WEBUI%%%%WWWDIR%%/portcontrol.html
-%%WEBUI%%%%WWWDIR%%/powered_by_mason.jpg
-%%WEBUI%%%%WWWDIR%%/public_debugging.html
-%%WEBUI%%%%WWWDIR%%/reports.html
-%%WEBUI%%%%WWWDIR%%/search.html
-%%WEBUI%%%%WWWDIR%%/sidebar.html
-%%WEBUI%%%%WWWDIR%%/stats.html
-%%WEBUI%%%%WWWDIR%%/traceroute.html
-%%WEBUI%%%%WWWDIR%%/valid-html401.png
-%%WEBUI%%%%WWWDIR%%/vcss.gif
-%%WEBUI%%%%WWWDIR%%/port_usage.html
-%%WEBUI%%%%WWWDIR%%/traffic.png
-%%WEBUI%%%%WWWDIR%%/graphs_sample.mas
-%%WEBUI%%%%WWWDIR%%/port_search.html
-%%WEBUI%%@dir %%WWWDIR%%/mason
-@owner
-@group
-%%DOCSDIR%%/ChangeLog
-%%DOCSDIR%%/DiscoveryDatabase.pod
-%%DOCSDIR%%/INSTALL.pod
-%%DOCSDIR%%/IPv6ArpNip.pod
-%%DOCSDIR%%/README.pod
-%%DOCSDIR%%/UPGRADE.pod
-%%DOCSDIR%%/WISHLIST.pod
-%%DOCSDIR%%/INSTALL
-%%DOCSDIR%%/README
-%%DOCSDIR%%/README-API-BACKEND
-%%DOCSDIR%%/README-API-SHARED
-%%DOCSDIR%%/UPGRADE
-@owner %%NETDISCO_USER%%
-@group %%NETDISCO_GROUP%%
-@sample %%ETCDIR%%/netdisco.conf.sample
-@sample %%ETCDIR%%/netdisco-topology.txt.sample
-@sample %%ETCDIR%%/netdisco.crontab.sample
-@sample %%ETCDIR%%/netdisco_apache.conf.sample
-@sample %%ETCDIR%%/netdisco_apache_dir.conf.sample
-@unexec if [ -L %%APACHEETCDIR%%/Includes/netdisco_apache_dir.conf ] ; then rm %%APACHEETCDIR%%/Includes/netdisco_apache_dir.conf; fi
-@unexec if [ -L %%APACHEETCDIR%%/Includes/netdisco_apache.conf ] ; then rm %%APACHEETCDIR%%/Includes/netdisco_apache.conf; fi
-@owner
-@group
+bin/nd-import-topology
+bin/netdisco-daemon
+bin/netdisco-daemon-fg
+bin/netdisco-db-deploy
+bin/netdisco-deploy
+bin/netdisco-do
+bin/netdisco-rancid-export
+bin/netdisco-sshcollector
+bin/netdisco-web
+bin/netdisco-web-fg
+@sample %%ETCDIR%%/netdiscologs.conf.sample
+@sample %%ETCDIR%%/environments/deployment.yml.sample
+%%PERL5_MAN3%%/App::Netdisco.3.gz
+%%PERL5_MAN3%%/App::Netdisco::AnyEvent::Nbtstat.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Core::Arpnip.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Core::Discover.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Core::Macsuck.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Core::Nbtstat.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ExplicitLocking.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::Admin.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::Device.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DeviceIp.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DeviceModule.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DevicePort.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DevicePortLog.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DevicePortPower.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DevicePortSsid.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DevicePortVlan.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DevicePortWireless.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DevicePower.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::DeviceVlan.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::Node.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::NodeIp.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::NodeNbt.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::Result::NodeWireless.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::Admin.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::Device.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::DeviceModule.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::DevicePort.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::DevicePortLog.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::DevicePortSsid.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::DevicePower.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::Node.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::NodeIp.3.gz
+%%PERL5_MAN3%%/App::Netdisco::DB::ResultSet::NodeNbt.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Daemon::Job.3.gz
+%%PERL5_MAN3%%/App::Netdisco::JobQueue.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Manual::BSDInstall.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Manual::Configuration.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Manual::Deployment.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Manual::Developing.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Manual::ReleaseNotes.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Manual::Troubleshooting.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Manual::WritingPlugins.3.gz
+%%PERL5_MAN3%%/App::Netdisco::SSHCollector::Platform::ACE.3.gz
+%%PERL5_MAN3%%/App::Netdisco::SSHCollector::Platform::ASA.3.gz
+%%PERL5_MAN3%%/App::Netdisco::SSHCollector::Platform::BigIP.3.gz
+%%PERL5_MAN3%%/App::Netdisco::SSHCollector::Platform::IOS.3.gz
+%%PERL5_MAN3%%/App::Netdisco::SSHCollector::Platform::IOSXR.3.gz
+%%PERL5_MAN3%%/App::Netdisco::SSHCollector::Platform::Linux.3.gz
+%%PERL5_MAN3%%/App::Netdisco::SSHCollector::Platform::PaloAlto.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::DNS.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::Device.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::ExpandParams.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::Graph.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::Node.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::Permission.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::Port.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::PortMAC.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::SNMP.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Util::Web.3.gz
+%%PERL5_MAN3%%/App::Netdisco::Web::Plugin.3.gz
+%%SITE_PERL%%/App/Netdisco.pm
+%%SITE_PERL%%/App/Netdisco/AnyEvent/Nbtstat.pm
+%%SITE_PERL%%/App/Netdisco/Configuration.pm
+%%SITE_PERL%%/App/Netdisco/Core/Arpnip.pm
+%%SITE_PERL%%/App/Netdisco/Core/Discover.pm
+%%SITE_PERL%%/App/Netdisco/Core/Macsuck.pm
+%%SITE_PERL%%/App/Netdisco/Core/Nbtstat.pm
+%%SITE_PERL%%/App/Netdisco/DB.pm
+%%SITE_PERL%%/App/Netdisco/DB/ExplicitLocking.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Admin.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Community.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Device.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DeviceIp.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DeviceModule.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DevicePort.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DevicePortLog.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DevicePortPower.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DevicePortSsid.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DevicePortVlan.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DevicePortWireless.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DevicePower.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DeviceRoute.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/DeviceVlan.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Log.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Node.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/NodeIp.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/NodeMonitor.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/NodeNbt.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/NodeWireless.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Oui.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Process.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Session.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Subnet.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Topology.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/User.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/UserLog.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/ActiveNode.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/ActiveNodeWithAge.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/ApRadioChannelPower.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/CidrIps.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/DeviceDnsMismatch.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/DevicePoeStatus.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/DuplexMismatch.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/GenericReport.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/NodeMonitor.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/NodeWithAge.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/NodesDiscovered.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/OrphanedDevices.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/PollerPerformance.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/PortUtilization.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/SlowDevices.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/SubnetUtilization.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/UnDirEdgesAgg.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/UndiscoveredNeighbors.pm
+%%SITE_PERL%%/App/Netdisco/DB/Result/Virtual/UserRole.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/Admin.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/Device.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/DeviceModule.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/DevicePort.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/DevicePortLog.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/DevicePortSsid.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/DevicePower.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/Node.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/NodeIp.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/NodeNbt.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/NodeWireless.pm
+%%SITE_PERL%%/App/Netdisco/DB/ResultSet/Subnet.pm
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-1-2-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-10-11-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-11-12-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-12-13-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-13-14-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-14-15-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-15-16-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-16-17-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-17-18-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-18-19-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-19-20-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-2-3-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-20-21-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-21-22-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-22-23-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-23-24-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-24-25-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-25-26-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-26-27-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-27-28-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-28-29-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-29-30-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-3-4-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-30-31-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-31-32-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-32-33-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-33-34-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-34-35-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-35-36-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-36-37-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-37-38-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-38-39-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-39-40-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-4-5-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-5-6-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-6-7-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-7-8-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-8-9-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/DB/schema_versions/App-Netdisco-DB-9-10-PostgreSQL.sql
+%%SITE_PERL%%/App/Netdisco/Daemon/Job.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Util.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Common.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Interactive/DeviceActions.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Interactive/PortActions.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Manager.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller/Arpnip.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller/Common.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller/Device.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller/Expiry.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller/Macsuck.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller/Nbtstat.pm
+%%SITE_PERL%%/App/Netdisco/Daemon/Worker/Scheduler.pm
+%%SITE_PERL%%/App/Netdisco/Environment.pm
+%%SITE_PERL%%/App/Netdisco/JobQueue.pm
+%%SITE_PERL%%/App/Netdisco/JobQueue/PostgreSQL.pm
+%%SITE_PERL%%/App/Netdisco/Manual/BSDInstall.pod
+%%SITE_PERL%%/App/Netdisco/Manual/Configuration.pod
+%%SITE_PERL%%/App/Netdisco/Manual/Deployment.pod
+%%SITE_PERL%%/App/Netdisco/Manual/Developing.pod
+%%SITE_PERL%%/App/Netdisco/Manual/ReleaseNotes.pod
+%%SITE_PERL%%/App/Netdisco/Manual/Troubleshooting.pod
+%%SITE_PERL%%/App/Netdisco/Manual/WritingPlugins.pod
+%%SITE_PERL%%/App/Netdisco/SSHCollector/Platform/ACE.pm
+%%SITE_PERL%%/App/Netdisco/SSHCollector/Platform/ASA.pm
+%%SITE_PERL%%/App/Netdisco/SSHCollector/Platform/BigIP.pm
+%%SITE_PERL%%/App/Netdisco/SSHCollector/Platform/IOS.pm
+%%SITE_PERL%%/App/Netdisco/SSHCollector/Platform/IOSXR.pm
+%%SITE_PERL%%/App/Netdisco/SSHCollector/Platform/Linux.pm
+%%SITE_PERL%%/App/Netdisco/SSHCollector/Platform/PaloAlto.pm
+%%SITE_PERL%%/App/Netdisco/Util/DNS.pm
+%%SITE_PERL%%/App/Netdisco/Util/Daemon.pm
+%%SITE_PERL%%/App/Netdisco/Util/Device.pm
+%%SITE_PERL%%/App/Netdisco/Util/ExpandParams.pm
+%%SITE_PERL%%/App/Netdisco/Util/Graph.pm
+%%SITE_PERL%%/App/Netdisco/Util/Node.pm
+%%SITE_PERL%%/App/Netdisco/Util/NodeMonitor.pm
+%%SITE_PERL%%/App/Netdisco/Util/Noop.pm
+%%SITE_PERL%%/App/Netdisco/Util/Permission.pm
+%%SITE_PERL%%/App/Netdisco/Util/Port.pm
+%%SITE_PERL%%/App/Netdisco/Util/PortMAC.pm
+%%SITE_PERL%%/App/Netdisco/Util/SNMP.pm
+%%SITE_PERL%%/App/Netdisco/Util/Web.pm
+%%SITE_PERL%%/App/Netdisco/Web.pm
+%%SITE_PERL%%/App/Netdisco/Web/AdminTask.pm
+%%SITE_PERL%%/App/Netdisco/Web/Auth/Provider/DBIC.pm
+%%SITE_PERL%%/App/Netdisco/Web/AuthN.pm
+%%SITE_PERL%%/App/Netdisco/Web/Device.pm
+%%SITE_PERL%%/App/Netdisco/Web/GenericReport.pm
+%%SITE_PERL%%/App/Netdisco/Web/Password.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/JobQueue.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/NodeMonitor.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/OrphanedDevices.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/PollerPerformance.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/PseudoDevice.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/SlowDevices.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/Topology.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/UndiscoveredNeighbors.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/UserLog.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask/Users.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Device/Addresses.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Device/Details.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Device/Modules.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Device/Neighbors.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Device/Ports.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Inventory.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/ApChannelDist.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/ApClients.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/ApRadioChannelPower.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/DeviceAddrNoDNS.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/DeviceByLocation.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/DeviceDnsMismatch.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/DevicePoeStatus.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/DuplexMismatch.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/HalfDuplex.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/InventoryByModelByOS.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/IpInventory.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/ModuleInventory.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/Netbios.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/NodeMultiIPs.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/NodeVendor.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/NodesDiscovered.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/PortAdminDown.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/PortBlocking.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/PortLog.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/PortMultiNodes.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/PortSsid.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/PortUtilization.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/SsidInventory.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/SubnetUtilization.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Report/VlanInventory.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Search/Device.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Search/Node.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Search/Port.pm
+%%SITE_PERL%%/App/Netdisco/Web/Plugin/Search/VLAN.pm
+%%SITE_PERL%%/App/Netdisco/Web/PortControl.pm
+%%SITE_PERL%%/App/Netdisco/Web/Report.pm
+%%SITE_PERL%%/App/Netdisco/Web/Search.pm
+%%SITE_PERL%%/App/Netdisco/Web/Static.pm
+%%SITE_PERL%%/App/Netdisco/Web/Statistics.pm
+%%SITE_PERL%%/App/Netdisco/Web/TypeAhead.pm
+%%SITE_PERL%%/Dancer/Template/NetdiscoTemplateToolkit.pm
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/config.yml
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/environments/deployment.yml
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/500.html
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/bootstrap-tree.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/bootstrap.min.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/dataTables.bootstrap.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/daterangepicker-bs2.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/font-awesome.min.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/jquery.qtip.min.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/nd_print.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/netdisco.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/animated-overlay.gif
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-icons_222222_256x240.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-icons_2e83ff_256x240.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-icons_454545_256x240.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-icons_888888_256x240.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images/ui-icons_cd0a0a_256x240.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/jquery-ui.custom.min.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/toastr.css
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/dispatch.cgi
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/dispatch.fcgi
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/font/FontAwesome.otf
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/font/fontawesome-webfont.eot
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/font/fontawesome-webfont.svg
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/font/fontawesome-webfont.ttf
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/font/fontawesome-webfont.woff
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/crystalclear_mag.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/diagona_settings.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/dusseldorf_settings.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/glyphicons_072_bookmark.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/matte_basic_pin.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/navbar_disco.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/sort_asc.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/sort_asc_disabled.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/sort_both.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/sort_desc.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/sort_desc_disabled.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/splashyfish_left.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/splashyfish_right.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/tango_sweep.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images/vaga_copy.png
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/bootstrap.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/d3.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/dataTables.bootstrap.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/dataTables.ip-address-detect.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/dataTables.ip-address-sort.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/daterangepicker.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/he.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery-deserialize.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery-history.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery-latest.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery-ui.custom.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery.cookie.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery.dataTables.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery.floatThead.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/jquery.qtip.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/moment.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/natural.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/netdisco.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/netdisco_portcontrol.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/portsort.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/toastr.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts/underscore.min.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/admintask.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/jobqueue.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/nodemonitor.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/orphaned.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/orphaned_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/performance.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/pseudodevice.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/slowdevices.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/topology.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/undiscoveredneighbors.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/undiscoveredneighbors_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/userlog.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask/users.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/datatabledefaults.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device/addresses.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device/addresses_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device/details.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device/modules.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device/netmap.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device/ports.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device/ports_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/apchanneldist.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/apchanneldist_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/apclients.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/apclients_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/apradiochannelpower.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/apradiochannelpower_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/deviceaddrnodns.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/deviceaddrnodns_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/devicebylocation.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/devicebylocation_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/devicednsmismatch.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/devicednsmismatch_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/devicepoestatus.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/devicepoestatus_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/duplexmismatch.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/duplexmismatch_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/generic_report.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/generic_report_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/halfduplex.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/halfduplex_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/inventorybymodelbyos.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/ipinventory.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/ipinventory_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/moduleinventory.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/moduleinventory_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/netbios.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/netbios_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/nodemultiips.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/nodemultiips_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/nodevendor.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/nodevendor_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/nodesdiscovered.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/nodesdiscovered_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portadmindown.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portadmindown_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portblocking.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portblocking_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portlog.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portmultinodes.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portmultinodes_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portssid.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portssid_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portutilization.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/portutilization_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/subnets.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/subnets_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/vlaninventory.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report/vlaninventory_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/device.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/device_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/node_by_ip.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/node_by_mac.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/port.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/port_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/vlan.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search/vlan_csv.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/generic_report.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/nodesdiscovered.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/statistics.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/device.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/index.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/inventory.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/js/admintask.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/js/bootstrap-tree.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/js/common.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/js/device.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/js/report.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/js/search.js
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/layouts/main.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/password.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/plugin.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/report.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/search.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/device/netmap.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/device/ports.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/ipinventory.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/moduleinventory.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/netbios.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/nodevendor.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/portlog.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/portssid.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report/subnets.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/search/device.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/search/node.tt
+%%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/search/port.tt
+man/man1/nd-import-topology.1.gz
+man/man1/netdisco-daemon-fg.1.gz
+man/man1/netdisco-daemon.1.gz
+man/man1/netdisco-db-deploy.1.gz
+man/man1/netdisco-deploy.1.gz
+man/man1/netdisco-do.1.gz
+man/man1/netdisco-rancid-export.1.gz
+man/man1/netdisco-sshcollector.1.gz
+man/man1/netdisco-web-fg.1.gz
+man/man1/netdisco-web.1.gz
+@dir %%SITE_PERL%%/App/Netdisco/AnyEvent
+@dir %%SITE_PERL%%/App/Netdisco/Core
+@dir %%SITE_PERL%%/App/Netdisco/DB/Result/Virtual
+@dir %%SITE_PERL%%/App/Netdisco/DB/Result
+@dir %%SITE_PERL%%/App/Netdisco/DB/ResultSet
+@dir %%SITE_PERL%%/App/Netdisco/DB/schema_versions
+@dir %%SITE_PERL%%/App/Netdisco/DB
+@dir %%SITE_PERL%%/App/Netdisco/Daemon/Worker/Interactive
+@dir %%SITE_PERL%%/App/Netdisco/Daemon/Worker/Poller
+@dir %%SITE_PERL%%/App/Netdisco/Daemon/Worker
+@dir %%SITE_PERL%%/App/Netdisco/Daemon
+@dir %%SITE_PERL%%/App/Netdisco/JobQueue
+@dir %%SITE_PERL%%/App/Netdisco/Manual
+@dir %%SITE_PERL%%/App/Netdisco/Util
+@dir %%SITE_PERL%%/App/Netdisco/Web/Auth/Provider
+@dir %%SITE_PERL%%/App/Netdisco/Web/Auth
+@dir %%SITE_PERL%%/App/Netdisco/Web/Plugin/AdminTask
+@dir %%SITE_PERL%%/App/Netdisco/Web/Plugin/Device
+@dir %%SITE_PERL%%/App/Netdisco/Web/Plugin/Report
+@dir %%SITE_PERL%%/App/Netdisco/Web/Plugin/Search
+@dir %%SITE_PERL%%/App/Netdisco/Web/Plugin
+@dir %%SITE_PERL%%/App/Netdisco/Web
+@dir %%SITE_PERL%%/App/Netdisco
+@dir %%SITE_PERL%%/App
+@dir %%SITE_PERL%%/Dancer/Template
+@dir %%SITE_PERL%%/Dancer
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/environments
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness/images
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css/smoothness
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/public/css
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/public/font
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/public/images
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/public/javascripts
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/public
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/admintask
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/device
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/report
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax/search
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/ajax
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/js
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/layouts
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/device
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/report
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar/search
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views/sidebar
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco/views
+@dir %%SITE_PERL%%/auto/share/dist/App-Netdisco
+@dir %%SITE_PERL%%/auto/share/dist
+@dir %%SITE_PERL%%/auto/share
+@owner netdisco
+@mode 0750
+%%ETCDIR%%/perl5/bin/localenv