summaryrefslogtreecommitdiff
path: root/databases/couchdb
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2014-03-11 14:34:36 +0000
committerjperkin <jperkin@pkgsrc.org>2014-03-11 14:34:36 +0000
commit76740313a3ac624b6ff51288f485f40d39d80cb1 (patch)
tree7ee5b13abb9f96749121a307db970b8b85e953da /databases/couchdb
parent6bcea5495c4b03080e1f7cff4f0d1898590b2317 (diff)
downloadpkgsrc-76740313a3ac624b6ff51288f485f40d39d80cb1.tar.gz
Import initial SMF support for individual packages.
Diffstat (limited to 'databases/couchdb')
-rw-r--r--databases/couchdb/Makefile6
-rw-r--r--databases/couchdb/files/smf/manifest.xml39
2 files changed, 44 insertions, 1 deletions
diff --git a/databases/couchdb/Makefile b/databases/couchdb/Makefile
index e5effe55843..740af46ad3a 100644
--- a/databases/couchdb/Makefile
+++ b/databases/couchdb/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.23 2014/02/12 23:17:38 tron Exp $
+# $NetBSD: Makefile,v 1.24 2014/03/11 14:34:36 jperkin Exp $
#
DISTNAME= apache-couchdb-1.5.0
@@ -42,6 +42,10 @@ COUCH_RUNDIR?= ${VARBASE}/spool/couchdb
COUCH_RUNDIR?= ${VARBASE}/run/couchdb
.endif
+FILES_SUBST+= COUCH_USER=${COUCH_USER}
+FILES_SUBST+= COUCH_GROUP=${COUCH_GROUP}
+FILES_SUBST+= COUCH_DBDIR=${COUCH_DBDIR}
+
OWN_DIRS= ${COUCH_LOGDIR} ${COUCH_DBDIR} ${COUCH_RUNDIR} ${PKG_SYSCONFDIR}
OWN_DIRS_PERMS+= ${COUCH_DBDIR} ${COUCH_USER} ${COUCH_GROUP} 0770
OWN_DIRS_PERMS+= ${COUCH_LOGDIR} ${COUCH_USER} ${COUCH_GROUP} 0770
diff --git a/databases/couchdb/files/smf/manifest.xml b/databases/couchdb/files/smf/manifest.xml
new file mode 100644
index 00000000000..a65ea028553
--- /dev/null
+++ b/databases/couchdb/files/smf/manifest.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="@SMF_NAME@">
+ <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+ <create_default_instance enabled="false" />
+ <single_instance />
+ <dependency name="network" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/milestone/network:default" />
+ </dependency>
+ <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/system/filesystem/local" />
+ </dependency>
+ <dependency name='@SMF_NAME@-epmd' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/@SMF_PREFIX@/epmd' />
+ </dependency>
+ <method_context working_directory="@COUCH_DBDIR@">
+ <method_credential user="@COUCH_USER@" group="@COUCH_GROUP@" />
+ <method_environment>
+ <envvar name="PATH" value="@PREFIX@/sbin:@PREFIX@/bin:/sbin:/usr/sbin:/usr/bin" />
+ <envvar name="HOME" value="@COUCH_DBDIR@" />
+ </method_environment>
+ </method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/bin/couchdb -b" timeout_seconds="60" />
+ <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/local.ini" />
+ </property_group>
+ <stability value="Evolving" />
+ <template>
+ <common_name>
+ <loctext xml:lang="C">CouchDB server</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>