Index: head/www/py-graphite-api/Makefile =================================================================== --- head/www/py-graphite-api/Makefile +++ head/www/py-graphite-api/Makefile @@ -3,11 +3,12 @@ PORTNAME= graphite-api PORTVERSION= 1.1.3 +PORTREVISION= 1 CATEGORIES= www python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -MAINTAINER= dch@skunkwerks.at +MAINTAINER= dch@FreeBSD.org COMMENT= Graphite-web, without the interface - just the rendering HTTP API LICENSE= APACHE20 @@ -24,15 +25,16 @@ ${PYTHON_PKGNAMEPREFIX}gunicorn>=19.4.1:www/py-gunicorn@${PY_FLAVOR} \ xorg-fonts-truetype>=0:x11-fonts/xorg-fonts-truetype -NO_ARCH= yes USES= python USE_PYTHON= distutils py3kplist +NO_ARCH= yes + GRAPHITEAPI_APP= graphiteapi SUB_FILES= pkg-message -SUB_LIST= PORTNAME=${PORTNAME} \ - PREFIX=${PREFIX} \ +SUB_LIST= PYTHON_VER=${PYTHON_VER} \ + PYTHON_VERSION=${PYTHON_VERSION} \ GRAPHITEAPI_APP=${GRAPHITEAPI_APP} \ GRAPHITEAPI_USER=${GRAPHITEAPI_USER} \ GRAPHITEAPI_GROUP=${GRAPHITEAPI_GROUP} \ @@ -40,10 +42,7 @@ GRAPHITEAPI_TMPDIR=${GRAPHITEAPI_TMPDIR} \ GRAPHITEAPI_PIDFILE=${GRAPHITEAPI_PIDFILE} -PLIST_SUB= PORTNAME=${PORTNAME} \ - PORTVERSION=${PORTVERSION} \ - PREFIX=${PREFIX} \ - GRAPHITEAPI_APP=${GRAPHITEAPI_APP} \ +PLIST_SUB= GRAPHITEAPI_APP=${GRAPHITEAPI_APP} \ GRAPHITEAPI_USER=${GRAPHITEAPI_USER} \ GRAPHITEAPI_GROUP=${GRAPHITEAPI_GROUP} \ GRAPHITEAPI_LOGDIR=${GRAPHITEAPI_LOGDIR} \ Index: head/www/py-graphite-api/files/graphiteapi.in =================================================================== --- head/www/py-graphite-api/files/graphiteapi.in +++ head/www/py-graphite-api/files/graphiteapi.in @@ -23,8 +23,10 @@ name="%%GRAPHITEAPI_APP%%" rcvar="%%GRAPHITEAPI_APP%%_enable" +desc="graphite-web rendering API" -# defaults +load_rc_config ${name} + : ${graphiteapi_enable:="NO"} : ${graphiteapi_user="%%GRAPHITEAPI_USER%%"} : ${graphiteapi_group="%%GRAPHITEAPI_GROUP%%"} @@ -32,21 +34,32 @@ : ${graphiteapi_config="%%ETCDIR%%/%%GRAPHITEAPI_APP%%.yaml"} : ${graphiteapi_flags="--workers 4"} -# daemon -command="%%PREFIX%%/bin/gunicorn" required_files="${graphiteapi_config}" -command_args="graphite_api.app:app" + +command="%%PREFIX%%/bin/gunicorn-%%PYTHON_VER%%" +procname="%%PYTHON_VERSION%%" + +pidfile="%%GRAPHITEAPI_PIDFILE%%" + +command_args="--daemon graphite_api.app:app" command_args="${command_args} --user ${graphiteapi_user} --group ${graphiteapi_group}" command_args="${command_args} --bind ${graphiteapi_address}" -command_args="${command_args} --env TZ=UTC" command_args="${command_args} --env GRAPHITE_API_CONFIG=${graphiteapi_config}" command_args="${command_args} --pid %%GRAPHITEAPI_PIDFILE%%" command_args="${command_args} --worker-tmp-dir %%GRAPHITEAPI_TMPDIR%%" command_args="${command_args} --error-logfile %%GRAPHITEAPI_LOGDIR%%/error.log" command_args="${command_args} --access-logfile %%GRAPHITEAPI_LOGDIR%%/access.log" -# support SIGHUP to reload configuration file extra_commands="reload" +start_precmd="start_precmd" -load_rc_config $name +start_precmd() +{ + test -d "%%GRAPHITEAPI_LOGDIR%%" || install -d -o + ${graphiteapi_user} \ + -g ${graphiteapi_group} -m 0750 "%%GRAPHITEAPI_LOGDIR%%" + test -d "%%GRAPHITEAPI_TMPDIR%%" || install -d -o ${graphiteapi_user} \ + -g ${graphiteapi_group} -m 0750 "%%GRAPHITEAPI_TMPDIR%%" +} + run_rc_command "$1"