svn commit: r473979 - in head/www/py-graphite-api: . files
Dave Cottlehuber
dch at FreeBSD.org
Thu Jul 5 18:23:24 UTC 2018
Author: dch
Date: Thu Jul 5 18:23:22 2018
New Revision: 473979
URL: https://svnweb.freebsd.org/changeset/ports/473979
Log:
www/py-graphite-api: clean up rc.d script
- fix ordering in rc.d script so that daemon doesn't hang on startup
- teach rc.d to behave when installing with multiple python & gunicorn versions
- clean up substitutions in SUB_LIST, pkg-list and *.in script
- ensure working directories are re-created on startup if required
PR: 223264
Submitted by: Horst Kapfenberger <horst.kapfenberger at agoracon.at>
Approved by: jrm
MFH: 2018Q3
Differential Revision: https://reviews.freebsd.org/D13581
Modified:
head/www/py-graphite-api/Makefile
head/www/py-graphite-api/files/graphiteapi.in
Modified: head/www/py-graphite-api/Makefile
==============================================================================
--- head/www/py-graphite-api/Makefile Thu Jul 5 17:31:36 2018 (r473978)
+++ head/www/py-graphite-api/Makefile Thu Jul 5 18:23:22 2018 (r473979)
@@ -3,11 +3,12 @@
PORTNAME= graphite-api
PORTVERSION= 1.1.3
+PORTREVISION= 1
CATEGORIES= www python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= dch at skunkwerks.at
+MAINTAINER= dch at FreeBSD.org
COMMENT= Graphite-web, without the interface - just the rendering HTTP API
LICENSE= APACHE20
@@ -24,15 +25,16 @@ RUN_DEPENDS= \
${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 @@ SUB_LIST= PORTNAME=${PORTNAME} \
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} \
Modified: head/www/py-graphite-api/files/graphiteapi.in
==============================================================================
--- head/www/py-graphite-api/files/graphiteapi.in Thu Jul 5 17:31:36 2018 (r473978)
+++ head/www/py-graphite-api/files/graphiteapi.in Thu Jul 5 18:23:22 2018 (r473979)
@@ -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 @@ rcvar="%%GRAPHITEAPI_APP%%_enable"
: ${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"
More information about the svn-ports-all
mailing list