So something like this?
I'll send py-cachetools in a separate diff.

On 11/28/18 12:07 PM, Stuart Henderson wrote:
> On 2018/11/28 08:25, Martijn van Duren wrote:
>> On 11/27/18 2:36 PM, Daniel Jakots wrote:
>>> On Tue, 27 Nov 2018 12:43:52 +0100, Martijn van Duren
>>> <openbsd+po...@list.imperialat.at> wrote:
>>>
>>>> Here's an update to databases/py-carbon.
>>>> There's experimental support for python3, but I haven't included it
>>>> here because of other dependencies which don't yet have python3
>>>> support in our tree.
>>>
>>> Which one(s)?
>>>
>> I must have goofed somewhere. It's not py-carbon directly which has
>> "issues", but py-whisper. But let's safe that discussion for that
>> threat.
>>
>> Here's an updated diff. I don't know whether mostly executable
>> python packages should be moved to python3, or if they still
>> should come in flavors, so I just made it a flavor, so we can
>> quite easily dumb it down again if we just want python3.
> 
> If it's actually useful as a library then it might be worth considering
> whether to subpackage it - have the executables as a separate package
> only built with the python3 flavour.
> 
> But if (as COMMENT implies) it's only really useful as daemon/utilties
> then I'd much prefer to just switch to py3 outright. This cuts a lot of
> complexity from Makefile, patches and PLIST, and makes it so all users
> are on recent python (rather than the "default" being old python).
> 
>> Note: carbon-aggregator{,-cache} doesn't work because it misses
>> py-cachetools, but people could get that themselves via pip, or it
>> could be added as a package in the future, so I left the plumbing in
>> as is.
> 
> Hmm. People shouldn't be installing via pip to make packages work3
> I'd prefer to either port the dep, or @comment the files that need it.
> 
>> @@ -108,3 +121,13 @@ share/examples/graphite/whitelist.conf.e
>>  @sample /var/graphite/storage/whisper/
>>  @owner
>>  @group
>> +storage/
>> +storage/ceres/
>> +storage/ceres/dummy.txt/
>> +storage/lists/
>> +storage/log/
>> +storage/log/dummy.txt/
>> +storage/rrd/
>> +storage/rrd/dummy.txt/
>> +storage/whisper/
>> +storage/whisper/dummy.txt/
> 
> It feels like these /usr/local/storage directories should not be installed,
> they are already @sample'd under /var/graphite/storage so I think should just
> be rm'd. But there are some missing @extra or @extraunexec that would be
> needed for pkg_delete -c to correctly remove files generated in this tree.
> 

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/quirks/Makefile,v
retrieving revision 1.651
diff -u -p -r1.651 Makefile
--- Makefile    27 Nov 2018 15:24:15 -0000      1.651
+++ Makefile    28 Nov 2018 12:54:48 -0000
@@ -5,7 +5,7 @@ CATEGORIES =    devel databases
 DISTFILES =
 
 # API.rev
-PKGNAME =      quirks-3.44
+PKGNAME =      quirks-3.45
 PKG_ARCH =     *
 MAINTAINER =   Marc Espie <es...@openbsd.org>
 
Index: files/Quirks.pm
===================================================================
RCS file: /cvs/ports/devel/quirks/files/Quirks.pm,v
retrieving revision 1.665
diff -u -p -r1.665 Quirks.pm
--- files/Quirks.pm     27 Nov 2018 15:24:15 -0000      1.665
+++ files/Quirks.pm     28 Nov 2018 12:54:48 -0000
@@ -288,6 +288,7 @@ my $stem_extensions = {
        'py-pafy' => 'py3-pafy',
        'py-libmagic' => 'py-magic',
        'py3-libmagic' => 'py3-magic',
+       'py-carbon' => 'py3-carbon',
 };
 
 my $obsolete_reason = {
Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/py-carbon/Makefile,v
retrieving revision 1.9
diff -u -p -r1.9 Makefile
--- Makefile    1 Nov 2017 10:44:39 -0000       1.9
+++ Makefile    28 Nov 2018 12:54:15 -0000
@@ -2,12 +2,11 @@
 
 COMMENT=               backend data caching and persistence daemon for Graphite
 
-MODPY_EGG_VERSION=     1.0.1
+MODPY_EGG_VERSION=     1.1.4
 
 DISTNAME=              carbon-${MODPY_EGG_VERSION}
 PKGNAME=               py-${DISTNAME}
 CATEGORIES=            databases
-REVISION=              0
 
 # Apache
 PERMIT_PACKAGE_CDROM=  Yes
@@ -16,19 +15,26 @@ MODULES=            lang/python
 MODPY_PI =             Yes
 
 BUILD_DEPENDS=         ${RUN_DEPENDS}
-RUN_DEPENDS=           databases/py-whisper \
-                       devel/py-twisted
+RUN_DEPENDS=           databases/py-whisper${MODPY_FLAVOR} \
+                       devel/py-cachetools${MODPY_FLAVOR} \
+                       devel/py-twisted${MODPY_FLAVOR} \
+                       www/py-urllib3${MODPY_FLAVOR}
 
-BIN_FILES=             carbon-aggregator.py carbon-cache.py carbon-client.py \
-                       carbon-relay.py validate-storage-schemas.py
+PYBINS=                        carbon-aggregator carbon-aggregator-cache 
carbon-cache \
+                       carbon-client carbon-relay validate-storage-schemas
 
-.for b in ${BIN_FILES}
-MODPY_ADJ_FILES+=      bin/$b
+MODPY_VERSION=         ${MODPY_DEFAULT_VERSION_3}
+
+.for b in ${PYBINS}
+MODPY_ADJ_FILES+=      bin/$b.py
 .endfor
 
 GRAPHITE_EGDIR=                ${PREFIX}/share/examples/graphite/
 
 SUBST_VARS+=           GRAPHITE_EGDIR MODPY_SITEPKG
+
+MODPY_DISTUTILS_INSTALL=install --prefix=${LOCALBASE} \
+                       --root=${DESTDIR} --install-lib=${MODPY_SITEPKG}
 
 NO_TEST=               Yes
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/databases/py-carbon/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- distinfo    8 Jul 2017 16:09:46 -0000       1.3
+++ distinfo    28 Nov 2018 12:54:15 -0000
@@ -1,2 +1,2 @@
-SHA256 (carbon-1.0.1.tar.gz) = JbScsdVAFC38wAY4IwjGO5Ic+J0s2EhhHkmHTN1ciUU=
-SIZE (carbon-1.0.1.tar.gz) = 61444
+SHA256 (carbon-1.1.4.tar.gz) = G3DjSsDwvTKgPuFOrx7SyFfiCJhPyXYfWalcIcUmRRM=
+SIZE (carbon-1.1.4.tar.gz) = 71819
Index: patches/patch-bin_validate-storage-schemas_py
===================================================================
RCS file: 
/cvs/ports/databases/py-carbon/patches/patch-bin_validate-storage-schemas_py,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-bin_validate-storage-schemas_py
--- patches/patch-bin_validate-storage-schemas_py       11 Oct 2012 18:00:30 
-0000      1.1.1.1
+++ patches/patch-bin_validate-storage-schemas_py       28 Nov 2018 12:54:15 
-0000
@@ -1,12 +1,13 @@
 $OpenBSD: patch-bin_validate-storage-schemas_py,v 1.1.1.1 2012/10/11 18:00:30 
jasper Exp $
---- bin/validate-storage-schemas.py.orig       Thu Oct 11 19:15:55 2012
-+++ bin/validate-storage-schemas.py    Thu Oct 11 19:16:45 2012
-@@ -22,7 +22,7 @@ if len(sys.argv) == 2:
+Index: bin/validate-storage-schemas.py
+--- bin/validate-storage-schemas.py.orig
++++ bin/validate-storage-schemas.py
+@@ -26,7 +26,7 @@ if len(sys.argv) == 2:
    SCHEMAS_FILE = sys.argv[1]
-   print "Loading storage-schemas configuration from: '%s'" % SCHEMAS_FILE
+   print("Loading storage-schemas configuration from: '%s'" % SCHEMAS_FILE)
  else:
 -  SCHEMAS_FILE = realpath(join(dirname(__file__), '..', 'conf', 
'storage-schemas.conf'))
 +  SCHEMAS_FILE = '${SYSCONFDIR}/graphite/storage-schemas.conf'
-   print "Loading storage-schemas configuration from default location at: 
'%s'" % SCHEMAS_FILE
+   print("Loading storage-schemas configuration from default location at: 
'%s'" % SCHEMAS_FILE)
  
  config_parser = ConfigParser()
Index: patches/patch-lib_carbon_conf_py
===================================================================
RCS file: /cvs/ports/databases/py-carbon/patches/patch-lib_carbon_conf_py,v
retrieving revision 1.3
diff -u -p -r1.3 patch-lib_carbon_conf_py
--- patches/patch-lib_carbon_conf_py    8 Jul 2017 16:09:46 -0000       1.3
+++ patches/patch-lib_carbon_conf_py    28 Nov 2018 12:54:15 -0000
@@ -2,15 +2,16 @@ $OpenBSD: patch-lib_carbon_conf_py,v 1.3
 Index: lib/carbon/conf.py
 --- lib/carbon/conf.py.orig
 +++ lib/carbon/conf.py
-@@ -545,6 +545,7 @@ def read_config(program, options, **kwargs):
+@@ -577,7 +577,7 @@ def read_config(program, options, **kwargs):
+     for name, value in kwargs.items():
          settings.setdefault(name, value)
  
-     graphite_root = kwargs.get("ROOT_DIR")
+-    graphite_root = kwargs.get("ROOT_DIR")
 +    graphite_root = '/var/graphite/'
      if graphite_root is None:
          graphite_root = os.environ.get('GRAPHITE_ROOT')
      if graphite_root is None:
-@@ -555,7 +556,7 @@ def read_config(program, options, **kwargs):
+@@ -588,7 +588,7 @@ def read_config(program, options, **kwargs):
      # 'GRAPHITE_CONF_DIR' environment variable.
      settings.setdefault("CONF_DIR",
                          os.environ.get("GRAPHITE_CONF_DIR",
Index: patches/patch-setup_cfg
===================================================================
RCS file: patches/patch-setup_cfg
diff -N patches/patch-setup_cfg
--- patches/patch-setup_cfg     8 Jul 2017 16:09:46 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-setup_cfg,v 1.2 2017/07/08 16:09:46 jasper Exp $
-Index: setup.cfg
---- setup.cfg.orig
-+++ setup.cfg
-@@ -4,6 +4,6 @@ requires = python-twisted
- post-install = distro/redhat/misc/postinstall
- 
- [install]
--prefix = /opt/graphite
--install-lib = %(prefix)s/lib
-+prefix = ${PREFIX}
-+install-lib = ${MODPY_SITEPKG}
- 
Index: patches/patch-setup_py
===================================================================
RCS file: /cvs/ports/databases/py-carbon/patches/patch-setup_py,v
retrieving revision 1.3
diff -u -p -r1.3 patch-setup_py
--- patches/patch-setup_py      8 Jul 2017 16:09:46 -0000       1.3
+++ patches/patch-setup_py      28 Nov 2018 12:54:15 -0000
@@ -2,20 +2,20 @@ $OpenBSD: patch-setup_py,v 1.3 2017/07/0
 Index: setup.py
 --- setup.py.orig
 +++ setup.py
-@@ -54,7 +54,7 @@ else:
- storage_dirs = [ ('storage/ceres', []), ('storage/whisper',[]),
-                  ('storage/lists',[]), ('storage/log',[]),
-                  ('storage/rrd',[]) ]
+@@ -61,7 +61,7 @@ else:
+ storage_dirs = [ ('storage/ceres/dummy.txt', []), 
('storage/whisper/dummy.txt',[]),
+                  ('storage/lists',[]), ('storage/log/dummy.txt',[]),
+                  ('storage/rrd/dummy.txt',[]) ]
 -conf_files = [ ('conf', glob('conf/*.example')) ]
 +conf_files = [ ('${GRAPHITE_EGDIR}', glob('conf/*.example')) ]
  
  install_files = storage_dirs + conf_files
  
-@@ -63,7 +63,6 @@ install_files = storage_dirs + conf_files
+@@ -70,7 +70,6 @@ install_files = storage_dirs + conf_files
  init_scripts = [ ('examples/init.d', ['distro/redhat/init.d/carbon-cache',
                                        'distro/redhat/init.d/carbon-relay',
                                        
'distro/redhat/init.d/carbon-aggregator']) ]
 -install_files += init_scripts
  
+ 
  try:
-     setup(
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/databases/py-carbon/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -r1.4 PLIST
--- pkg/PLIST   1 Nov 2017 10:44:39 -0000       1.4
+++ pkg/PLIST   28 Nov 2018 12:54:15 -0000
@@ -1,6 +1,11 @@
 @comment $OpenBSD: PLIST,v 1.4 2017/11/01 10:44:39 landry Exp $
 @newgroup _graphite:706
 @newuser _graphite:706:_graphite:daemon:Graphite and Carbon 
user:/nonexistent:/sbin/nologin
+@rcscript ${RCDIR}/carbon_aggregator
+@rcscript ${RCDIR}/carbon_aggregator_cache
+@rcscript ${RCDIR}/carbon_cache
+@rcscript ${RCDIR}/carbon_relay
+bin/carbon-aggregator-cache.py
 bin/carbon-aggregator.py
 bin/carbon-cache.py
 bin/carbon-client.py
@@ -9,75 +14,83 @@ bin/validate-storage-schemas.py
 lib/python${MODPY_VERSION}/site-packages/carbon/
 
lib/python${MODPY_VERSION}/site-packages/carbon-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
 lib/python${MODPY_VERSION}/site-packages/carbon/__init__.py
-lib/python${MODPY_VERSION}/site-packages/carbon/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}amqp_listener.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}amqp_publisher.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}cache.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}carbon_pb2.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}client.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}conf.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}database.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}events.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}hashing.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}http.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}instrumentation.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}log.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}management.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}manhole.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}pipeline.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}protobuf.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}protocols.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}regexlist.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}relayrules.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}resolver.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}rewrite.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}routers.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}service.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}state.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}storage.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/${MODPY_PYCACHE}writer.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/
 lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/__init__.py
-lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/${MODPY_PYCACHE}buffers.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/${MODPY_PYCACHE}processor.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/${MODPY_PYCACHE}rules.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/buffers.py
-lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/buffers.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/processor.py
-lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/processor.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/rules.py
-lib/python${MODPY_VERSION}/site-packages/carbon/aggregator/rules.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/amqp0-8.xml
 lib/python${MODPY_VERSION}/site-packages/carbon/amqp_listener.py
-lib/python${MODPY_VERSION}/site-packages/carbon/amqp_listener.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/amqp_publisher.py
-lib/python${MODPY_VERSION}/site-packages/carbon/amqp_publisher.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/cache.py
-lib/python${MODPY_VERSION}/site-packages/carbon/cache.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/carbon_pb2.py
-lib/python${MODPY_VERSION}/site-packages/carbon/carbon_pb2.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/client.py
-lib/python${MODPY_VERSION}/site-packages/carbon/client.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/conf.py
-lib/python${MODPY_VERSION}/site-packages/carbon/conf.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/database.py
-lib/python${MODPY_VERSION}/site-packages/carbon/database.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/events.py
-lib/python${MODPY_VERSION}/site-packages/carbon/events.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/exceptions.py
-lib/python${MODPY_VERSION}/site-packages/carbon/exceptions.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/hashing.py
-lib/python${MODPY_VERSION}/site-packages/carbon/hashing.pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/http.py
 lib/python${MODPY_VERSION}/site-packages/carbon/instrumentation.py
-lib/python${MODPY_VERSION}/site-packages/carbon/instrumentation.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/log.py
-lib/python${MODPY_VERSION}/site-packages/carbon/log.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/management.py
-lib/python${MODPY_VERSION}/site-packages/carbon/management.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/manhole.py
-lib/python${MODPY_VERSION}/site-packages/carbon/manhole.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/pipeline.py
-lib/python${MODPY_VERSION}/site-packages/carbon/pipeline.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/protobuf.py
-lib/python${MODPY_VERSION}/site-packages/carbon/protobuf.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/protocols.py
-lib/python${MODPY_VERSION}/site-packages/carbon/protocols.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/regexlist.py
-lib/python${MODPY_VERSION}/site-packages/carbon/regexlist.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/relayrules.py
-lib/python${MODPY_VERSION}/site-packages/carbon/relayrules.pyc
+lib/python${MODPY_VERSION}/site-packages/carbon/resolver.py
 lib/python${MODPY_VERSION}/site-packages/carbon/rewrite.py
-lib/python${MODPY_VERSION}/site-packages/carbon/rewrite.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/routers.py
-lib/python${MODPY_VERSION}/site-packages/carbon/routers.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/service.py
-lib/python${MODPY_VERSION}/site-packages/carbon/service.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/state.py
-lib/python${MODPY_VERSION}/site-packages/carbon/state.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/storage.py
-lib/python${MODPY_VERSION}/site-packages/carbon/storage.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/util.py
-lib/python${MODPY_VERSION}/site-packages/carbon/util.pyc
 lib/python${MODPY_VERSION}/site-packages/carbon/writer.py
-lib/python${MODPY_VERSION}/site-packages/carbon/writer.pyc
+lib/python${MODPY_VERSION}/site-packages/twisted/plugins/${MODPY_PYCACHE}carbon_aggregator_cache_plugin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/twisted/plugins/${MODPY_PYCACHE}carbon_aggregator_plugin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/twisted/plugins/${MODPY_PYCACHE}carbon_cache_plugin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/twisted/plugins/${MODPY_PYCACHE}carbon_relay_plugin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_aggregator_cache_plugin.py
 
lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_aggregator_plugin.py
-lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_aggregator_plugin.pyc
 lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_cache_plugin.py
-lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_cache_plugin.pyc
 lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_relay_plugin.py
-lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_relay_plugin.pyc
 share/examples/graphite/
 @sample ${SYSCONFDIR}/graphite/
 share/examples/graphite/aggregation-rules.conf.example
Index: pkg/carbon_aggregator.rc
===================================================================
RCS file: pkg/carbon_aggregator.rc
diff -N pkg/carbon_aggregator.rc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/carbon_aggregator.rc    28 Nov 2018 12:54:15 -0000
@@ -0,0 +1,26 @@
+#!/bin/ksh
+#
+# $OpenBSD: $
+
+daemon="/usr/local/bin/carbon-aggregator.py"
+daemon_user="_graphite"
+
+. /etc/rc.d/rc.subr
+
+rc_usercheck=NO
+
+rc_check() {
+       ${rcexec} "${daemon} ${daemon_flags} status"
+}
+
+rc_reload=NO
+
+rc_start() {
+       ${rcexec} "${daemon} ${daemon_flags} start"
+}
+
+rc_stop() {
+       ${rcexec} "${daemon} stop"
+}
+
+rc_cmd $1
Index: pkg/carbon_aggregator_cache.rc
===================================================================
RCS file: pkg/carbon_aggregator_cache.rc
diff -N pkg/carbon_aggregator_cache.rc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/carbon_aggregator_cache.rc      28 Nov 2018 12:54:15 -0000
@@ -0,0 +1,26 @@
+#!/bin/ksh
+#
+# $OpenBSD: $
+
+daemon="/usr/local/bin/carbon-aggregator-cache.py"
+daemon_user="_graphite"
+
+. /etc/rc.d/rc.subr
+
+rc_usercheck=NO
+
+rc_check() {
+       ${rcexec} "${daemon} ${daemon_flags} status"
+}
+
+rc_reload=NO
+
+rc_start() {
+       ${rcexec} "${daemon} ${daemon_flags} start"
+}
+
+rc_stop() {
+       ${rcexec} "${daemon} stop"
+}
+
+rc_cmd $1
Index: pkg/carbon_cache.rc
===================================================================
RCS file: pkg/carbon_cache.rc
diff -N pkg/carbon_cache.rc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/carbon_cache.rc 28 Nov 2018 12:54:15 -0000
@@ -0,0 +1,26 @@
+#!/bin/ksh
+#
+# $OpenBSD: $
+
+daemon="/usr/local/bin/carbon-cache.py"
+daemon_user="_graphite"
+
+. /etc/rc.d/rc.subr
+
+rc_usercheck=NO
+
+rc_check() {
+       ${rcexec} "${daemon} ${daemon_flags} status"
+}
+
+rc_reload=NO
+
+rc_start() {
+       ${rcexec} "${daemon} ${daemon_flags} start"
+}
+
+rc_stop() {
+       ${rcexec} "${daemon} stop"
+}
+
+rc_cmd $1
Index: pkg/carbon_relay.rc
===================================================================
RCS file: pkg/carbon_relay.rc
diff -N pkg/carbon_relay.rc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/carbon_relay.rc 28 Nov 2018 12:54:15 -0000
@@ -0,0 +1,26 @@
+#!/bin/ksh
+#
+# $OpenBSD: $
+
+daemon="/usr/local/bin/carbon-relay.py"
+daemon_user="_graphite"
+
+. /etc/rc.d/rc.subr
+
+rc_usercheck=NO
+
+rc_check() {
+       ${rcexec} "${daemon} ${daemon_flags} status"
+}
+
+rc_reload=NO
+
+rc_start() {
+       ${rcexec} "${daemon} ${daemon_flags} start"
+}
+
+rc_stop() {
+       ${rcexec} "${daemon} stop"
+}
+
+rc_cmd $1

Reply via email to