summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortez <tez>2011-11-22 22:23:13 +0000
committertez <tez>2011-11-22 22:23:13 +0000
commit33ae668a641280b8b756ce94ed401f020ab4cfc5 (patch)
tree757688bfa4b7c1c71b3b9209004b569722145cc8
parenta623a0acf3018468f3fd13be96a380d2359b67cc (diff)
downloadpkgsrc-33ae668a641280b8b756ce94ed401f020ab4cfc5.tar.gz
Cacti is a complete frontend to rrdtool, it stores all of the necessary
information to create graphs and populates them with data in a MySQL database. The frontend is completely PHP driven. Along with being able to maintain Graphs, Data Sources, and Round Robin Archives in a database, cacti handles the data gathering also. There is also SNMP support for those used to creating traffic graphs with MRTG. The Plugin Architecture for Cacti was designed to be both simple in nature and robust enough to allow freedom to do almost anything in Cacti. The Plugin Architecture for Cacti is integrated into this package. (created from wip/cacti by pettai)
-rw-r--r--net/cacti/DESCR10
-rw-r--r--net/cacti/MESSAGE47
-rw-r--r--net/cacti/Makefile94
-rw-r--r--net/cacti/PLIST482
-rw-r--r--net/cacti/distinfo12
-rw-r--r--net/cacti/files/freebsd_memory.pl23
-rw-r--r--net/cacti/files/httpd-cacti.conf21
-rw-r--r--net/cacti/files/netbsd_memory.pl23
-rw-r--r--net/cacti/files/solaris_memory.pl23
-rw-r--r--net/cacti/patches/patch-cacti.sql15
-rw-r--r--net/cacti/patches/patch-include_global.php15
-rw-r--r--net/cacti/patches/patch-include_global__settings.php18
-rw-r--r--net/cacti/patches/patch-install_index.php35
13 files changed, 818 insertions, 0 deletions
diff --git a/net/cacti/DESCR b/net/cacti/DESCR
new file mode 100644
index 00000000000..74509f1bcd5
--- /dev/null
+++ b/net/cacti/DESCR
@@ -0,0 +1,10 @@
+Cacti is a complete frontend to rrdtool, it stores all of the necessary
+information to create graphs and populates them with data in a MySQL
+database. The frontend is completely PHP driven. Along with being able
+to maintain Graphs, Data Sources, and Round Robin Archives in a
+database, cacti handles the data gathering also. There is also SNMP
+support for those used to creating traffic graphs with MRTG.
+
+The Plugin Architecture for Cacti was designed to be both simple in nature
+and robust enough to allow freedom to do almost anything in Cacti. The
+Plugin Architecture for Cacti is integrated into this package.
diff --git a/net/cacti/MESSAGE b/net/cacti/MESSAGE
new file mode 100644
index 00000000000..2d7f8d4d9c4
--- /dev/null
+++ b/net/cacti/MESSAGE
@@ -0,0 +1,47 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+
+cacti is now installed.
+
+To get cacti up and running asap, you have to complete these steps:
+
+- Install & Configure mysql-server
+
+- Add a cacti database and cactiuser user to mysql
+
+ mysql> CREATE DATABASE cacti;
+ mysql> GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost'
+ -> IDENTIFIED BY 'cactiuser';
+
+- Add the cacti database layout (${CACTIDIR}/cacti.sql) to mysql
+
+ shell> mysql [-p] cacti < ${CACTIDIR}/cacti.sql
+
+- Add a symlink from ${CACTIDIR}/scripts/local_memory.pl to the appropriate
+ *_memory.pl script (or create one if none for your OS exists)
+
+ shell> ln -s ${CACTIDIR}/scripts/netbsd_memory.pl \
+ ${CACTIDIR}/scripts/local_memory.pl
+
+- Install & Configure an apache webserver
+
+- If you have not already done so, add these lines to enable php extensions
+ required by cacti in ${PKG_SYSCONFBASE}/etc/php.ini
+
+ extension=mysql.so
+ extension=snmp.so
+ extension=sockets.so
+
+- Append this to apache's httpd.conf and restart apache
+
+ Include etc/httpd/httpd-cacti.conf
+
+- Add the following lines to ${CACTI_USER}'s crontab
+
+# Invoke poller.php to collect snmp-statistics
+*/5 * * * * ${PREFIX}/bin/php ${CACTIDIR}/poller.php > ${CACTI_LOGDIR}/poller.log 2>&1
+
+Please read the included README (${CACTIDIR}/docs/README) file,
+for more information about configuring and starting cacti.
+
+===========================================================================
diff --git a/net/cacti/Makefile b/net/cacti/Makefile
new file mode 100644
index 00000000000..8f1c49693be
--- /dev/null
+++ b/net/cacti/Makefile
@@ -0,0 +1,94 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+#
+
+DISTNAME= cacti-0.8.7h
+CATEGORIES= net
+DISTFILES= cacti-0.8.7h.tar.gz
+DISTFILES+= cacti-plugin-0.8.7h-PA-v3.0.tar.gz
+MASTER_SITES= http://www.cacti.net/downloads/
+MASTER_SITES+= http://www.cacti.net/downloads/pia/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.cacti.net/
+COMMENT= Frontend to rrdtool for monitoring systems and services
+LICENSE= gnu-gpl-v2
+
+USE_LANGUAGES= # none
+USE_TOOLS+= pax
+NO_BUILD= yes
+PKG_DESTDIR_SUPPORT= user-destdir
+
+DEPENDS+= ${PHP_PKG_PREFIX}-mysql-[0-9]*:../../databases/php-mysql
+DEPENDS+= ${PHP_PKG_PREFIX}-snmp-[0-9]*:../../net/php-snmp/
+DEPENDS+= ${PHP_PKG_PREFIX}-sockets-[0-9]*:../../net/php-sockets/
+DEPENDS+= ${APACHE_PKG_PREFIX}-${PHP_PKG_PREFIX}-[0-9]*:../../www/ap-php/
+
+.include "../../mk/bsd.prefs.mk"
+.include "../../lang/php/phpversion.mk"
+.include "../../mk/apache.mk"
+
+PKG_USERS= ${CACTI_USER}:${CACTI_GROUP}
+PKG_GROUPS= ${CACTI_GROUP}
+PKG_GECOS.${CACTI_USER}= Cacti user
+PKG_HOME.${CACTI_USER}= ${CACTIDIR}
+PKG_SHELL.${CACTI_USER}= ${SH}
+PKG_USERS_VARS+= CACTI_USER
+PKG_GROUPS_VARS+= CACTI_GROUP
+
+BUILD_DEFS+= PKG_SYSCONFBASE
+PKG_SYSCONFSUBDIR?= httpd
+EGDIR= ${PREFIX}/share/examples/cacti
+CONF_FILES+= ${EGDIR}/httpd-cacti.conf ${PKG_SYSCONFDIR}/httpd-cacti.conf
+CACTIDIR= ${PREFIX}/share/cacti
+CACTI_LOGDIR?= ${CACTIDIR}/log
+CACTI_RRADIR?= ${CACTIDIR}/rra
+
+REPLACE_INTERPRETER+= php
+REPLACE.php.old= .*php[^ ]*
+REPLACE.php.new= ${PREFIX}/bin/php
+REPLACE_FILES.php= cli/*.php
+
+MESSAGE_SUBST+= CACTIDIR=${CACTIDIR}
+MESSAGE_SUBST+= CACTI_LOGDIR=${CACTI_LOGDIR}
+MESSAGE_SUBST+= CACTI_USER=${CACTI_USER}
+MESSAGE_SUBST+= EGDIR=${EGDIR}
+MESSAGE_SUBST+= PREFIX=${PREFIX}
+MESSAGE_SUBST+= PKG_SYSCONFBASE=${PKG_SYSCONFBASE}
+FILES_SUBST+= CACTIDIR=${CACTIDIR}
+
+SUBST_CLASSES+= paths
+SUBST_STAGE.paths= pre-configure
+SUBST_FILES.paths= ${WRKDIR}/httpd-cacti.conf install/index.php
+SUBST_FILES.paths+= include/global.php include/global_settings.php
+SUBST_VARS.paths= CACTIDIR PREFIX CACTI_USER CACTI_LOGDIR CACTI_RRADIR
+SUBST_VARS.paths+= PKG_PHP_MAJOR_VERS
+
+SUBST_CLASSES+= docs
+SUBST_STAGE.docs= pre-configure
+SUBST_FILES.docs= docs/txt/manual.txt docs/html/*.html
+SUBST_SED.docs= -e 's,/var/www/html/cacti,${CACTIDIR},g'
+
+OWN_DIRS_PERMS+= ${CACTI_LOGDIR} ${CACTI_USER} ${CACTI_GROUP} 755
+OWN_DIRS_PERMS+= ${CACTI_RRADIR} ${CACTI_USER} ${CACTI_GROUP} 755
+SPECIAL_PERMS+= share/cacti/log/cacti.log ${CACTI_USER} ${CACTI_GROUP} 755
+
+INSTALLATION_DIRS= share/examples/cacti
+INSTALLATION_DIRS+= share/cacti
+
+pre-patch:
+ ${CP} -R ${WRKDIR}/cacti-plugin-arch/files/* ${WRKDIR}
+
+post-extract:
+ ${CP} ${FILESDIR}/httpd-cacti.conf ${WRKDIR}/
+ ${CP} ${FILESDIR}/freebsd_memory.pl ${WRKSRC}/scripts/
+ ${CP} ${FILESDIR}/netbsd_memory.pl ${WRKSRC}/scripts/
+ ${CP} ${FILESDIR}/solaris_memory.pl ${WRKSRC}/scripts/
+
+do-install:
+ ${INSTALL_DATA} ${WRKDIR}/httpd-cacti.conf ${DESTDIR}${EGDIR}/httpd-cacti.conf
+ ${FIND} ${WRKSRC} -type f -name '*.orig' -exec ${RM} -f {} \;
+ cd ${WRKSRC} && ${PAX} -wr * ${DESTDIR}${CACTIDIR}
+
+
+.include "../../databases/rrdtool/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/cacti/PLIST b/net/cacti/PLIST
new file mode 100644
index 00000000000..57c86a3e3bc
--- /dev/null
+++ b/net/cacti/PLIST
@@ -0,0 +1,482 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+share/cacti/LICENSE
+share/cacti/README
+share/cacti/about.php
+share/cacti/auth_changepassword.php
+share/cacti/auth_login.php
+share/cacti/cacti.sql
+share/cacti/cdef.php
+share/cacti/cli/.htaccess
+share/cacti/cli/add_data_query.php
+share/cacti/cli/add_device.php
+share/cacti/cli/add_graph_template.php
+share/cacti/cli/add_graphs.php
+share/cacti/cli/add_perms.php
+share/cacti/cli/add_tree.php
+share/cacti/cli/analyze_database.php
+share/cacti/cli/convert_innodb.php
+share/cacti/cli/copy_user.php
+share/cacti/cli/data_template_associate_rra.php
+share/cacti/cli/host_update_template.php
+share/cacti/cli/import_template.php
+share/cacti/cli/poller_data_sources_reapply_names.php
+share/cacti/cli/poller_graphs_reapply_names.php
+share/cacti/cli/poller_output_empty.php
+share/cacti/cli/poller_reindex_hosts.php
+share/cacti/cli/rebuild_poller_cache.php
+share/cacti/cli/repair_database.php
+share/cacti/cli/repair_templates.php
+share/cacti/cli/structure_rra_paths.php
+share/cacti/cli/upgrade_database.php
+share/cacti/cmd.php
+share/cacti/color.php
+share/cacti/data_input.php
+share/cacti/data_queries.php
+share/cacti/data_sources.php
+share/cacti/data_templates.php
+share/cacti/docs/CHANGELOG
+share/cacti/docs/CONTRIB
+share/cacti/docs/README
+share/cacti/docs/html/LICENSE.html
+share/cacti/docs/html/advanced_topics.html
+share/cacti/docs/html/basics.html
+share/cacti/docs/html/batch_copy_users.html
+share/cacti/docs/html/bsd_ports.html
+share/cacti/docs/html/cacti_help.html
+share/cacti/docs/html/cdefs.html
+share/cacti/docs/html/check_cacti_poller.html
+share/cacti/docs/html/check_data_gathering.html
+share/cacti/docs/html/check_mysql_updating.html
+share/cacti/docs/html/check_rrd_graph.html
+share/cacti/docs/html/check_rrd_numbers.html
+share/cacti/docs/html/check_rrd_owner.html
+share/cacti/docs/html/check_rrd_updating.html
+share/cacti/docs/html/check_zero_values.html
+share/cacti/docs/html/cli_add_data_query.html
+share/cacti/docs/html/cli_add_device.html
+share/cacti/docs/html/cli_add_graph_template.html
+share/cacti/docs/html/cli_add_graphs.html
+share/cacti/docs/html/cli_add_perms.html
+share/cacti/docs/html/cli_add_tree.html
+share/cacti/docs/html/cli_copy_user.html
+share/cacti/docs/html/cli_poller_graphs_reapply_names.html
+share/cacti/docs/html/cli_poller_output_empty.html
+share/cacti/docs/html/cli_poller_reindex_hosts.html
+share/cacti/docs/html/copying_user.html
+share/cacti/docs/html/create_new_user.html
+share/cacti/docs/html/data_input_methods.html
+share/cacti/docs/html/data_presentation.html
+share/cacti/docs/html/data_queries.html
+share/cacti/docs/html/data_storage.html
+share/cacti/docs/html/debug_miscellaneous.html
+share/cacti/docs/html/debug_rpm_installation.html
+share/cacti/docs/html/debugging.html
+share/cacti/docs/html/delete_users.html
+share/cacti/docs/html/enable_disable_users.html
+share/cacti/docs/html/faq.html
+share/cacti/docs/html/graph_howto.html
+share/cacti/docs/html/graph_overview.html
+share/cacti/docs/html/graph_snmp_oid.html
+share/cacti/docs/html/graph_templates.html
+share/cacti/docs/html/graph_viewing.html
+share/cacti/docs/html/guest_access.html
+share/cacti/docs/html/host_templates.html
+share/cacti/docs/html/host_variables.html
+share/cacti/docs/html/how_to.html
+share/cacti/docs/html/images/data_source_title_example1.png
+share/cacti/docs/html/images/data_source_title_example2.png
+share/cacti/docs/html/images/data_source_title_template.png
+share/cacti/docs/html/images/data_template.png
+share/cacti/docs/html/images/export_template.png
+share/cacti/docs/html/images/graph_template.png
+share/cacti/docs/html/images/graph_tree.png
+share/cacti/docs/html/images/host_template.png
+share/cacti/docs/html/images/import_template.png
+share/cacti/docs/html/images/new_device.png
+share/cacti/docs/html/images/new_graphs.png
+share/cacti/docs/html/images/principles_of_operation.png
+share/cacti/docs/html/images/user_management_batch_copy_1.png
+share/cacti/docs/html/images/user_management_batch_copy_2.png
+share/cacti/docs/html/images/user_management_copy_1.png
+share/cacti/docs/html/images/user_management_copy_2.png
+share/cacti/docs/html/images/user_management_delete_1.png
+share/cacti/docs/html/images/user_management_delete_2.png
+share/cacti/docs/html/images/user_management_edit.png
+share/cacti/docs/html/images/user_management_enable_disable_1.png
+share/cacti/docs/html/images/user_management_enable_disable_2.png
+share/cacti/docs/html/images/user_management_list.png
+share/cacti/docs/html/images/user_management_new.png
+share/cacti/docs/html/index.html
+share/cacti/docs/html/install_unix.html
+share/cacti/docs/html/install_windows.html
+share/cacti/docs/html/installation.html
+share/cacti/docs/html/making_scripts_work_with_cacti.html
+share/cacti/docs/html/migration_php_scripts_to_script_server.html
+share/cacti/docs/html/new_graphs.html
+share/cacti/docs/html/operating_principles.html
+share/cacti/docs/html/php_script_server.html
+share/cacti/docs/html/reference.html
+share/cacti/docs/html/requirements.html
+share/cacti/docs/html/rrdtool_features.html
+share/cacti/docs/html/script_query_xml.html
+share/cacti/docs/html/scripts.html
+share/cacti/docs/html/snmp_query_xml.html
+share/cacti/docs/html/template_export.html
+share/cacti/docs/html/template_import.html
+share/cacti/docs/html/templates.html
+share/cacti/docs/html/testing_script_in_script_server.html
+share/cacti/docs/html/unix_apply_patches.html
+share/cacti/docs/html/unix_configure_cacti.html
+share/cacti/docs/html/unix_configure_httpd.html
+share/cacti/docs/html/unix_configure_mysql.html
+share/cacti/docs/html/unix_configure_php.html
+share/cacti/docs/html/unix_configure_spine.html
+share/cacti/docs/html/upgrade.html
+share/cacti/docs/html/upgrade_using_hostmib_data_queries.html
+share/cacti/docs/html/user_management.html
+share/cacti/docs/html/using_spine.html
+share/cacti/docs/html/variables.html
+share/cacti/docs/pdf/README
+share/cacti/docs/txt/manual.txt
+share/cacti/gprint_presets.php
+share/cacti/graph.php
+share/cacti/graph_image.php
+share/cacti/graph_settings.php
+share/cacti/graph_templates.php
+share/cacti/graph_templates_inputs.php
+share/cacti/graph_templates_items.php
+share/cacti/graph_view.php
+share/cacti/graph_xport.php
+share/cacti/graphs.php
+share/cacti/graphs_items.php
+share/cacti/graphs_new.php
+share/cacti/host.php
+share/cacti/host_templates.php
+share/cacti/images/arrow.gif
+share/cacti/images/auth_deny.gif
+share/cacti/images/auth_login.gif
+share/cacti/images/auth_logout.gif
+share/cacti/images/button_add.gif
+share/cacti/images/button_cancel.gif
+share/cacti/images/button_cancel2.gif
+share/cacti/images/button_clear.gif
+share/cacti/images/button_colapse_all.gif
+share/cacti/images/button_create.gif
+share/cacti/images/button_default.gif
+share/cacti/images/button_delete.gif
+share/cacti/images/button_expand_all.gif
+share/cacti/images/button_export.gif
+share/cacti/images/button_go.gif
+share/cacti/images/button_help.gif
+share/cacti/images/button_import.gif
+share/cacti/images/button_no.gif
+share/cacti/images/button_purge.gif
+share/cacti/images/button_refresh.gif
+share/cacti/images/button_save.gif
+share/cacti/images/button_view.gif
+share/cacti/images/button_yes.gif
+share/cacti/images/cacti_about_logo.gif
+share/cacti/images/cacti_backdrop.gif
+share/cacti/images/cacti_backdrop2.gif
+share/cacti/images/cacti_logo.gif
+share/cacti/images/calendar.gif
+share/cacti/images/delete_icon.gif
+share/cacti/images/delete_icon_large.gif
+share/cacti/images/favicon.ico
+share/cacti/images/graph_page_top.gif
+share/cacti/images/graph_properties.gif
+share/cacti/images/graph_query.png
+share/cacti/images/graph_zoom.gif
+share/cacti/images/hide.gif
+share/cacti/images/left_border.gif
+share/cacti/images/menu_line.gif
+share/cacti/images/menuarrow.gif
+share/cacti/images/move_down.gif
+share/cacti/images/move_left.gif
+share/cacti/images/move_right.gif
+share/cacti/images/move_up.gif
+share/cacti/images/reload_icon_small.gif
+share/cacti/images/shadow.gif
+share/cacti/images/shadow_gray.gif
+share/cacti/images/show.gif
+share/cacti/images/tab_cacti.gif
+share/cacti/images/tab_console.gif
+share/cacti/images/tab_console_down.gif
+share/cacti/images/tab_graphs.gif
+share/cacti/images/tab_graphs_down.gif
+share/cacti/images/tab_mode_list.gif
+share/cacti/images/tab_mode_list_down.gif
+share/cacti/images/tab_mode_preview.gif
+share/cacti/images/tab_mode_preview_down.gif
+share/cacti/images/tab_mode_tree.gif
+share/cacti/images/tab_mode_tree_down.gif
+share/cacti/images/tab_settings.gif
+share/cacti/images/tab_settings_down.gif
+share/cacti/images/transparent_line.gif
+share/cacti/include/auth.php
+share/cacti/include/bottom_footer.php
+share/cacti/include/config.php
+share/cacti/include/global.php
+share/cacti/include/global_arrays.php
+share/cacti/include/global_constants.php
+share/cacti/include/global_form.php
+share/cacti/include/global_settings.php
+share/cacti/include/jscalendar/calendar-setup.js
+share/cacti/include/jscalendar/calendar.js
+share/cacti/include/jscalendar/lang/calendar-af.js
+share/cacti/include/jscalendar/lang/calendar-al.js
+share/cacti/include/jscalendar/lang/calendar-bg.js
+share/cacti/include/jscalendar/lang/calendar-big5-utf8.js
+share/cacti/include/jscalendar/lang/calendar-big5.js
+share/cacti/include/jscalendar/lang/calendar-br.js
+share/cacti/include/jscalendar/lang/calendar-ca.js
+share/cacti/include/jscalendar/lang/calendar-cs-utf8.js
+share/cacti/include/jscalendar/lang/calendar-cs-win.js
+share/cacti/include/jscalendar/lang/calendar-da.js
+share/cacti/include/jscalendar/lang/calendar-de.js
+share/cacti/include/jscalendar/lang/calendar-du.js
+share/cacti/include/jscalendar/lang/calendar-el.js
+share/cacti/include/jscalendar/lang/calendar-en.js
+share/cacti/include/jscalendar/lang/calendar-es.js
+share/cacti/include/jscalendar/lang/calendar-fi.js
+share/cacti/include/jscalendar/lang/calendar-fr.js
+share/cacti/include/jscalendar/lang/calendar-he-utf8.js
+share/cacti/include/jscalendar/lang/calendar-hr-utf8.js
+share/cacti/include/jscalendar/lang/calendar-hr.js
+share/cacti/include/jscalendar/lang/calendar-hu.js
+share/cacti/include/jscalendar/lang/calendar-it.js
+share/cacti/include/jscalendar/lang/calendar-jp.js
+share/cacti/include/jscalendar/lang/calendar-ko-utf8.js
+share/cacti/include/jscalendar/lang/calendar-ko.js
+share/cacti/include/jscalendar/lang/calendar-lt-utf8.js
+share/cacti/include/jscalendar/lang/calendar-lt.js
+share/cacti/include/jscalendar/lang/calendar-lv.js
+share/cacti/include/jscalendar/lang/calendar-nl.js
+share/cacti/include/jscalendar/lang/calendar-no.js
+share/cacti/include/jscalendar/lang/calendar-pl-utf8.js
+share/cacti/include/jscalendar/lang/calendar-pl.js
+share/cacti/include/jscalendar/lang/calendar-pt.js
+share/cacti/include/jscalendar/lang/calendar-ro.js
+share/cacti/include/jscalendar/lang/calendar-ru.js
+share/cacti/include/jscalendar/lang/calendar-ru_win_.js
+share/cacti/include/jscalendar/lang/calendar-si.js
+share/cacti/include/jscalendar/lang/calendar-sk.js
+share/cacti/include/jscalendar/lang/calendar-sp.js
+share/cacti/include/jscalendar/lang/calendar-sv.js
+share/cacti/include/jscalendar/lang/calendar-tr.js
+share/cacti/include/jscalendar/lang/calendar-zh.js
+share/cacti/include/jscalendar/lang/cn_utf8.js
+share/cacti/include/layout.js
+share/cacti/include/main.css
+share/cacti/include/top_graph_header.php
+share/cacti/include/top_header.php
+share/cacti/include/treeview/ftiens4.js
+share/cacti/include/treeview/ftiens4_export.js
+share/cacti/include/treeview/ftv2blank.gif
+share/cacti/include/treeview/ftv2lastnode.gif
+share/cacti/include/treeview/ftv2mlastnode.gif
+share/cacti/include/treeview/ftv2mnode.gif
+share/cacti/include/treeview/ftv2node.gif
+share/cacti/include/treeview/ftv2plastnode.gif
+share/cacti/include/treeview/ftv2pnode.gif
+share/cacti/include/treeview/ftv2vertline.gif
+share/cacti/include/treeview/ua.js
+share/cacti/include/zoom.js
+share/cacti/index.php
+share/cacti/install/0_8_1_to_0_8_2.php
+share/cacti/install/0_8_2_to_0_8_2a.php
+share/cacti/install/0_8_2a_to_0_8_3.php
+share/cacti/install/0_8_3_to_0_8_4.php
+share/cacti/install/0_8_4_to_0_8_5.php
+share/cacti/install/0_8_5a_to_0_8_6.php
+share/cacti/install/0_8_6_to_0_8_6a.php
+share/cacti/install/0_8_6c_to_0_8_6d.php
+share/cacti/install/0_8_6d_to_0_8_6e.php
+share/cacti/install/0_8_6f_to_0_8_6g.php
+share/cacti/install/0_8_6g_to_0_8_6h.php
+share/cacti/install/0_8_6h_to_0_8_6i.php
+share/cacti/install/0_8_6j_to_0_8_7.php
+share/cacti/install/0_8_7_to_0_8_7a.php
+share/cacti/install/0_8_7a_to_0_8_7b.php
+share/cacti/install/0_8_7b_to_0_8_7c.php
+share/cacti/install/0_8_7c_to_0_8_7d.php
+share/cacti/install/0_8_7d_to_0_8_7e.php
+share/cacti/install/0_8_7e_to_0_8_7f.php
+share/cacti/install/0_8_7f_to_0_8_7g.php
+share/cacti/install/0_8_7g_to_0_8_7h.php
+share/cacti/install/0_8_to_0_8_1.php
+share/cacti/install/index.php
+share/cacti/install/install_finish.gif
+share/cacti/install/install_next.gif
+share/cacti/lib/adodb/adodb-csvlib.inc.php
+share/cacti/lib/adodb/adodb-datadict.inc.php
+share/cacti/lib/adodb/adodb-error.inc.php
+share/cacti/lib/adodb/adodb-errorhandler.inc.php
+share/cacti/lib/adodb/adodb-errorpear.inc.php
+share/cacti/lib/adodb/adodb-exceptions.inc.php
+share/cacti/lib/adodb/adodb-iterator.inc.php
+share/cacti/lib/adodb/adodb-lib.inc.php
+share/cacti/lib/adodb/adodb-pear.inc.php
+share/cacti/lib/adodb/adodb-perf.inc.php
+share/cacti/lib/adodb/adodb-php4.inc.php
+share/cacti/lib/adodb/adodb-time.inc.php
+share/cacti/lib/adodb/adodb-xmlschema.inc.php
+share/cacti/lib/adodb/adodb.inc.php
+share/cacti/lib/adodb/datadict/datadict-access.inc.php
+share/cacti/lib/adodb/datadict/datadict-db2.inc.php
+share/cacti/lib/adodb/datadict/datadict-firebird.inc.php
+share/cacti/lib/adodb/datadict/datadict-generic.inc.php
+share/cacti/lib/adodb/datadict/datadict-ibase.inc.php
+share/cacti/lib/adodb/datadict/datadict-informix.inc.php
+share/cacti/lib/adodb/datadict/datadict-mssql.inc.php
+share/cacti/lib/adodb/datadict/datadict-mysql.inc.php
+share/cacti/lib/adodb/datadict/datadict-oci8.inc.php
+share/cacti/lib/adodb/datadict/datadict-postgres.inc.php
+share/cacti/lib/adodb/datadict/datadict-sapdb.inc.php
+share/cacti/lib/adodb/datadict/datadict-sybase.inc.php
+share/cacti/lib/adodb/drivers/adodb-access.inc.php
+share/cacti/lib/adodb/drivers/adodb-ado.inc.php
+share/cacti/lib/adodb/drivers/adodb-ado5.inc.php
+share/cacti/lib/adodb/drivers/adodb-ado_access.inc.php
+share/cacti/lib/adodb/drivers/adodb-ado_mssql.inc.php
+share/cacti/lib/adodb/drivers/adodb-borland_ibase.inc.php
+share/cacti/lib/adodb/drivers/adodb-csv.inc.php
+share/cacti/lib/adodb/drivers/adodb-db2.inc.php
+share/cacti/lib/adodb/drivers/adodb-fbsql.inc.php
+share/cacti/lib/adodb/drivers/adodb-firebird.inc.php
+share/cacti/lib/adodb/drivers/adodb-ibase.inc.php
+share/cacti/lib/adodb/drivers/adodb-informix.inc.php
+share/cacti/lib/adodb/drivers/adodb-informix72.inc.php
+share/cacti/lib/adodb/drivers/adodb-ldap.inc.php
+share/cacti/lib/adodb/drivers/adodb-mssql.inc.php
+share/cacti/lib/adodb/drivers/adodb-mssqlpo.inc.php
+share/cacti/lib/adodb/drivers/adodb-mysql.inc.php
+share/cacti/lib/adodb/drivers/adodb-mysqli.inc.php
+share/cacti/lib/adodb/drivers/adodb-mysqlt.inc.php
+share/cacti/lib/adodb/drivers/adodb-netezza.inc.php
+share/cacti/lib/adodb/drivers/adodb-oci8.inc.php
+share/cacti/lib/adodb/drivers/adodb-oci805.inc.php
+share/cacti/lib/adodb/drivers/adodb-oci8po.inc.php
+share/cacti/lib/adodb/drivers/adodb-odbc.inc.php
+share/cacti/lib/adodb/drivers/adodb-odbc_mssql.inc.php
+share/cacti/lib/adodb/drivers/adodb-odbc_oracle.inc.php
+share/cacti/lib/adodb/drivers/adodb-odbtp.inc.php
+share/cacti/lib/adodb/drivers/adodb-odbtp_unicode.inc.php
+share/cacti/lib/adodb/drivers/adodb-oracle.inc.php
+share/cacti/lib/adodb/drivers/adodb-pdo.inc.php
+share/cacti/lib/adodb/drivers/adodb-postgres.inc.php
+share/cacti/lib/adodb/drivers/adodb-postgres64.inc.php
+share/cacti/lib/adodb/drivers/adodb-postgres7.inc.php
+share/cacti/lib/adodb/drivers/adodb-proxy.inc.php
+share/cacti/lib/adodb/drivers/adodb-sapdb.inc.php
+share/cacti/lib/adodb/drivers/adodb-sqlanywhere.inc.php
+share/cacti/lib/adodb/drivers/adodb-sqlite.inc.php
+share/cacti/lib/adodb/drivers/adodb-sqlitepo.inc.php
+share/cacti/lib/adodb/drivers/adodb-sybase.inc.php
+share/cacti/lib/adodb/drivers/adodb-vfp.inc.php
+share/cacti/lib/adodb/lang/adodb-ar.inc.php
+share/cacti/lib/adodb/lang/adodb-bg.inc.php
+share/cacti/lib/adodb/lang/adodb-bgutf8.inc.php
+share/cacti/lib/adodb/lang/adodb-ca.inc.php
+share/cacti/lib/adodb/lang/adodb-cn.inc.php
+share/cacti/lib/adodb/lang/adodb-cz.inc.php
+share/cacti/lib/adodb/lang/adodb-de.inc.php
+share/cacti/lib/adodb/lang/adodb-en.inc.php
+share/cacti/lib/adodb/lang/adodb-es.inc.php
+share/cacti/lib/adodb/lang/adodb-fr.inc.php
+share/cacti/lib/adodb/lang/adodb-hu.inc.php
+share/cacti/lib/adodb/lang/adodb-it.inc.php
+share/cacti/lib/adodb/lang/adodb-nl.inc.php
+share/cacti/lib/adodb/lang/adodb-pl.inc.php
+share/cacti/lib/adodb/lang/adodb-pt-br.inc.php
+share/cacti/lib/adodb/lang/adodb-ro.inc.php
+share/cacti/lib/adodb/lang/adodb-ru1251.inc.php
+share/cacti/lib/adodb/lang/adodb-sv.inc.php
+share/cacti/lib/adodb/license.txt
+share/cacti/lib/adodb/toexport.inc.php
+share/cacti/lib/adodb/tohtml.inc.php
+share/cacti/lib/api_automation_tools.php
+share/cacti/lib/api_data_source.php
+share/cacti/lib/api_device.php
+share/cacti/lib/api_graph.php
+share/cacti/lib/api_poller.php
+share/cacti/lib/api_tree.php
+share/cacti/lib/auth.php
+share/cacti/lib/cdef.php
+share/cacti/lib/data_query.php
+share/cacti/lib/database.php
+share/cacti/lib/export.php
+share/cacti/lib/functions.php
+share/cacti/lib/graph_export.php
+share/cacti/lib/graph_variables.php
+share/cacti/lib/html.php
+share/cacti/lib/html_form.php
+share/cacti/lib/html_form_template.php
+share/cacti/lib/html_tree.php
+share/cacti/lib/html_utility.php
+share/cacti/lib/html_validate.php
+share/cacti/lib/import.php
+share/cacti/lib/ldap.php
+share/cacti/lib/ping.php
+share/cacti/lib/poller.php
+share/cacti/lib/rrd.php
+share/cacti/lib/snmp.php
+share/cacti/lib/sort.php
+share/cacti/lib/template.php
+share/cacti/lib/time.php
+share/cacti/lib/timespan_settings.php
+share/cacti/lib/tree.php
+share/cacti/lib/utility.php
+share/cacti/lib/variables.php
+share/cacti/lib/xml.php
+share/cacti/log/.htaccess
+share/cacti/log/cacti.log
+share/cacti/logout.php
+share/cacti/poller.php
+share/cacti/poller_commands.php
+share/cacti/poller_export.php
+share/cacti/resource/script_queries/host_cpu.xml
+share/cacti/resource/script_queries/host_disk.xml
+share/cacti/resource/script_queries/unix_disk.xml
+share/cacti/resource/script_server/host_cpu.xml
+share/cacti/resource/script_server/host_disk.xml
+share/cacti/resource/snmp_queries/host_disk.xml
+share/cacti/resource/snmp_queries/interface.xml
+share/cacti/resource/snmp_queries/kbridge.xml
+share/cacti/resource/snmp_queries/net-snmp_disk.xml
+share/cacti/resource/snmp_queries/netware_cpu.xml
+share/cacti/resource/snmp_queries/netware_disk.xml
+share/cacti/rra/.htaccess
+share/cacti/rra.php
+share/cacti/script_server.php
+share/cacti/script_server.pl
+share/cacti/scripts/3com_cable_modem.pl
+share/cacti/scripts/diskfree.pl
+share/cacti/scripts/diskfree.sh
+share/cacti/scripts/freebsd_memory.pl
+share/cacti/scripts/linux_memory.pl
+share/cacti/scripts/loadavg.pl
+share/cacti/scripts/loadavg_multi.pl
+share/cacti/scripts/netbsd_memory.pl
+share/cacti/scripts/ping.pl
+share/cacti/scripts/query_host_cpu.php
+share/cacti/scripts/query_host_partitions.php
+share/cacti/scripts/query_unix_partitions.pl
+share/cacti/scripts/solaris_memory.pl
+share/cacti/scripts/sql.php
+share/cacti/scripts/ss_fping.php
+share/cacti/scripts/ss_host_cpu.php
+share/cacti/scripts/ss_host_disk.php
+share/cacti/scripts/ss_sql.php
+share/cacti/scripts/unix_processes.pl
+share/cacti/scripts/unix_tcp_connections.pl
+share/cacti/scripts/unix_users.pl
+share/cacti/scripts/weatherbug.pl
+share/cacti/scripts/webhits.pl
+share/cacti/settings.php
+share/cacti/templates_export.php
+share/cacti/templates_import.php
+share/cacti/tree.php
+share/cacti/user_admin.php
+share/cacti/utilities.php
+share/examples/cacti/httpd-cacti.conf
diff --git a/net/cacti/distinfo b/net/cacti/distinfo
new file mode 100644
index 00000000000..7c943c4dde6
--- /dev/null
+++ b/net/cacti/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+
+SHA1 (cacti-0.8.7h.tar.gz) = 4311cff2ec8883c013efd0225c73d145bcc1cf00
+RMD160 (cacti-0.8.7h.tar.gz) = 923492a3f36e5d320570ebfad9b4136acf7b9eb7
+Size (cacti-0.8.7h.tar.gz) = 2249323 bytes
+SHA1 (cacti-plugin-0.8.7h-PA-v3.0.tar.gz) = a144fcf32d31a268a338d84adf8db3b63f3fe5a9
+RMD160 (cacti-plugin-0.8.7h-PA-v3.0.tar.gz) = 87e22690f74e8fd6d367063684aabbd582691a24
+Size (cacti-plugin-0.8.7h-PA-v3.0.tar.gz) = 252949 bytes
+SHA1 (patch-cacti.sql) = 37e18026c4136630d939ab5a7a4d6336bf166282
+SHA1 (patch-include_global.php) = fb0d2f15596b051c60ed6032ecb9038315b7c663
+SHA1 (patch-include_global__settings.php) = 54ffd0c3fc9d927595b1568a874c45a4a6033f7b
+SHA1 (patch-install_index.php) = 84b25c39a4ce1bc6144cffcdb9e32bf257cfcae6
diff --git a/net/cacti/files/freebsd_memory.pl b/net/cacti/files/freebsd_memory.pl
new file mode 100644
index 00000000000..ae8b54c603a
--- /dev/null
+++ b/net/cacti/files/freebsd_memory.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+
+if (($ARGV[0] =~ /Cached:/) || ($ARGV[0] =~ /SwapFree:/)) {
+ open(PROCESS, "pstat -ks |");
+ $s = 0;
+ while (<PROCESS>) {
+ if (!/^Device/) {
+ split();
+ $s += $_[3];
+ }
+ }
+ print "$s";
+}
+else { # $ARGV[0] is Buffers:, MemFree:, or anything else
+ open(PROCESS, "vmstat -H |");
+ while (<PROCESS>) {
+ if (!/p/) { # the numbers line happens not to have "p"
+ split();
+ print("$_[4]");
+ }
+ }
+}
+close(PROCESS);
diff --git a/net/cacti/files/httpd-cacti.conf b/net/cacti/files/httpd-cacti.conf
new file mode 100644
index 00000000000..aee46091f2b
--- /dev/null
+++ b/net/cacti/files/httpd-cacti.conf
@@ -0,0 +1,21 @@
+# load the php module if it is not already loaded
+<IfModule !php@PKG_PHP_MAJOR_VERS@_module>
+ LoadModule php@PKG_PHP_MAJOR_VERS@_module lib/httpd/mod_php@PKG_PHP_MAJOR_VERS@.so
+</IfModule>
+
+Alias /cacti "@CACTIDIR@"
+
+<Directory "@CACTIDIR@">
+ Options None
+ AllowOverride Limit
+ AddHandler application/x-httpd-php .php
+ DirectoryIndex index.php
+ Order allow,deny
+ Allow from all
+</Directory>
+
+# some people prefer a simple URL like http://cacti.example.com
+#<VirtualHost 1.2.3.4>
+# DocumentRoot @CACTIDIR@
+# ServerName cacti.example.com
+#</VirtualHost>
diff --git a/net/cacti/files/netbsd_memory.pl b/net/cacti/files/netbsd_memory.pl
new file mode 100644
index 00000000000..13befcb45cb
--- /dev/null
+++ b/net/cacti/files/netbsd_memory.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+
+if (($ARGV[0] =~ /Cached:/) || ($ARGV[0] =~ /SwapFree:/)) {
+ open(PROCESS, "pstat -ks |");
+ $s = 0;
+ while (<PROCESS>) {
+ if (!/^Device/) {
+ split();
+ $s += $_[3];
+ }
+ }
+ print "$s";
+}
+else { # $ARGV[0] is Buffers:, MemFree:, or anything else
+ open(PROCESS, "vmstat |");
+ while (<PROCESS>) {
+ if (!/p/) { # the numbers line happens not to have "p"
+ split();
+ print("$_[4]");
+ }
+ }
+}
+close(PROCESS);
diff --git a/net/cacti/files/solaris_memory.pl b/net/cacti/files/solaris_memory.pl
new file mode 100644
index 00000000000..f956571d8be
--- /dev/null
+++ b/net/cacti/files/solaris_memory.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+
+if (($ARGV[0] =~ /Cached:/) || ($ARGV[0] =~ /SwapFree:/)) {
+ open(PROCESS, "/bin/df -k swap |");
+ $s = 0;
+ while (<PROCESS>) {
+ if (!/^Device/) {
+ split();
+ $s += $_[3];
+ }
+ }
+ print "$s";
+}
+else { # $ARGV[0] is Buffers:, MemFree:, or anything else
+ open(PROCESS, "vmstat |");
+ while (<PROCESS>) {
+ if (!/p/) { # the numbers line happens not to have "p"
+ split();
+ print("$_[4]");
+ }
+ }
+}
+close(PROCESS);
diff --git a/net/cacti/patches/patch-cacti.sql b/net/cacti/patches/patch-cacti.sql
new file mode 100644
index 00000000000..b84be967280
--- /dev/null
+++ b/net/cacti/patches/patch-cacti.sql
@@ -0,0 +1,15 @@
+$NetBSD: patch-cacti.sql,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+
+use a generic scriptname rather than an OS specific one
+
+--- cacti.sql.orig 2011-09-26 20:41:03.000000000 +0000
++++ cacti.sql
+@@ -195,7 +195,7 @@ INSERT INTO data_input VALUES (2,'bf566c
+ INSERT INTO data_input VALUES (3,'274f4685461170b9eb1b98d22567ab5e','Unix - Get Free Disk Space','<path_cacti>/scripts/diskfree.sh <partition>',1);
+ INSERT INTO data_input VALUES (4,'95ed0993eb3095f9920d431ac80f4231','Unix - Get Load Average','perl <path_cacti>/scripts/loadavg_multi.pl',1);
+ INSERT INTO data_input VALUES (5,'79a284e136bb6b061c6f96ec219ac448','Unix - Get Logged In Users','perl <path_cacti>/scripts/unix_users.pl <username>',1);
+-INSERT INTO data_input VALUES (6,'362e6d4768937c4f899dd21b91ef0ff8','Linux - Get Memory Usage','perl <path_cacti>/scripts/linux_memory.pl <grepstr>',1);
++INSERT INTO data_input VALUES (6,'362e6d4768937c4f899dd21b91ef0ff8','Linux - Get Memory Usage','perl <path_cacti>/scripts/local_memory.pl <grepstr>',1);
+ INSERT INTO data_input VALUES (7,'a637359e0a4287ba43048a5fdf202066','Unix - Get System Processes','perl <path_cacti>/scripts/unix_processes.pl',1);
+ INSERT INTO data_input VALUES (8,'47d6bfe8be57a45171afd678920bd399','Unix - Get TCP Connections','perl <path_cacti>/scripts/unix_tcp_connections.pl <grepstr>',1);
+ INSERT INTO data_input VALUES (9,'cc948e4de13f32b6aea45abaadd287a3','Unix - Get Web Hits','perl <path_cacti>/scripts/webhits.pl <log_path>',1);
diff --git a/net/cacti/patches/patch-include_global.php b/net/cacti/patches/patch-include_global.php
new file mode 100644
index 00000000000..a9a1d8e2884
--- /dev/null
+++ b/net/cacti/patches/patch-include_global.php
@@ -0,0 +1,15 @@
+$NetBSD: patch-include_global.php,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+
+Make rra directory configurable by package variable
+
+--- include/global.php.orig 2011-09-26 20:41:03.000000000 +0000
++++ include/global.php
+@@ -103,7 +103,7 @@ if ($config["cacti_server_os"] == "win32
+ $config["library_path"] = preg_replace("/(.*[\/])include/", "\\1lib", dirname(__FILE__));
+ }
+ $config["include_path"] = dirname(__FILE__);
+-$config["rra_path"] = $config["base_path"] . '/rra';
++$config["rra_path"] = '@CACTI_RRADIR@';
+
+ /* colors */
+ $colors["dark_outline"] = "454E53";
diff --git a/net/cacti/patches/patch-include_global__settings.php b/net/cacti/patches/patch-include_global__settings.php
new file mode 100644
index 00000000000..17c6bce1ef9
--- /dev/null
+++ b/net/cacti/patches/patch-include_global__settings.php
@@ -0,0 +1,18 @@
+$NetBSD: patch-include_global__settings.php,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+
+make log directory configurable by package variable
+
+--- include/global_settings.php.orig 2011-09-26 20:41:03.000000000 +0000
++++ include/global_settings.php
+@@ -96,9 +96,9 @@ $settings = array(
+ ),
+ "path_cactilog" => array(
+ "friendly_name" => "Cacti Log File Path",
+- "description" => "The path to your Cacti log file (if blank, defaults to <path_cacti>/log/cacti.log)",
++ "description" => "The path to your Cacti log file (if blank, defaults to @CACTI_LOGDIR@/cacti.log)",
+ "method" => "filepath",
+- "default" => $config["base_path"] . "/log/cacti.log",
++ "default" => "@CACTI_LOGDIR@" . "/cacti.log",
+ "max_length" => "255"
+ ),
+ "pollerpaths_header" => array(
diff --git a/net/cacti/patches/patch-install_index.php b/net/cacti/patches/patch-install_index.php
new file mode 100644
index 00000000000..a009b198c39
--- /dev/null
+++ b/net/cacti/patches/patch-install_index.php
@@ -0,0 +1,35 @@
+$NetBSD: patch-install_index.php,v 1.1.1.1 2011/11/22 22:23:13 tez Exp $
+
+find utilites in PREFIX first
+fixup hard coded user and path (documentaion only)
+make log directory configurable by package variable
+
+--- install/index.php.orig 2011-09-26 20:41:03.000000000 +0000
++++ install/index.php
+@@ -95,7 +95,7 @@ function find_best_path($binary_name) {
+ if ($config["cacti_server_os"] == "win32") {
+ $search_paths = array("c:/usr/bin", "c:/cacti", "c:/rrdtool", "c:/spine", "c:/php", "c:/progra~1/php", "c:/net-snmp/bin", "c:/progra~1/net-snmp/bin", "d:/usr/bin", "d:/net-snmp/bin", "d:/progra~1/net-snmp/bin", "d:/cacti", "d:/rrdtool", "d:/spine", "d:/php", "d:/progra~1/php");
+ }else{
+- $search_paths = array("/bin", "/sbin", "/usr/bin", "/usr/sbin", "/usr/local/bin", "/usr/local/sbin");
++ $search_paths = array("@PREFIX@/bin", "@PREFIX@/sbin", "/bin", "/sbin", "/usr/bin", "/usr/sbin", "/usr/local/bin", "/usr/local/sbin");
+ }
+
+ for ($i=0; $i<count($search_paths); $i++) {
+@@ -266,7 +266,7 @@ $input["path_cactilog"]["description"] =
+ if (config_value_exists("path_cactilog")) {
+ $input["path_cactilog"]["default"] = read_config_option("path_cactilog");
+ } else {
+- $input["path_cactilog"]["default"] = $config["base_path"] . "/log/cacti.log";
++ $input["path_cactilog"]["default"] = "@CACTI_LOGDIR@" . "/cacti.log";
+ }
+
+ /* SNMP Version */
+@@ -652,7 +652,7 @@ if ($_REQUEST["step"] == "4") {
+
+ <p>See the sample crontab entry below with the change made in red. Your crontab line will look slightly different based upon your setup.</p>
+
+- <p><tt>*/5 * * * * cactiuser php /var/www/html/cacti/<span style='font-weight: bold; color: red;'>poller.php</span> &gt; /dev/null 2&gt;&amp;1</tt></p>
++ <p><tt>*/5 * * * * @CACTI_USER@ php @CACTIDIR@<span style='font-weight: bold; color: red;'>poller.php</span> &gt; /dev/null 2&gt;&amp;1</tt></p>
+
+ <p>Once you have made this change, please click Next to continue.</p>
+