Bug 185146 - [patch] www/py-graphite-web: Fix Graphite import against Django 1.6
Summary: [patch] www/py-graphite-web: Fix Graphite import against Django 1.6
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Steve Wills
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-23 20:20 UTC by Brad Davis
Modified: 2014-02-18 15:50 UTC (History)
0 users

See Also:


Attachments
graphite-django16.patch (14.41 KB, patch)
2013-12-23 20:20 UTC, Brad Davis
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brad Davis freebsd_committer freebsd_triage 2013-12-23 20:20:00 UTC
	Graphite will not run against Django 1.6
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-12-23 20:20:09 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-python

freebsd-python@ wants this port PRs (via the GNATS Auto Assign Tool)
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2013-12-23 20:20:10 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 Edwin Groothuis freebsd_committer freebsd_triage 2013-12-23 20:20:10 UTC
Maintainer of www/py-graphite-web,

Please note that PR ports/185146 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/185146

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 4 Steve Wills freebsd_committer freebsd_triage 2013-12-26 16:38:54 UTC
Responsible Changed
From-To: freebsd-python->swills

I'll take it.
Comment 5 dfilter service freebsd_committer freebsd_triage 2014-02-18 15:48:49 UTC
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 <bsd.port.mk>

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<name>[^/]+)', '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}
 <VirtualHost *:80>
 	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/
 	<Location "/content/">
 		SetHandler None
 	</Location>
@@ -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
 	<Location "/media/">
 		SetHandler None
 	</Location>
 
+	Alias /static/ "%%PYTHON_SITELIBDIR%%/django/contrib/admin/static/"
+	<Location "/static/">
+		SetHandler None
+	</Location>
+	<Directory "%%PYTHON_SITELIBDIR%%/django/contrib/admin/static/">
+		Order deny,allow
+		Allow from all
+	</Directory>
+
 	# The graphite.wsgi file has to be accessible by apache. It won't
 	# be visible to clients because of the DocumentRoot though.
-	<Directory /usr/local/etc/graphite/>
+	<Directory %%PREFIX%%/etc/graphite/>
 		Order deny,allow
 		Allow from all
 	</Directory>
+
+	<Directory %%DATADIR%%/content/>
+		Order deny,allow
+		Allow from all
+	</Directory>
+
 </VirtualHost>
 
+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 ***
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 6 Steve Wills freebsd_committer freebsd_triage 2014-02-18 15:48:52 UTC
State Changed
From-To: feedback->closed

Committed. Thanks!