Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Sep 2011 13:48:17 GMT
From:      Chris McCoy <bsdports@wayfair.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/160849: New Port: databases/py-carbon
Message-ID:  <201109201348.p8KDmHFl008278@red.freebsd.org>
Resent-Message-ID: <201109201350.p8KDo87G091525@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         160849
>Category:       ports
>Synopsis:       New Port: databases/py-carbon
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 20 13:50:08 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Chris McCoy
>Release:        8.2-Release
>Organization:
Wayfair LLC
>Environment:
FreeBSD graphite01.wayfair.com 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Wed Apr  6 18:18:38 EDT 2011     root@:/usr/obj/usr/src/sys/WAYFAIRXENHVM  amd64

>Description:
Backend data caching and persistence daemon for Graphite

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	py-carbon
#	py-carbon/files
#	py-carbon/files/patch-bin-carbon-cache.py
#	py-carbon/files/patch-setup.cfg
#	py-carbon/files/pkg_message.in
#	py-carbon/files/carbon.in
#	py-carbon/files/patch-conf-carbon.conf.example
#	py-carbon/files/patch-setup.py
#	py-carbon/files/patch-lib-carbon-conf.py
#	py-carbon/Makefile
#	py-carbon/distinfo
#	py-carbon/pkg-descr
#	py-carbon/pkg-plist
#
echo c - py-carbon
mkdir -p py-carbon > /dev/null 2>&1
echo c - py-carbon/files
mkdir -p py-carbon/files > /dev/null 2>&1
echo x - py-carbon/files/patch-bin-carbon-cache.py
sed 's/^X//' >py-carbon/files/patch-bin-carbon-cache.py << 'cd842b80933094db44ffe7f33cf58304'
X--- bin/carbon-cache.py.orig	2011-05-24 22:58:32.000000000 -0400
X+++ bin/carbon-cache.py	2011-05-24 22:58:48.000000000 -0400
X@@ -1,4 +1,4 @@
X-#!/usr/bin/env python
X+#!/usr/local/bin/python2.7
X """Copyright 2009 Chris Davis
X 
X Licensed under the Apache License, Version 2.0 (the "License");
X@@ -41,7 +41,7 @@
X STORAGE_DIR = join(ROOT_DIR, 'storage')
X LOG_DIR = join(STORAGE_DIR, 'log', 'carbon-cache')
X LIB_DIR = join(ROOT_DIR, 'lib')
X-CONF_DIR = join(ROOT_DIR, 'conf')
X+CONF_DIR = join('/usr/local/etc/', 'carbon')
X __builtins__.CONF_DIR = CONF_DIR # evil I know, but effective.
X 
X sys.path.insert(0, LIB_DIR)
X@@ -105,13 +105,15 @@
X     print 'Failed to read pid from %s' % options.pidfile
X     raise SystemExit(1)
X 
X-  if exists('/proc/%d' % pid):
X-    print "%s is running with pid %d" % (program, pid)
X-    raise SystemExit(0)
X-  else:
X+  try:
X+    os.kill(pid, 0)
X+  except:
X     print "%s is not running" % program
X     raise SystemExit(0)
X 
X+  print "%s is running with pid %d" % (program, pid)
X+  raise SystemExit(0)
X+
X elif action != 'start':
X   parser.print_usage()
X   raise SystemExit(1)
cd842b80933094db44ffe7f33cf58304
echo x - py-carbon/files/patch-setup.cfg
sed 's/^X//' >py-carbon/files/patch-setup.cfg << 'ca4622eb396bbd264092fa7044c29027'
X--- setup.cfg.org	2011-05-05 20:55:25.000000000 -0400
X+++ setup.cfg	2011-05-05 20:55:31.000000000 -0400
X@@ -1,3 +1 @@
X [install]
X-prefix = /opt/graphite
X-install-lib = %(prefix)s/lib
ca4622eb396bbd264092fa7044c29027
echo x - py-carbon/files/pkg_message.in
sed 's/^X//' >py-carbon/files/pkg_message.in << '3d7de4a7f3d59f6faee687cda19ee535'
X* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
X
XThis port now includes an rc script:
X
X%%PREFIX%%/etc/rc.d/carbon
X
XAdd:
X
Xcarbon_enable="YES"
X
Xto /etc/rc.conf, then start it via:
X
X%%PREFIX%%/etc/rc.d/carbon start
X
XOnce started, finish setting up Graphite
X
X
X* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
X
3d7de4a7f3d59f6faee687cda19ee535
echo x - py-carbon/files/carbon.in
sed 's/^X//' >py-carbon/files/carbon.in << '9aceafa47bdcfdbc5d149aa0261fb02f'
X#!/bin/sh
X#
X# PROVIDE: carbon
X# KEYWORD: shutdown
X#
X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
X# to enable this service:
X#
X# carbon_enable (bool):	Set to NO by default.
X#			Set it to YES to enable it.
X# carbon_conf_dir:	Directory where sabnzbd configuration
X#			data is stored.
X#			Default: /usr/local/sabnzbd
X# carbon_user:	    	The user account sabnzbd daemon runs as what
X#			you want it to be. It uses 'www' user by
X#			default. Do not sets it as empty or it will run
X#			as root.
X# carbon_group:    	The group account sabnzbd daemon runs as what
X#			you want it to be. It uses 'www' group by
X#			default. Do not sets it as empty or it will run
X#			as wheel.
X
X. /etc/rc.subr
X
Xname="carbon"
Xrcvar=${name}_enable
X
Xload_rc_config ${name}
X
X: ${carbon_enable:="NO"}
X: ${carbon_user:="root"}
X: ${carbon_group:="wheel"}
X: ${carbon_conf:="/usr/local/etc/carbon/carbon.conf"}
X: ${carbon_debug:="NO"}
X: ${carbon_logdir:="/usr/local/graphite/storage/log"}
X: ${carbon_pidfile:="/var/run/carbon.pid"}
X
Xstatus_cmd="${name}_status"
Xstop_cmd="${name}_stop"
X
Xcommand_interpreter="/usr/local/bin/python2.7"
Xcommand="/usr/local/bin/carbon-cache.py"
Xcommand_args="--config=${carbon_conf} --logdir ${carbon_logdir} --pidfile ${carbon_pidfile} start"
X
Xcarbon_stop() {
X    echo "Stopping $name"
X
X    /usr/local/bin/carbon-cache.py --pidfile ${carbon_pidfile} stop
X}
X
Xcarbon_status() {
X    /usr/local/bin/carbon-cache.py --pidfile ${carbon_pidfile} status
X
X}
X
Xrun_rc_command "$1"
X
9aceafa47bdcfdbc5d149aa0261fb02f
echo x - py-carbon/files/patch-conf-carbon.conf.example
sed 's/^X//' >py-carbon/files/patch-conf-carbon.conf.example << '4264bf23a2976abf5bac19af93133018'
X--- conf/carbon.conf.example.orig	2011-05-03 21:24:29.000000000 -0400
X+++ conf/carbon.conf.example	2011-05-03 21:25:25.000000000 -0400
X@@ -1,5 +1,5 @@
X [cache]
X-LOCAL_DATA_DIR = /opt/graphite/storage/whisper/
X+LOCAL_DATA_DIR = /var/db/graphite/storage/whisper/
X 
X # Specify the user to drop privileges to
X # If this is blank carbon runs as the user that invokes it
4264bf23a2976abf5bac19af93133018
echo x - py-carbon/files/patch-setup.py
sed 's/^X//' >py-carbon/files/patch-setup.py << 'ef069219445b1210f91de639f04c1e44'
X--- setup.py.orig	2011-04-03 22:20:13.000000000 -0400
X+++ setup.py	2011-05-05 22:03:42.000000000 -0400
X@@ -12,9 +12,9 @@
X   setup_kwargs = dict()
X 
X 
X-storage_dirs = [ ('storage/whisper',[]), ('storage/lists',[]),
X-                 ('storage/log',[]), ('storage/rrd',[]) ]
X-conf_files = [ ('conf', glob('conf/*.example')) ]
X+storage_dirs = [ ('/var/db/graphite/storage/whisper',[]), ('/var/db/graphite/storage/lists',[]),
X+                 ('/var/db/graphite/storage/log',[]), ('/var/db/graphite/storage/rrd',[]) ]
X+conf_files = [ ('/usr/local/etc/carbon', glob('conf/*.example')) ]
X 
X setup(
X   name='carbon',
ef069219445b1210f91de639f04c1e44
echo x - py-carbon/files/patch-lib-carbon-conf.py
sed 's/^X//' >py-carbon/files/patch-lib-carbon-conf.py << 'bf5daa50ffe7de50784ef162370aaa03'
X--- lib/carbon/conf.py	2011-05-03 21:17:07.000000000 -0400
X+++ lib/carbon/conf.py.orig	2011-05-03 21:16:51.000000000 -0400
X@@ -16,7 +16,7 @@
X 
X 
X defaults = dict(
X-  LOCAL_DATA_DIR="/opt/graphite/storage/whisper/",
X+  LOCAL_DATA_DIR="/var/db/graphite/storage/whisper/",
X   USER="",
X   MAX_CACHE_SIZE='inf',
X   MAX_UPDATES_PER_SECOND=1000,
bf5daa50ffe7de50784ef162370aaa03
echo x - py-carbon/Makefile
sed 's/^X//' >py-carbon/Makefile << 'b456de5c952142054c582065da667cdd'
X# New ports collection makefile for:	py-carbon
X# Date created:		2011-05-01
X# Whom:			Dan Rowe <bsdports@csnstores.com>
X#
X# $FreeBSD: $id$
X#
X
XPORTNAME=       carbon 
XPORTVERSION=    0.9.8	
XCATEGORIES=	databases python
XMASTER_SITES=   http://launchpad.net/graphite/1.0/${PORTVERSION}/+download/	
XPKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
X
XMAINTAINER=     bsdports@wayfair.com	
XCOMMENT=	baskend storage application for graphite
X
XBUILD_DEPENDS= ${PYTHON_SITELIBDIR}/txAMQP-0.3-py2.7.egg:${PORTSDIR}/net/py-txamqp \
X	       ${PYTHON_SITELIBDIR}/whisper.py:${PORTSDIR}/databases/py-whisper
X
XRUN_DEPENDS= ${BUILD_DEPENDS}
XUSE_PYTHON=	2.6+
XUSE_PYDISTUTILS= yes
XUSE_TWISTED= yes
XFETCH_ARGS=    -pRr
XUSE_RC_SUBR=   carbon
X
X
X.include <bsd.port.mk>
b456de5c952142054c582065da667cdd
echo x - py-carbon/distinfo
sed 's/^X//' >py-carbon/distinfo << '24da0b8603b84d54b1948683bb02164c'
XSIZE (carbon-0.9.8.tar.gz) = 28348 
XMD5 (carbon-0.9.8.tar.gz) = 611083ec9ad7418e7e72b962719204ae
XSHA256 (carbon-0.9.8.tar.gz) = d48ae81b9e739c30132a3f885bde5c612b1531ce4db96b72018f173cccd2fb5e
24da0b8603b84d54b1948683bb02164c
echo x - py-carbon/pkg-descr
sed 's/^X//' >py-carbon/pkg-descr << '781200e65ef008160ab1ca278d081168'
XCarbon is a backend data caching and persistence daemon for Graphite
X
XWWW:	http://launchpad.net/graphite
781200e65ef008160ab1ca278d081168
echo x - py-carbon/pkg-plist
sed 's/^X//' >py-carbon/pkg-plist << '46f6acee39ddd092a64741a2828985d1'
Xbin/carbon-aggregator.py
Xbin/carbon-cache.py
Xbin/carbon-cache.py.orig
Xbin/carbon-relay.py
Xetc/carbon/rewrite-rules.conf.example
Xetc/carbon/carbon.amqp.conf.example
Xetc/carbon/carbon.conf.example
Xetc/carbon/aggregation-rules.conf.example
Xetc/carbon/relay-rules.conf.example
Xetc/carbon/storage-schemas.conf.example
Xlib/python2.7/site-packages/carbon/rules.py
Xlib/python2.7/site-packages/carbon/amqp_publisher.py
Xlib/python2.7/site-packages/carbon/cache.py
Xlib/python2.7/site-packages/carbon/util.py
Xlib/python2.7/site-packages/carbon/log.py
Xlib/python2.7/site-packages/carbon/manhole.py
Xlib/python2.7/site-packages/carbon/events.py
Xlib/python2.7/site-packages/carbon/__init__.py
Xlib/python2.7/site-packages/carbon/conf.py
Xlib/python2.7/site-packages/carbon/writer.py
Xlib/python2.7/site-packages/carbon/relay.py
Xlib/python2.7/site-packages/carbon/amqp_listener.py
Xlib/python2.7/site-packages/carbon/rewrite.py
Xlib/python2.7/site-packages/carbon/listeners.py
Xlib/python2.7/site-packages/carbon/instrumentation.py
Xlib/python2.7/site-packages/carbon/storage.py
Xlib/python2.7/site-packages/carbon/aggregator/rules.py
Xlib/python2.7/site-packages/carbon/aggregator/client.py
Xlib/python2.7/site-packages/carbon/aggregator/__init__.py
Xlib/python2.7/site-packages/carbon/aggregator/receiver.py
Xlib/python2.7/site-packages/carbon/aggregator/buffers.py
Xlib/python2.7/site-packages/carbon/aggregator/rules.pyc
Xlib/python2.7/site-packages/carbon/aggregator/client.pyc
Xlib/python2.7/site-packages/carbon/aggregator/__init__.pyc
Xlib/python2.7/site-packages/carbon/aggregator/receiver.pyc
Xlib/python2.7/site-packages/carbon/aggregator/buffers.pyc
Xlib/python2.7/site-packages/carbon/aggregator/rules.pyo
Xlib/python2.7/site-packages/carbon/aggregator/client.pyo
Xlib/python2.7/site-packages/carbon/aggregator/__init__.pyo
Xlib/python2.7/site-packages/carbon/aggregator/receiver.pyo
Xlib/python2.7/site-packages/carbon/aggregator/buffers.pyo
Xlib/python2.7/site-packages/carbon/amqp0-8.xml
Xlib/python2.7/site-packages/carbon/rules.pyc
Xlib/python2.7/site-packages/carbon/amqp_publisher.pyc
Xlib/python2.7/site-packages/carbon/cache.pyc
Xlib/python2.7/site-packages/carbon/util.pyc
Xlib/python2.7/site-packages/carbon/log.pyc
Xlib/python2.7/site-packages/carbon/manhole.pyc
Xlib/python2.7/site-packages/carbon/events.pyc
Xlib/python2.7/site-packages/carbon/__init__.pyc
Xlib/python2.7/site-packages/carbon/conf.pyc
Xlib/python2.7/site-packages/carbon/writer.pyc
Xlib/python2.7/site-packages/carbon/relay.pyc
Xlib/python2.7/site-packages/carbon/amqp_listener.pyc
Xlib/python2.7/site-packages/carbon/rewrite.pyc
Xlib/python2.7/site-packages/carbon/listeners.pyc
Xlib/python2.7/site-packages/carbon/instrumentation.pyc
Xlib/python2.7/site-packages/carbon/storage.pyc
Xlib/python2.7/site-packages/carbon/rules.pyo
Xlib/python2.7/site-packages/carbon/amqp_publisher.pyo
Xlib/python2.7/site-packages/carbon/cache.pyo
Xlib/python2.7/site-packages/carbon/util.pyo
Xlib/python2.7/site-packages/carbon/log.pyo
Xlib/python2.7/site-packages/carbon/manhole.pyo
Xlib/python2.7/site-packages/carbon/events.pyo
Xlib/python2.7/site-packages/carbon/__init__.pyo
Xlib/python2.7/site-packages/carbon/conf.pyo
Xlib/python2.7/site-packages/carbon/writer.pyo
Xlib/python2.7/site-packages/carbon/relay.pyo
Xlib/python2.7/site-packages/carbon/amqp_listener.pyo
Xlib/python2.7/site-packages/carbon/rewrite.pyo
Xlib/python2.7/site-packages/carbon/listeners.pyo
Xlib/python2.7/site-packages/carbon/instrumentation.pyo
Xlib/python2.7/site-packages/carbon/storage.pyo
X@dirrm etc/carbon
X@dirrm lib/python2.7/site-packages/carbon/aggregator
X@dirrm lib/python2.7/site-packages/carbon
46f6acee39ddd092a64741a2828985d1
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109201348.p8KDmHFl008278>