From owner-svn-ports-head@FreeBSD.ORG Tue Feb 18 15:48:39 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 45C19961; Tue, 18 Feb 2014 15:48:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2E6DB1453; Tue, 18 Feb 2014 15:48:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1IFmdnp018437; Tue, 18 Feb 2014 15:48:39 GMT (envelope-from swills@svn.freebsd.org) Received: (from swills@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1IFmZWB018411; Tue, 18 Feb 2014 15:48:35 GMT (envelope-from swills@svn.freebsd.org) Message-Id: <201402181548.s1IFmZWB018411@svn.freebsd.org> From: Steve Wills Date: Tue, 18 Feb 2014 15:48:35 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r344913 - in head/www/py-graphite-web: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Feb 2014 15:48:39 -0000 Author: swills Date: Tue Feb 18 15:48:34 2014 New Revision: 344913 URL: http://svnweb.freebsd.org/changeset/ports/344913 QAT: https://qat.redports.org/buildarchive/r344913/ Log: - Fix with newer Django [1] [2] - Lots of other cleanups and improvements, including moving the data to a more standard location - Take maintainership, maintainer has not responded to PRs in many months PR: ports/184969 [1] PR: ports/185146 [2] Submitted by: brd [1] Submitted by: swills (myself) [2] Approved by: maintainer timeout (bsdports@wayfair.com, >3 months) Added: head/www/py-graphite-web/files/patch-bin__build-index.sh - copied, changed from r343757, head/www/py-graphite-web/files/patch-bin-build-index.sh head/www/py-graphite-web/files/patch-conf__graphite.wsgi.example - copied, changed from r343757, head/www/py-graphite-web/files/patch-conf-graphite.wsgi.example head/www/py-graphite-web/files/patch-webapp__graphite__account__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__browser__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__cli__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__composer__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__dashboard__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__events__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__graphlot__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__local_settings.py.example - copied, changed from r343757, head/www/py-graphite-web/files/patch-webapp-graphite-local__settings.py.example head/www/py-graphite-web/files/patch-webapp__graphite__metrics__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__render__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__version__urls.py (contents, props changed) head/www/py-graphite-web/files/patch-webapp__graphite__whitelist__urls.py (contents, props changed) head/www/py-graphite-web/files/pkg-message.in - copied, changed from r344908, head/www/py-graphite-web/pkg-message Deleted: head/www/py-graphite-web/files/patch-bin-build-index.sh head/www/py-graphite-web/files/patch-conf-graphite.wsgi.example head/www/py-graphite-web/files/patch-webapp-graphite-local__settings.py.example head/www/py-graphite-web/pkg-message Modified: head/www/py-graphite-web/Makefile head/www/py-graphite-web/files/patch-setup.cfg head/www/py-graphite-web/files/patch-setup.py head/www/py-graphite-web/pkg-plist Modified: head/www/py-graphite-web/Makefile ============================================================================== --- head/www/py-graphite-web/Makefile Tue Feb 18 15:45:38 2014 (r344912) +++ head/www/py-graphite-web/Makefile Tue Feb 18 15:48:34 2014 (r344913) @@ -3,32 +3,51 @@ PORTNAME= graphite-web PORTVERSION= 0.9.12 +PORTREVISION= 1 CATEGORIES= www python -MASTER_SITES= https://github.com/graphite-project/${PORTNAME}/archive/${PORTVERSION}.tar.gz?dummy= +MASTER_SITES= http://github.com/graphite-project/${PORTNAME}/archive/${PORTVERSION}.tar.gz?dummy=/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -MAINTAINER= bsdports@wayfair.com +MAINTAINER= swills@FreeBSD.org COMMENT= Enterprise scalable realtime graphing platform +LICENSE= APACHE20 + RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>=1.8.10:${PORTSDIR}/graphics/py-cairo \ ${PYTHON_PKGNAMEPREFIX}carbon>=${PORTVERSION}:${PORTSDIR}/databases/py-carbon \ ${PYTHON_PKGNAMEPREFIX}django>=1.4:${PORTSDIR}/www/py-django \ - ${PYTHON_PKGNAMEPREFIX}django-tagging>=0.3.1:${PORTSDIR}/www/py-django-tagging + ${PYTHON_PKGNAMEPREFIX}django-tagging>=0.3.1:${PORTSDIR}/www/py-django-tagging \ + xorg-fonts-truetype>=0:${PORTSDIR}/x11-fonts/xorg-fonts-truetype FETCH_ARGS= -o ${DISTNAME}${EXTRACT_SUFX} USE_PYTHON= 2 USE_PYDISTUTILS=yes +SUB_FILES= pkg-message +SUB_LIST+= PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR} WWWOWN=${WWWOWN} \ + WWWGRP=${WWWGRP} DATADIR=${DATADIR} +PLIST_SUB+= RESETPREFIX=${PREFIX} -NO_STAGE= yes post-patch: - @${MKDIR} ${WRKSRC}/graphite/webapp/ - @${CP} -LR ${WRKSRC}/webapp/content ${WRKSRC}/graphite/webapp @${RM} ${WRKSRC}/bin/build-index.sh.orig + @${RM} ${WRKSRC}/bin/run-graphite-devel-server.py + @${REINPLACE_CMD} -i '' -e 's|%%PREFIX%%|${PREFIX}|' \ + -e 's|%%DATADIR%%|${DATADIR}|' \ + ${WRKSRC}/bin/build-index.sh \ + ${WRKSRC}/conf/graphite.wsgi.example \ + ${WRKSRC}/setup.cfg \ + ${WRKSRC}/setup.py \ + ${WRKSRC}/webapp/graphite/local_settings.py.example post-install: - @${ECHO} ${PYTHON_SITELIBDIR} - ${CHOWN} ${WWWOWN} ${PREFIX}/graphite/storage - ${CHOWN} ${WWWOWN} ${PREFIX}/graphite/storage/log/webapp - @${CAT} ${PKGMESSAGE} + @${MKDIR} ${STAGEDIR}${DATADIR}/examples + @(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/examples) + @${MKDIR} ${STAGEDIR}${DATADIR}/content + @(cd ${WRKSRC}/webapp/content && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/content) + @${MKDIR} -p ${STAGEDIR}/var/log/graphite/webapp + @${MKDIR} -p ${STAGEDIR}/var/db/graphite + @${CHOWN} ${WWWOWN} ${STAGEDIR}/var/log/graphite + @${CHOWN} ${WWWOWN} ${STAGEDIR}/var/db/graphite + @${CP} ${STAGEDIR}${PYTHON_SITELIBDIR}/graphite/local_settings.py.example ${STAGEDIR}${PREFIX}/etc/graphite/local_settings.py.example + @${LN} -s ${PREFIX}/etc/graphite/local_settings.py ${STAGEDIR}${PYTHON_SITELIBDIR}/graphite/local_settings.py .include Copied and modified: head/www/py-graphite-web/files/patch-bin__build-index.sh (from r343757, head/www/py-graphite-web/files/patch-bin-build-index.sh) ============================================================================== --- head/www/py-graphite-web/files/patch-bin-build-index.sh Tue Feb 11 14:23:05 2014 (r343757, copy source) +++ head/www/py-graphite-web/files/patch-bin__build-index.sh Tue Feb 18 15:48:34 2014 (r344913) @@ -1,26 +1,44 @@ ---- bin/build-index.sh.orig 2012-05-31 07:28:54.000000000 +0100 -+++ bin/build-index.sh 2012-11-06 20:13:04.887047813 +0000 -@@ -1,8 +1,8 @@ +--- bin/build-index.sh.orig 2014-02-14 15:05:38.180621787 +0000 ++++ bin/build-index.sh 2014-02-14 15:31:54.580513137 +0000 +@@ -1,17 +1,19 @@ -#!/bin/bash +#!/bin/sh if [ "$GRAPHITE_ROOT" = "" ] then - GRAPHITE_ROOT="/opt/graphite" -+ GRAPHITE_ROOT="/usr/local/graphite" ++ GRAPHITE_ROOT="%%PREFIX%%/graphite" fi if [ "$GRAPHITE_STORAGE_DIR" = "" ] -@@ -11,7 +11,7 @@ + then +- GRAPHITE_STORAGE_DIR="${GRAPHITE_ROOT}/storage" ++ GRAPHITE_STORAGE_DIR="/var/db/graphite" fi - +- -WHISPER_DIR="${GRAPHITE_STORAGE_DIR}/whisper" -+WHISPER_DIR="/usr/local/storage/whisper" ++if [ "$WHISPER_DIR" = "" ] ++then ++ WHISPER_DIR="/var/db/carbon/whisper/" ++fi if [ ! -d "$WHISPER_DIR" ] then -@@ -26,6 +26,6 @@ +@@ -19,13 +21,17 @@ + exit 1 + fi + +-INDEX_FILE="${GRAPHITE_STORAGE_DIR}/index" +-TMP_INDEX="${GRAPHITE_STORAGE_DIR}/.index.tmp" ++if [ "$INDEX_FILE" = "" ] ++then ++ INDEX_FILE="${GRAPHITE_STORAGE_DIR}/index" ++fi ++ ++TMP_INDEX=${INDEX_FILE%%index}.index.tmp + + rm -f $TMP_INDEX cd $WHISPER_DIR touch $INDEX_FILE echo "[`date`] building index..." Copied and modified: head/www/py-graphite-web/files/patch-conf__graphite.wsgi.example (from r343757, head/www/py-graphite-web/files/patch-conf-graphite.wsgi.example) ============================================================================== --- head/www/py-graphite-web/files/patch-conf-graphite.wsgi.example Tue Feb 11 14:23:05 2014 (r343757, copy source) +++ head/www/py-graphite-web/files/patch-conf__graphite.wsgi.example Tue Feb 18 15:48:34 2014 (r344913) @@ -1,9 +1,9 @@ ---- conf/graphite.wsgi.example.ori 2012-10-12 19:34:56.000000000 -0600 -+++ conf/graphite.wsgi.example 2012-10-12 19:35:07.000000000 -0600 +--- ./conf/graphite.wsgi.example.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./conf/graphite.wsgi.example 2014-02-12 20:50:27.343398788 +0000 @@ -1,5 +1,5 @@ import os, sys -sys.path.append('/opt/graphite/webapp') -+sys.path.append('/usr/local/graphite/webapp') ++sys.path.append('%%PREFIX%%/graphite/webapp') os.environ['DJANGO_SETTINGS_MODULE'] = 'graphite.settings' import django.core.handlers.wsgi Modified: head/www/py-graphite-web/files/patch-setup.cfg ============================================================================== --- head/www/py-graphite-web/files/patch-setup.cfg Tue Feb 18 15:45:38 2014 (r344912) +++ head/www/py-graphite-web/files/patch-setup.cfg Tue Feb 18 15:48:34 2014 (r344913) @@ -1,6 +1,9 @@ ---- setup.cfg.orig 2011-05-22 15:39:18.000003000 -0400 -+++ setup.cfg 2011-05-22 15:40:14.000002000 -0400 -@@ -1,3 +1 @@ +--- ./setup.cfg.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./setup.cfg 2014-02-12 20:50:27.345399259 +0000 +@@ -1,6 +1,4 @@ [install] -prefix = /opt/graphite -install-lib = %(prefix)s/webapp + + [bdist_rpm] + requires = Django => 1.1.4 Modified: head/www/py-graphite-web/files/patch-setup.py ============================================================================== --- head/www/py-graphite-web/files/patch-setup.py Tue Feb 18 15:45:38 2014 (r344912) +++ head/www/py-graphite-web/files/patch-setup.py Tue Feb 18 15:48:34 2014 (r344913) @@ -1,5 +1,5 @@ ---- setup.py.ori 2012-06-21 15:38:54.044808453 -0700 -+++ setup.py 2012-06-21 15:41:16.067809618 -0700 +--- setup.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ setup.py 2014-02-14 04:44:44.290189349 +0000 @@ -15,11 +15,11 @@ storage_dirs = [] @@ -23,3 +23,11 @@ examples = [ ('examples', glob('examples/example-*')) ] setup( +@@ -60,6 +60,6 @@ + package_data={'graphite' : + ['templates/*', 'local_settings.py.example']}, + scripts=glob('bin/*'), +- data_files=webapp_content.items() + storage_dirs + conf_files + examples, ++ data_files=conf_files, + **setup_kwargs + ) Added: head/www/py-graphite-web/files/patch-webapp__graphite__account__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__account__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/account/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/account/urls.py 2014-02-13 02:01:59.480110302 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.account.views', + ('^login/?$', 'loginView'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__browser__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__browser__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/browser/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/browser/urls.py 2014-02-13 02:01:59.481111098 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.browser.views', + ('^header/?$', 'header'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__cli__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__cli__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/cli/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/cli/urls.py 2014-02-13 02:01:59.481111098 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.cli.views', + (r'^autocomplete/?$', 'autocomplete'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__composer__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__composer__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/composer/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/composer/urls.py 2014-02-13 02:01:59.481111098 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.composer.views', + ('send_email','send_email'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__dashboard__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__dashboard__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,8 @@ +--- ./webapp/graphite/dashboard/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/dashboard/urls.py 2014-02-13 02:01:59.482110196 +0000 +@@ -1,4 +1,4 @@ +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.dashboard.views', + ('^save/(?P[^/]+)', 'save'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__events__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__events__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/events/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/events/urls.py 2014-02-13 02:01:59.482110196 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.events.views', + ('^get_data?$', 'get_data'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__graphlot__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__graphlot__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/graphlot/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/graphlot/urls.py 2014-02-13 02:01:59.482110196 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.graphlot.views', + ('^rawdata/?$', 'get_data'), Copied and modified: head/www/py-graphite-web/files/patch-webapp__graphite__local_settings.py.example (from r343757, head/www/py-graphite-web/files/patch-webapp-graphite-local__settings.py.example) ============================================================================== --- head/www/py-graphite-web/files/patch-webapp-graphite-local__settings.py.example Tue Feb 11 14:23:05 2014 (r343757, copy source) +++ head/www/py-graphite-web/files/patch-webapp__graphite__local_settings.py.example Tue Feb 18 15:48:34 2014 (r344913) @@ -1,41 +1,48 @@ ---- webapp/graphite/local_settings.py.example.orig 2012-05-31 00:28:54.000000000 -0600 -+++ webapp/graphite/local_settings.py.example 2012-10-12 19:39:54.000000000 -0600 -@@ -44,6 +44,7 @@ - # Change only GRAPHITE_ROOT if your install is merely shifted from /opt/graphite - # to somewhere else - #GRAPHITE_ROOT = '/opt/graphite' -+GRAPHITE_ROOT = '/usr/local/graphite' - - # Most installs done outside of a separate tree such as /opt/graphite will only - # need to change these three settings. Note that the default settings for each -@@ -51,6 +52,9 @@ +--- webapp/graphite/local_settings.py.example.orig 2013-08-21 17:11:04.000000000 +0000 ++++ webapp/graphite/local_settings.py.example 2014-02-14 05:02:05.550117395 +0000 +@@ -62,6 +62,9 @@ #CONF_DIR = '/opt/graphite/conf' #STORAGE_DIR = '/opt/graphite/storage' #CONTENT_DIR = '/opt/graphite/webapp/content' -+CONF_DIR = '/usr/local/etc/graphite' -+STORAGE_DIR = '/usr/local/storage' -+CONTENT_DIR = '/usr/local/graphite/webapp/content' ++CONF_DIR = '%%PREFIX%%/etc/graphite' ++STORAGE_DIR = '/var/db/carbon' ++CONTENT_DIR = '%%DATADIR%%/content' # To further or fully customize the paths, modify the following. Note that the # default settings for each of these are relative to CONF_DIR and STORAGE_DIR -@@ -58,6 +62,8 @@ +@@ -69,6 +72,8 @@ ## Webapp config files #DASHBOARD_CONF = '/opt/graphite/conf/dashboard.conf' #GRAPHTEMPLATES_CONF = '/opt/graphite/conf/graphTemplates.conf' -+DASHBOARD_CONF = '/usr/local/etc/graphite/dashboard.conf' -+GRAPHTEMPLATES_CONF = '/usr/local/etc/graphite/graphTemplates.conf' ++DASHBOARD_CONF = '%%PREFIX%%/etc/graphite/dashboard.conf' ++GRAPHTEMPLATES_CONF = '%%PREFIX%%/etc/graphite/graphTemplates.conf' ## Data directories # NOTE: If any directory is unreadable in DATA_DIRS it will break metric browsing -@@ -66,6 +72,11 @@ +@@ -77,7 +82,11 @@ #DATA_DIRS = [WHISPER_DIR, RRD_DIR] # Default: set from the above variables #LOG_DIR = '/opt/graphite/storage/log/webapp' #INDEX_FILE = '/opt/graphite/storage/index' # Search index file -+WHISPER_DIR = '/usr/local/storage/whisper' -+RRD_DIR = '/usr/local/graphite/storage/rrd' +- ++WHISPER_DIR = '/var/db/carbon/whisper' ++RRD_DIR = '/var/db/carbon/rrd' +DATA_DIRS = [WHISPER_DIR, RRD_DIR] # Default: set from the above variables -+LOG_DIR = '/usr/local/graphite/storage/log/webapp' -+INDEX_FILE = '/usr/local/graphite/storage/index' # Search index file - ++LOG_DIR = '/var/log/graphite' ++INDEX_FILE = '/var/db/graphite/index' # Search index file ##################################### + # Email Configuration # +@@ -158,7 +167,12 @@ + # } + #} + # +- ++DATABASES = { ++ 'default': { ++ 'NAME': '/var/db/graphite/graphite.db', ++ 'ENGINE': 'django.db.backends.sqlite3', ++ } ++} + + ######################### + # Cluster Configuration # Added: head/www/py-graphite-web/files/patch-webapp__graphite__metrics__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__metrics__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/metrics/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/metrics/urls.py 2014-02-13 02:01:59.483113296 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.metrics.views', + ('^index\.json$', 'index_json'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__render__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__render__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/render/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/render/urls.py 2014-02-13 02:01:59.483113296 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.render.views', + ('local/?$','renderLocalView'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/urls.py 2014-02-13 02:01:59.484110692 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + from django.conf import settings + from django.contrib import admin + Added: head/www/py-graphite-web/files/patch-webapp__graphite__version__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__version__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/version/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/version/urls.py 2014-02-13 02:01:59.484110692 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.version.views', + ('', 'index'), Added: head/www/py-graphite-web/files/patch-webapp__graphite__whitelist__urls.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-graphite-web/files/patch-webapp__graphite__whitelist__urls.py Tue Feb 18 15:48:34 2014 (r344913) @@ -0,0 +1,11 @@ +--- ./webapp/graphite/whitelist/urls.py.orig 2013-08-21 17:11:04.000000000 +0000 ++++ ./webapp/graphite/whitelist/urls.py 2014-02-13 02:01:59.484110692 +0000 +@@ -12,7 +12,7 @@ + See the License for the specific language governing permissions and + limitations under the License.""" + +-from django.conf.urls.defaults import * ++from django.conf.urls import * + + urlpatterns = patterns('graphite.whitelist.views', + ('add','add'), Copied and modified: head/www/py-graphite-web/files/pkg-message.in (from r344908, head/www/py-graphite-web/pkg-message) ============================================================================== --- head/www/py-graphite-web/pkg-message Tue Feb 18 15:28:34 2014 (r344908, copy source) +++ head/www/py-graphite-web/files/pkg-message.in Tue Feb 18 15:48:34 2014 (r344913) @@ -1,26 +1,24 @@ ============================================================================== -In /usr/local/etc/graphite/ copy the graphite.wsgi.example to graphite.wsgi - To run graphite, you will need to setup Apache by creating a vhost similar to the following: -WSGIImportScript /usr/local/etc/graphite/graphite.wsgi process-group=graphite application-group=%{GLOBAL} ServerName graphite - DocumentRoot "/usr/local/graphite/webapp" + DocumentRoot "%%DATADIR%%/content/" # I've found that an equal number of processes & threads tends # to show the best performance for Graphite (ymmv). - WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120 + WSGIDaemonProcess graphite processes=5 threads=5 inactivity-timeout=120 display-name=graphite WSGIProcessGroup graphite - WSGIApplicationGroup %{GLOBAL} + WSGIApplicationGroup graphite + WSGIImportScript %%PREFIX%%/etc/graphite/graphite.wsgi process-group=graphite application-group=graphite # XXX You will need to create this file! There is a graphite.wsgi.example # file in this directory that you can safely use, just copy it to graphite.wgsi - WSGIScriptAlias / /usr/local/etc/graphite/graphite.wsgi + WSGIScriptAlias / %%PREFIX%%/etc/graphite/graphite.wsgi - Alias /content/ /usr/local/graphite/webapp/content/ + Alias /content/ %%DATADIR%%/content/ SetHandler None @@ -30,27 +28,47 @@ WSGIImportScript /usr/local/etc/graphite # installation, which is probably something like: # /usr/lib/python2.6/site-packages/django #Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/" - Alias /media/ ${${PYTHON_SITELIBDIR}}/django + Alias /media/ %%PYTHON_SITELIBDIR%%/django SetHandler None + Alias /static/ "%%PYTHON_SITELIBDIR%%/django/contrib/admin/static/" + + SetHandler None + + + Order deny,allow + Allow from all + + # The graphite.wsgi file has to be accessible by apache. It won't # be visible to clients because of the DocumentRoot though. - + Order deny,allow Allow from all + + + Order deny,allow + Allow from all + + +You should set the SECRET_KEY in %%PREFIX%%/etc/graphite/local_settings.py + +Then initialize the sqlite user database and create the admin user: + + python2 %%PYTHON_SITELIBDIR%%/graphite/manage.py syncdb -Then initialize the sqllite user database and create the admin user: +Then build the index: - python ${PYTHON_SITELIBDIR}/graphite/manage.py syncdb + %%PREFIX%%/bin/build-index.sh Change the ownership of the user database so the webapp can write to it: - chown ${WWWOWN} ${PREFIX}/graphite/storage/graphite.db + chown -R %%WWWOWN%%:%%WWWGRP%% /var/db/graphite/ /var/log/graphite/ Now you should be able to access the graphite virtual host you created in the first step. Modified: head/www/py-graphite-web/pkg-plist ============================================================================== --- head/www/py-graphite-web/pkg-plist Tue Feb 18 15:45:38 2014 (r344912) +++ head/www/py-graphite-web/pkg-plist Tue Feb 18 15:48:34 2014 (r344913) @@ -1,557 +1,565 @@ bin/build-index.sh -bin/run-graphite-devel-server.py +@unexec if cmp -s %D/etc/graphite/dashboard.conf.example %D/etc/graphite/dashboard.conf; then rm -f %D/etc/graphite/dashboard.conf; fi etc/graphite/dashboard.conf.example +@exec if [ ! -f %D/etc/graphite/dashboard.conf ] ; then cp -p %D/%F %B/dashboard.conf; fi +@unexec if cmp -s %D/etc/graphite/graphTemplates.conf.example %D/etc/graphite/graphTemplates.conf; then rm -f %D/etc/graphite/graphTemplates.conf; fi etc/graphite/graphTemplates.conf.example +@exec if [ ! -f %D/etc/graphite/graphTemplates.conf ] ; then cp -p %D/%F %B/graphTemplates.conf; fi +@unexec if cmp -s %D/etc/graphite/graphite.wsgi.example %D/etc/graphite/graphite.wsgi; then rm -f %D/etc/graphite/graphite.wsgi; fi etc/graphite/graphite.wsgi.example -examples/example-client.py -examples/example-graphite-vhost.conf -graphite/webapp/content/css/cli.css -graphite/webapp/content/css/darkX.css -graphite/webapp/content/css/darkX/button-close-focused.png -graphite/webapp/content/css/darkX/button-maximize-focused.png -graphite/webapp/content/css/darkX/button-minimize-focused.png -graphite/webapp/content/css/darkX/frame-bottom-left-focused.png -graphite/webapp/content/css/darkX/frame-bottom-mid-focused.png -graphite/webapp/content/css/darkX/frame-bottom-right-focused.png -graphite/webapp/content/css/darkX/frame-left-focused.png -graphite/webapp/content/css/darkX/frame-right-focused.png -graphite/webapp/content/css/darkX/titlebar-left-focused.png -graphite/webapp/content/css/darkX/titlebar-mid-focused.png -graphite/webapp/content/css/darkX/titlebar-right-focused.png -graphite/webapp/content/css/dashboard-default.css -graphite/webapp/content/css/dashboard-white.css -graphite/webapp/content/css/dashboard.css -graphite/webapp/content/css/default.css -graphite/webapp/content/css/default/bottom_left.gif -graphite/webapp/content/css/default/bottom_mid.gif -graphite/webapp/content/css/default/bottom_right.gif -graphite/webapp/content/css/default/bottom_right_resize.gif -graphite/webapp/content/css/default/center_left.gif -graphite/webapp/content/css/default/center_right.gif -graphite/webapp/content/css/default/clear.gif -graphite/webapp/content/css/default/close.gif -graphite/webapp/content/css/default/inspect.gif -graphite/webapp/content/css/default/maximize.gif -graphite/webapp/content/css/default/minimize.gif -graphite/webapp/content/css/default/overlay.png -graphite/webapp/content/css/default/resize.gif -graphite/webapp/content/css/default/sizer.gif -graphite/webapp/content/css/default/top_left.gif -graphite/webapp/content/css/default/top_mid.gif -graphite/webapp/content/css/default/top_right.gif -graphite/webapp/content/css/jquery.autocomplete.css -graphite/webapp/content/css/table.css -graphite/webapp/content/html/completerHelp.html -graphite/webapp/content/html/searchHelp.html -graphite/webapp/content/html/timeHelp.html -graphite/webapp/content/img/I.gif -graphite/webapp/content/img/L.gif -graphite/webapp/content/img/Lminus.gif -graphite/webapp/content/img/Lplus.gif -graphite/webapp/content/img/T.gif -graphite/webapp/content/img/Tminus.gif -graphite/webapp/content/img/Tplus.gif -graphite/webapp/content/img/arrow1.gif -graphite/webapp/content/img/blank.gif -graphite/webapp/content/img/calBt.gif -graphite/webapp/content/img/carbon-fiber.png -graphite/webapp/content/img/clock_16.png -graphite/webapp/content/img/delete.gif -graphite/webapp/content/img/error.png -graphite/webapp/content/img/folder.png -graphite/webapp/content/img/graphite.png -graphite/webapp/content/img/graphite_short.png -graphite/webapp/content/img/indicator.png -graphite/webapp/content/img/leaf.gif -graphite/webapp/content/img/line_chart.png -graphite/webapp/content/img/mini-bottom2.gif -graphite/webapp/content/img/mini-top2.gif -graphite/webapp/content/img/save.gif -graphite/webapp/content/img/searching.gif -graphite/webapp/content/img/updateGraph.gif -graphite/webapp/content/js/ace/ace.js -graphite/webapp/content/js/ace/keybinding-vim.js -graphite/webapp/content/js/ace/mode-c_cpp.js -graphite/webapp/content/js/ace/mode-clojure.js -graphite/webapp/content/js/ace/mode-coffee.js -graphite/webapp/content/js/ace/mode-csharp.js -graphite/webapp/content/js/ace/mode-css.js -graphite/webapp/content/js/ace/mode-groovy.js -graphite/webapp/content/js/ace/mode-html.js -graphite/webapp/content/js/ace/mode-java.js -graphite/webapp/content/js/ace/mode-javascript.js -graphite/webapp/content/js/ace/mode-json.js -graphite/webapp/content/js/ace/theme-textmate.js -graphite/webapp/content/js/ace/worker-javascript.js -graphite/webapp/content/js/browser.js -graphite/webapp/content/js/cli.js -graphite/webapp/content/js/completer.js -graphite/webapp/content/js/composer.js -graphite/webapp/content/js/composer_widgets.js -graphite/webapp/content/js/dashboard.js -graphite/webapp/content/js/ext/adapter/ext/ext-base-debug.js -graphite/webapp/content/js/ext/adapter/ext/ext-base.js -graphite/webapp/content/js/ext/adapter/jquery/ext-jquery-adapter-debug.js -graphite/webapp/content/js/ext/adapter/jquery/ext-jquery-adapter.js -graphite/webapp/content/js/ext/adapter/prototype/ext-prototype-adapter-debug.js -graphite/webapp/content/js/ext/adapter/prototype/ext-prototype-adapter.js -graphite/webapp/content/js/ext/adapter/yui/ext-yui-adapter-debug.js -graphite/webapp/content/js/ext/adapter/yui/ext-yui-adapter.js -graphite/webapp/content/js/ext/examples/shared/icons/arrow-down.gif -graphite/webapp/content/js/ext/examples/shared/icons/arrow-up.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/SILK.txt -graphite/webapp/content/js/ext/examples/shared/icons/fam/accept.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/add.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/add.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/application_go.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/application_view_list.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/book.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/cog.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/cog_edit.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/connect.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/connect.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/control_rewind.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/cross.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/delete.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/error.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/feed_add.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/feed_delete.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/feed_error.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/folder_go.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/folder_wrench.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/grid.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/image_add.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/information.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/plugin.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/plugin_add.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/rss_go.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/table_refresh.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/user.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_add.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_add.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_comment.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_delete.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_delete.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_edit.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_female.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_female.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_gray.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_green.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_green.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_orange.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_red.png -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_suit.gif -graphite/webapp/content/js/ext/examples/shared/icons/fam/user_suit.png -graphite/webapp/content/js/ext/examples/shared/icons/save.gif -graphite/webapp/content/js/ext/examples/shared/icons/silk.css -graphite/webapp/content/js/ext/ext-all-debug.js -graphite/webapp/content/js/ext/ext-all.js -graphite/webapp/content/js/ext/license.txt -graphite/webapp/content/js/ext/pkgs/cmp-foundation-debug.js -graphite/webapp/content/js/ext/pkgs/cmp-foundation.js -graphite/webapp/content/js/ext/pkgs/data-foundation-debug.js -graphite/webapp/content/js/ext/pkgs/data-foundation.js -graphite/webapp/content/js/ext/pkgs/data-grouping-debug.js -graphite/webapp/content/js/ext/pkgs/data-grouping.js -graphite/webapp/content/js/ext/pkgs/data-json-debug.js -graphite/webapp/content/js/ext/pkgs/data-json.js -graphite/webapp/content/js/ext/pkgs/data-list-views-debug.js -graphite/webapp/content/js/ext/pkgs/data-list-views.js -graphite/webapp/content/js/ext/pkgs/data-xml-debug.js -graphite/webapp/content/js/ext/pkgs/data-xml.js -graphite/webapp/content/js/ext/pkgs/direct-debug.js -graphite/webapp/content/js/ext/pkgs/direct.js -graphite/webapp/content/js/ext/pkgs/ext-core-debug.js -graphite/webapp/content/js/ext/pkgs/ext-core.js -graphite/webapp/content/js/ext/pkgs/ext-dd-debug.js -graphite/webapp/content/js/ext/pkgs/ext-dd.js -graphite/webapp/content/js/ext/pkgs/ext-foundation-debug.js -graphite/webapp/content/js/ext/pkgs/ext-foundation.js -graphite/webapp/content/js/ext/pkgs/pkg-buttons-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-buttons.js -graphite/webapp/content/js/ext/pkgs/pkg-charts-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-charts.js -graphite/webapp/content/js/ext/pkgs/pkg-forms-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-forms.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-editor-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-editor.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-foundation-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-foundation.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-grouping-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-grouping.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-property-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-grid-property.js -graphite/webapp/content/js/ext/pkgs/pkg-history-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-history.js -graphite/webapp/content/js/ext/pkgs/pkg-menu-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-menu.js -graphite/webapp/content/js/ext/pkgs/pkg-tabs-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-tabs.js -graphite/webapp/content/js/ext/pkgs/pkg-tips-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-tips.js -graphite/webapp/content/js/ext/pkgs/pkg-toolbars-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-toolbars.js -graphite/webapp/content/js/ext/pkgs/pkg-tree-debug.js -graphite/webapp/content/js/ext/pkgs/pkg-tree.js -graphite/webapp/content/js/ext/pkgs/resizable-debug.js -graphite/webapp/content/js/ext/pkgs/resizable.js -graphite/webapp/content/js/ext/pkgs/state-debug.js -graphite/webapp/content/js/ext/pkgs/state.js -graphite/webapp/content/js/ext/pkgs/window-debug.js -graphite/webapp/content/js/ext/pkgs/window.js -graphite/webapp/content/js/ext/resources/charts.swf -graphite/webapp/content/js/ext/resources/css/README.txt -graphite/webapp/content/js/ext/resources/css/debug.css -graphite/webapp/content/js/ext/resources/css/ext-all-notheme.css -graphite/webapp/content/js/ext/resources/css/ext-all.css -graphite/webapp/content/js/ext/resources/css/reset-min.css -graphite/webapp/content/js/ext/resources/css/structure/borders.css -graphite/webapp/content/js/ext/resources/css/structure/box.css -graphite/webapp/content/js/ext/resources/css/structure/button.css -graphite/webapp/content/js/ext/resources/css/structure/combo.css -graphite/webapp/content/js/ext/resources/css/structure/core.css -graphite/webapp/content/js/ext/resources/css/structure/date-picker.css -graphite/webapp/content/js/ext/resources/css/structure/dd.css -graphite/webapp/content/js/ext/resources/css/structure/debug.css -graphite/webapp/content/js/ext/resources/css/structure/dialog.css -graphite/webapp/content/js/ext/resources/css/structure/editor.css -graphite/webapp/content/js/ext/resources/css/structure/form.css -graphite/webapp/content/js/ext/resources/css/structure/grid.css -graphite/webapp/content/js/ext/resources/css/structure/layout.css -graphite/webapp/content/js/ext/resources/css/structure/list-view.css -graphite/webapp/content/js/ext/resources/css/structure/menu.css -graphite/webapp/content/js/ext/resources/css/structure/panel-reset.css -graphite/webapp/content/js/ext/resources/css/structure/panel.css -graphite/webapp/content/js/ext/resources/css/structure/pivotgrid.css -graphite/webapp/content/js/ext/resources/css/structure/progress.css -graphite/webapp/content/js/ext/resources/css/structure/qtips.css -graphite/webapp/content/js/ext/resources/css/structure/reset.css -graphite/webapp/content/js/ext/resources/css/structure/resizable.css -graphite/webapp/content/js/ext/resources/css/structure/slider.css -graphite/webapp/content/js/ext/resources/css/structure/tabs.css -graphite/webapp/content/js/ext/resources/css/structure/toolbar.css -graphite/webapp/content/js/ext/resources/css/structure/tree.css -graphite/webapp/content/js/ext/resources/css/structure/window.css -graphite/webapp/content/js/ext/resources/css/theme-access/borders.css -graphite/webapp/content/js/ext/resources/css/theme-access/box.css -graphite/webapp/content/js/ext/resources/css/theme-access/button.css -graphite/webapp/content/js/ext/resources/css/theme-access/combo.css -graphite/webapp/content/js/ext/resources/css/theme-access/core.css -graphite/webapp/content/js/ext/resources/css/theme-access/date-picker.css -graphite/webapp/content/js/ext/resources/css/theme-access/dd.css -graphite/webapp/content/js/ext/resources/css/theme-access/debug.css -graphite/webapp/content/js/ext/resources/css/theme-access/dialog.css -graphite/webapp/content/js/ext/resources/css/theme-access/editor.css -graphite/webapp/content/js/ext/resources/css/theme-access/form.css -graphite/webapp/content/js/ext/resources/css/theme-access/grid.css -graphite/webapp/content/js/ext/resources/css/theme-access/layout.css -graphite/webapp/content/js/ext/resources/css/theme-access/list-view.css -graphite/webapp/content/js/ext/resources/css/theme-access/menu.css -graphite/webapp/content/js/ext/resources/css/theme-access/panel.css -graphite/webapp/content/js/ext/resources/css/theme-access/progress.css -graphite/webapp/content/js/ext/resources/css/theme-access/qtips.css -graphite/webapp/content/js/ext/resources/css/theme-access/resizable.css -graphite/webapp/content/js/ext/resources/css/theme-access/slider.css -graphite/webapp/content/js/ext/resources/css/theme-access/tabs.css -graphite/webapp/content/js/ext/resources/css/theme-access/toolbar.css -graphite/webapp/content/js/ext/resources/css/theme-access/tree.css -graphite/webapp/content/js/ext/resources/css/theme-access/window.css -graphite/webapp/content/js/ext/resources/css/theme-gray/borders.css -graphite/webapp/content/js/ext/resources/css/theme-gray/box.css -graphite/webapp/content/js/ext/resources/css/theme-gray/button.css -graphite/webapp/content/js/ext/resources/css/theme-gray/combo.css -graphite/webapp/content/js/ext/resources/css/theme-gray/core.css -graphite/webapp/content/js/ext/resources/css/theme-gray/date-picker.css -graphite/webapp/content/js/ext/resources/css/theme-gray/dd.css -graphite/webapp/content/js/ext/resources/css/theme-gray/debug.css -graphite/webapp/content/js/ext/resources/css/theme-gray/dialog.css -graphite/webapp/content/js/ext/resources/css/theme-gray/editor.css -graphite/webapp/content/js/ext/resources/css/theme-gray/form.css -graphite/webapp/content/js/ext/resources/css/theme-gray/grid.css -graphite/webapp/content/js/ext/resources/css/theme-gray/layout.css -graphite/webapp/content/js/ext/resources/css/theme-gray/list-view.css -graphite/webapp/content/js/ext/resources/css/theme-gray/menu.css -graphite/webapp/content/js/ext/resources/css/theme-gray/panel.css -graphite/webapp/content/js/ext/resources/css/theme-gray/pivotgrid.css -graphite/webapp/content/js/ext/resources/css/theme-gray/progress.css -graphite/webapp/content/js/ext/resources/css/theme-gray/qtips.css -graphite/webapp/content/js/ext/resources/css/theme-gray/resizable.css -graphite/webapp/content/js/ext/resources/css/theme-gray/slider.css -graphite/webapp/content/js/ext/resources/css/theme-gray/tabs.css -graphite/webapp/content/js/ext/resources/css/theme-gray/toolbar.css -graphite/webapp/content/js/ext/resources/css/theme-gray/tree.css -graphite/webapp/content/js/ext/resources/css/theme-gray/window.css -graphite/webapp/content/js/ext/resources/css/visual/borders.css -graphite/webapp/content/js/ext/resources/css/visual/box.css -graphite/webapp/content/js/ext/resources/css/visual/button.css -graphite/webapp/content/js/ext/resources/css/visual/combo.css -graphite/webapp/content/js/ext/resources/css/visual/core.css -graphite/webapp/content/js/ext/resources/css/visual/date-picker.css -graphite/webapp/content/js/ext/resources/css/visual/dd.css -graphite/webapp/content/js/ext/resources/css/visual/debug.css -graphite/webapp/content/js/ext/resources/css/visual/dialog.css -graphite/webapp/content/js/ext/resources/css/visual/editor.css -graphite/webapp/content/js/ext/resources/css/visual/form.css -graphite/webapp/content/js/ext/resources/css/visual/grid.css -graphite/webapp/content/js/ext/resources/css/visual/layout.css -graphite/webapp/content/js/ext/resources/css/visual/list-view.css -graphite/webapp/content/js/ext/resources/css/visual/menu.css -graphite/webapp/content/js/ext/resources/css/visual/panel.css -graphite/webapp/content/js/ext/resources/css/visual/pivotgrid.css -graphite/webapp/content/js/ext/resources/css/visual/progress.css -graphite/webapp/content/js/ext/resources/css/visual/qtips.css -graphite/webapp/content/js/ext/resources/css/visual/resizable.css -graphite/webapp/content/js/ext/resources/css/visual/slider.css -graphite/webapp/content/js/ext/resources/css/visual/tabs.css -graphite/webapp/content/js/ext/resources/css/visual/toolbar.css -graphite/webapp/content/js/ext/resources/css/visual/tree.css -graphite/webapp/content/js/ext/resources/css/visual/window.css -graphite/webapp/content/js/ext/resources/css/xtheme-access.css -graphite/webapp/content/js/ext/resources/css/xtheme-blue.css -graphite/webapp/content/js/ext/resources/css/xtheme-gray.css -graphite/webapp/content/js/ext/resources/css/yourtheme.css -graphite/webapp/content/js/ext/resources/expressinstall.swf -graphite/webapp/content/js/ext/resources/images/default/box/corners-blue.gif -graphite/webapp/content/js/ext/resources/images/default/box/corners.gif -graphite/webapp/content/js/ext/resources/images/default/box/l-blue.gif -graphite/webapp/content/js/ext/resources/images/default/box/l.gif -graphite/webapp/content/js/ext/resources/images/default/box/r-blue.gif -graphite/webapp/content/js/ext/resources/images/default/box/r.gif -graphite/webapp/content/js/ext/resources/images/default/box/tb-blue.gif -graphite/webapp/content/js/ext/resources/images/default/box/tb.gif -graphite/webapp/content/js/ext/resources/images/default/button/arrow.gif -graphite/webapp/content/js/ext/resources/images/default/button/btn.gif -graphite/webapp/content/js/ext/resources/images/default/button/group-cs.gif -graphite/webapp/content/js/ext/resources/images/default/button/group-lr.gif -graphite/webapp/content/js/ext/resources/images/default/button/group-tb.gif -graphite/webapp/content/js/ext/resources/images/default/button/s-arrow-b-noline.gif -graphite/webapp/content/js/ext/resources/images/default/button/s-arrow-b.gif -graphite/webapp/content/js/ext/resources/images/default/button/s-arrow-bo.gif -graphite/webapp/content/js/ext/resources/images/default/button/s-arrow-noline.gif -graphite/webapp/content/js/ext/resources/images/default/button/s-arrow-o.gif -graphite/webapp/content/js/ext/resources/images/default/button/s-arrow.gif -graphite/webapp/content/js/ext/resources/images/default/dd/drop-add.gif -graphite/webapp/content/js/ext/resources/images/default/dd/drop-no.gif -graphite/webapp/content/js/ext/resources/images/default/dd/drop-yes.gif -graphite/webapp/content/js/ext/resources/images/default/editor/tb-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/form/checkbox.gif -graphite/webapp/content/js/ext/resources/images/default/form/clear-trigger.gif -graphite/webapp/content/js/ext/resources/images/default/form/clear-trigger.psd -graphite/webapp/content/js/ext/resources/images/default/form/date-trigger.gif -graphite/webapp/content/js/ext/resources/images/default/form/date-trigger.psd -graphite/webapp/content/js/ext/resources/images/default/form/error-tip-corners.gif -graphite/webapp/content/js/ext/resources/images/default/form/exclamation.gif -graphite/webapp/content/js/ext/resources/images/default/form/radio.gif -graphite/webapp/content/js/ext/resources/images/default/form/search-trigger.gif -graphite/webapp/content/js/ext/resources/images/default/form/search-trigger.psd -graphite/webapp/content/js/ext/resources/images/default/form/text-bg.gif -graphite/webapp/content/js/ext/resources/images/default/form/trigger-square.gif -graphite/webapp/content/js/ext/resources/images/default/form/trigger-square.psd -graphite/webapp/content/js/ext/resources/images/default/form/trigger-tpl.gif -graphite/webapp/content/js/ext/resources/images/default/form/trigger.gif -graphite/webapp/content/js/ext/resources/images/default/form/trigger.psd -graphite/webapp/content/js/ext/resources/images/default/gradient-bg.gif -graphite/webapp/content/js/ext/resources/images/default/grid/arrow-left-white.gif -graphite/webapp/content/js/ext/resources/images/default/grid/arrow-right-white.gif -graphite/webapp/content/js/ext/resources/images/default/grid/col-move-bottom.gif -graphite/webapp/content/js/ext/resources/images/default/grid/col-move-top.gif -graphite/webapp/content/js/ext/resources/images/default/grid/columns.gif -graphite/webapp/content/js/ext/resources/images/default/grid/dirty.gif -graphite/webapp/content/js/ext/resources/images/default/grid/done.gif -graphite/webapp/content/js/ext/resources/images/default/grid/drop-no.gif -graphite/webapp/content/js/ext/resources/images/default/grid/drop-yes.gif -graphite/webapp/content/js/ext/resources/images/default/grid/footer-bg.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid-blue-hd.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid-blue-split.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid-hrow.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid-loading.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid-split.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid-vista-hd.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid3-hd-btn.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid3-hrow-over.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid3-hrow.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid3-rowheader.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid3-special-col-bg.gif -graphite/webapp/content/js/ext/resources/images/default/grid/grid3-special-col-sel-bg.gif -graphite/webapp/content/js/ext/resources/images/default/grid/group-by.gif -graphite/webapp/content/js/ext/resources/images/default/grid/group-collapse.gif -graphite/webapp/content/js/ext/resources/images/default/grid/group-expand-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/grid/group-expand.gif -graphite/webapp/content/js/ext/resources/images/default/grid/hd-pop.gif -graphite/webapp/content/js/ext/resources/images/default/grid/hmenu-asc.gif -graphite/webapp/content/js/ext/resources/images/default/grid/hmenu-desc.gif -graphite/webapp/content/js/ext/resources/images/default/grid/hmenu-lock.gif -graphite/webapp/content/js/ext/resources/images/default/grid/hmenu-lock.png -graphite/webapp/content/js/ext/resources/images/default/grid/hmenu-unlock.gif -graphite/webapp/content/js/ext/resources/images/default/grid/hmenu-unlock.png -graphite/webapp/content/js/ext/resources/images/default/grid/invalid_line.gif -graphite/webapp/content/js/ext/resources/images/default/grid/loading.gif -graphite/webapp/content/js/ext/resources/images/default/grid/mso-hd.gif -graphite/webapp/content/js/ext/resources/images/default/grid/nowait.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-first-disabled.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-first.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-last-disabled.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-last.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-next-disabled.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-next.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-prev-disabled.gif -graphite/webapp/content/js/ext/resources/images/default/grid/page-prev.gif -graphite/webapp/content/js/ext/resources/images/default/grid/pick-button.gif -graphite/webapp/content/js/ext/resources/images/default/grid/refresh-disabled.gif -graphite/webapp/content/js/ext/resources/images/default/grid/refresh.gif -graphite/webapp/content/js/ext/resources/images/default/grid/row-check-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/grid/row-expand-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/grid/row-over.gif -graphite/webapp/content/js/ext/resources/images/default/grid/row-sel.gif -graphite/webapp/content/js/ext/resources/images/default/grid/sort-hd.gif -graphite/webapp/content/js/ext/resources/images/default/grid/sort_asc.gif -graphite/webapp/content/js/ext/resources/images/default/grid/sort_desc.gif -graphite/webapp/content/js/ext/resources/images/default/grid/wait.gif -graphite/webapp/content/js/ext/resources/images/default/layout/collapse.gif -graphite/webapp/content/js/ext/resources/images/default/layout/expand.gif -graphite/webapp/content/js/ext/resources/images/default/layout/gradient-bg.gif -graphite/webapp/content/js/ext/resources/images/default/layout/mini-bottom.gif -graphite/webapp/content/js/ext/resources/images/default/layout/mini-left.gif -graphite/webapp/content/js/ext/resources/images/default/layout/mini-right.gif -graphite/webapp/content/js/ext/resources/images/default/layout/mini-top.gif -graphite/webapp/content/js/ext/resources/images/default/layout/ns-collapse.gif -graphite/webapp/content/js/ext/resources/images/default/layout/ns-expand.gif -graphite/webapp/content/js/ext/resources/images/default/layout/panel-close.gif -graphite/webapp/content/js/ext/resources/images/default/layout/panel-title-bg.gif -graphite/webapp/content/js/ext/resources/images/default/layout/panel-title-light-bg.gif -graphite/webapp/content/js/ext/resources/images/default/layout/stick.gif -graphite/webapp/content/js/ext/resources/images/default/layout/stuck.gif -graphite/webapp/content/js/ext/resources/images/default/layout/tab-close-on.gif -graphite/webapp/content/js/ext/resources/images/default/layout/tab-close.gif -graphite/webapp/content/js/ext/resources/images/default/menu/checked.gif -graphite/webapp/content/js/ext/resources/images/default/menu/group-checked.gif -graphite/webapp/content/js/ext/resources/images/default/menu/item-over.gif -graphite/webapp/content/js/ext/resources/images/default/menu/menu-parent.gif -graphite/webapp/content/js/ext/resources/images/default/menu/menu.gif -graphite/webapp/content/js/ext/resources/images/default/menu/unchecked.gif -graphite/webapp/content/js/ext/resources/images/default/panel/corners-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/panel/left-right.gif -graphite/webapp/content/js/ext/resources/images/default/panel/light-hd.gif -graphite/webapp/content/js/ext/resources/images/default/panel/tool-sprite-tpl.gif -graphite/webapp/content/js/ext/resources/images/default/panel/tool-sprites.gif -graphite/webapp/content/js/ext/resources/images/default/panel/tools-sprites-trans.gif -graphite/webapp/content/js/ext/resources/images/default/panel/top-bottom.gif -graphite/webapp/content/js/ext/resources/images/default/panel/top-bottom.png -graphite/webapp/content/js/ext/resources/images/default/panel/white-corners-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/panel/white-left-right.gif -graphite/webapp/content/js/ext/resources/images/default/panel/white-top-bottom.gif -graphite/webapp/content/js/ext/resources/images/default/progress/progress-bg.gif -graphite/webapp/content/js/ext/resources/images/default/qtip/bg.gif -graphite/webapp/content/js/ext/resources/images/default/qtip/close.gif -graphite/webapp/content/js/ext/resources/images/default/qtip/tip-anchor-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/qtip/tip-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/s.gif -graphite/webapp/content/js/ext/resources/images/default/shadow-c.png -graphite/webapp/content/js/ext/resources/images/default/shadow-lr.png -graphite/webapp/content/js/ext/resources/images/default/shadow.png -graphite/webapp/content/js/ext/resources/images/default/shared/blue-loading.gif -graphite/webapp/content/js/ext/resources/images/default/shared/calendar.gif -graphite/webapp/content/js/ext/resources/images/default/shared/glass-bg.gif -graphite/webapp/content/js/ext/resources/images/default/shared/hd-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/shared/large-loading.gif -graphite/webapp/content/js/ext/resources/images/default/shared/left-btn.gif -graphite/webapp/content/js/ext/resources/images/default/shared/loading-balls.gif -graphite/webapp/content/js/ext/resources/images/default/shared/right-btn.gif -graphite/webapp/content/js/ext/resources/images/default/shared/warning.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/e-handle-dark.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/e-handle.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/ne-handle-dark.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/ne-handle.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/nw-handle-dark.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/nw-handle.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/s-handle-dark.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/s-handle.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/se-handle-dark.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/se-handle.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/square.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/sw-handle-dark.gif -graphite/webapp/content/js/ext/resources/images/default/sizer/sw-handle.gif -graphite/webapp/content/js/ext/resources/images/default/slider/slider-bg.png -graphite/webapp/content/js/ext/resources/images/default/slider/slider-thumb.png -graphite/webapp/content/js/ext/resources/images/default/slider/slider-v-bg.png -graphite/webapp/content/js/ext/resources/images/default/slider/slider-v-thumb.png -graphite/webapp/content/js/ext/resources/images/default/tabs/scroll-left.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/scroll-right.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/scroller-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-btm-inactive-left-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-btm-inactive-right-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-btm-left-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-btm-over-left-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-btm-over-right-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-btm-right-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-close.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-strip-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-strip-bg.png -graphite/webapp/content/js/ext/resources/images/default/tabs/tab-strip-btm-bg.gif -graphite/webapp/content/js/ext/resources/images/default/tabs/tabs-sprite.gif -graphite/webapp/content/js/ext/resources/images/default/toolbar/bg.gif -graphite/webapp/content/js/ext/resources/images/default/toolbar/btn-arrow-light.gif *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***